定义函数def
>>> def MyfirstFunction():
print('第一个函数')
>>> MyfirstFunction()
第一个函数
函数的参数
>>> def MySecondFunction(name):
print(name + 'IloveYou')
>>> MySecondFunction('wc')
wcIloveYou
>>> def add(num1,num2):
return (num1 + num2)
>>> add(1,2)
3
形参和实参
形式参数(parameter)
实际参数(argument)
>>> def MySecondFunction(name): 函数定义过程中的name叫形参
print(name + 'IloveYou')
>>> MySecondFunction('tingting') 传递进来的tingting叫做实参,因为他是具体的参数值
tingtingIloveYou
函数文档
>>> def MySecondFunction(name):
'测试测试'
print(name + 'IloveYou')
'测试函数文档'
>>> MySecondFunction.__doc__
'测试测试'
函数关键字
>>> def saysome(name, word):
print(name + '改变' + word)
>>> saysome('世界','tingting')
世界改变tingting
>>> saysome(word='世界',name='tingting')
tingting改变世界
默认参数
>>> def saysome(name='我', word='世界'):
print(name + '改变' + word)
>>> saysome()
我改变世界
>>> saysome('苍老师','教育')
苍老师改变教育
收集参数(可变参数)
>>> def test(*params):
print('参数的长度是:',len(params));
print('第二个参数是:',params[1])
>>> test(2,'aaa','测试测试',3.1415)
参数的长度是: 4
第二个参数是: aaa
>>> def test2(*num,other): 收集参数后还需要有其他参数,那需要把其他参数定义为默认参数
print('第一个参数为:',num)
print('第二个参数为:',other)
>>> test2(1,2,'aaa',5,90,54)
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
test2(1,2,'aaa',5,90,54)
TypeError: test2() missing 1 required keyword-only argument: 'other'
>>> test2(1,2,'aaa',5,90,54,other = 'bbbb')
第一个参数为: (1, 2, 'aaa', 5, 90, 54)
第二个参数为: bbbb