关键字参数
>>> def SaySome(name,words):
print(name + '->' +words)
>>> SaySome('我爱你','你信吗')
我爱你->你信吗
>>> SaySome('你信吗','我爱你')
你信吗->我爱你
>>> SaySome(words = '你信吗', name = '我爱你')
我爱你->你信吗
#通过关键字改变位置
>>> def SaySome(name= '我爱你',words = '你信吗'):
print(name + '->' +words)
>>> SaySome()
我爱你->你信吗
>>> SaySome('傻逼')
傻逼->你信吗
>>> SaySome('傻逼','哈哈哈')
傻逼->哈哈哈
关键字参数是在函数调用的时候,通过参数名定制需要赋值的函数,
默认参数,就是忘记时,会找初始参数
收集参数 用 *
>>> def test(*params):
print('参数的长度是:',len(params));
print('第二个参数是:',params[1]);
>>> test(1,'小甲鱼',3.14,6,7,8)
参数的长度是: 6
第二个参数是: 小甲鱼
>>> def test(*params,exp): #增加一个参数没收集到
print('参数的长度是:',len(params),exp);
print('第二个参数是:',params[1]);
#所有值都给params了,其他参数必须要设置为默认参数
>>> test(1,'小甲鱼',3.14,6,7,exp =8)
参数的长度是: 5 8
第二个参数是: 小甲鱼
>>> def test(*params,exp = 8): #默认参数不容易出错
print('参数的长度是:',len(params),exp);
print('第二个参数是:',params[1]);
>>> test(1,'小甲鱼',3.14,6,7,8)
参数的长度是: 6 8
第二个参数是: 小甲鱼
函数与过程
函数(function):有返回值
过程(procedure)是简单的,特殊并且没有返回值
python只有函数,没有过程
>>> def hello():
print('hello world')
>>> temp = hello()hello world>>> temp>>> print(temp)None>>> type(temp) 默认值为None
>>> def back():
return[1,'小可爱',3.14]
>>> back()
[1, '小可爱', 3.14] 返回多个值
在函数内部可以访问全局变量,但不能改变,