定义函数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