python 日记 day9 函数
s = '金老板' def my_len(): 函数命名。 接收参数又叫形式参数。 i = 0 for k in s: i +=1 return i my_len()---------------调用函数 length = my_len() -----传递参数又叫实际参数 print(length)
函数的特点:
定义了之后可以咋任何需要它的地方调用。
对比len():1.len不能变,只能计算。
2.只是输出结果。
3.没有返回长度只是单纯的打印。
返回值的三种情况:
1.无返回值-----a.只写return b.不写return
2.返回一个值----a.可以返回任何数据类型 b.只要返回了就可以接收
3.返回多个值
返回值用多个变量接收,有多少返回值用多少变量接收。
返回多个值用一个变量接收,返回值组成元组。
调用函数 def mylen(): s = 'hello word' length = 0 for i in s: length +=1 return length strlen = mylen() print(strlen:%s'%strlen)
return 关键字的作用
return是一个关键字,在pycharm里你会看到他变蓝色了。a.可以结束一个函数。 b . 当没有返回值时,默认返回none。
c.如果一个程序中有多个return时,只执行第一个return。
函数的参数:
def func(*args):------*args 动态参数,接收的是按照位置参数的值,组成一个元组。 print(args) func(1,2,3,[1,2,])
def func(**kwargs):---接收的是按照关键字传递的参数的值,组成一个字典。 print(kwargs) func(a=[1,2])
def classmate(name,sex): print('%s:%s'%(name,sex)) classmate('erge','nan')
站在实际参数角度上:
1.按位置传参 2.按照关键字传参。 3.1和2可以混用,但必须先用位置传参,再按关键字传参,不能给同一个变量传多个值。
站在形参的角度上;
位置参数:必须传,且有几个参数传几个值。
默认参数属于关键字参数。
在定义函数时
1.位置参数:直接定义参数。
2.默认参数:参数名=‘默认值’
定义顺序;需先定义位置参数再定义*args参数,再定义关键字参数,再定义**kwargs参数.
3.动态参数:可以接收任意多个参数,参数名前加*,习惯参数名args.
def func(*args):-----站在形参的角度上加*,就是组合传来的值 print(args) func(1,2,3) l = [1,2,3,4] func(*l)---------站在实参的角度上,给一个序列加上*,就是将这个序列按顺序打散