第十三天学习:函数(1)
1、函数定义规则:
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
- 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None
实例:
def sum(x, y): print('x= {}'.format(x)) print('y= {}'.format(y)) return x+y s = sum(4,6) print(s)
2、函数参数
(1)关键字参数
使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值
# vim 7_3.py #!/usr/bin/env python def f(name, age): print('name: {}'.format(name)) print('age: {}'.format(age)) return f(name='john', age=18) f(age=16, name='xiaoming') # python 7_3.py name: john age: 18 name: xiaoming age: 16
(2)缺省参数
调用函数时,缺省参数的值如果没有传入,则被认为是默认值
# cat 7_3.py #!/usr/bin/env python def f(name, age=18): print('name: {}'.format(name)) print('age: {}'.format(age)) return f(name='john', age=20) f(name='xiaoming') # python 7_3.py name: john age: 20 name: xiaoming age: 18
(3)不定长参数
#参数为tuple # cat 7_3.py #!/usr/bin/env python def fun(a,b,*c): print(a) print(b) print(c) fun(1,2,3,4,5,6) li = (9,8,7,6) fun(1,3,*li) # python 7_3.py 1 2 (3, 4, 5, 6) 1 3 (9, 8, 7, 6) #参数为dict # cat 7_3_1.py #!/usr/bin/env python def func(a,b,**c): print(a) print(b) print(c) func(1,2,x=4,y=6,z=9) dic = {'x':11, 'y':22, 'z':33} func(1,2,**dic) # python 7_3_1.py 1 2 {'y': 6, 'x': 4, 'z': 9} 1 2 {'y': 22, 'x': 11, 'z': 33}