函数的定义
函数代码块以 def 关键词开头,后接函数名称和圆括号 ()。 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 函数内容以冒号起始,并且缩进。 return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None,返回多个值时调用方将获取一个tuple(元组)。
def 函数名称([形参]):
"""
[函数的说明文字信息]
"""
[函数体]
return [表达式]
函数名称([实参])
空函数:一个什么事也不做的函数,用来占位,函数体就是一个pass语句。
def nop():
pass
函数的参数
参数的作用
函数调用的时候,给函数传递若干个变量。
参数的分类
参数可分为形参和实参两种类型。
形参
在函数定义的时候,需要准备一些变量来接收信息。
- 位置参数, 按照位置一个一个的去声明变量
def run(name, length):
print('%s跑步%d公里' % (name, length))
- 默认值参数, 在函数声明的时候给变量一个默认值, 如果实参不传递信息. 此时默认值生效, 否则就不生效
def info(name, age, gender='男'):
print(name, age, gender)
info('张无忌', 20)
info('张三丰', 70)
info('赵敏', 18, gender='女')
- 动态传参.
*args, 表示接收所有的位置参数的动态传参
def meeting(name, *args):
print('会议主持:', name)
print('与会人员:', args)
meeting('张无忌', '谢逊', '张三丰', '赵敏', '周芷若')
'''
会议主持: 张无忌
与会人员: ('谢逊', '张三丰', '赵敏', '周芷若')
'''
meeting('许三多', '伍六一', '甘小宁', '马小帅')
'''
会议主持: 许三多
与会人员: ('伍六一', '甘小宁', '马小帅')
'''
** kwargs,表示接收所有的关键字的动态传参
def book_info(name, **kwargs):
print('书名:', name)
print('信息:', kwargs)
book_info('红楼梦', author='曹雪芹', time='清代', words='约96万')
'''
书名: 红楼梦
信息: {'author': '曹雪芹', 'time': '清代', 'words': '约96万'}
'''
book_info('西游记', author='吴承恩', time='明代')
'''
书名: 西游记
信息: {'author': '吴承恩', 'time': '明代'}
'''
- 顺序
位置 > *args > 默认值 > **kwargs
【注】上述参数可以随意搭配使用
实参
实际在调用的时候传递的信息
- 位置参数:按照位置进行传递参数
def run(name, length):
print('%s跑步%d公里' % (name, length))
run('李四', 2)
run('王五', 5)
- 关键字参数:按照参数的名字进行传递参数
def info(name, age, gender):
print(name, age, gender)
info(name='赵敏', age=18, gender='女')
info(age=20, name='张无忌', gender='男')
- 混合参数:位置参数与关键字参数一起使用
open("xxxx", mode="xx", encoding="xxx")
- 顺序
位置参数放前面, 关键字参数放后面
【注】实参在执行的时候. 必须要保障形参有数据
参数的其它情况
def func(*args, **kwargs):
print(args, kwargs)
people = ['许三多', '史今', '伍六一', '成才', '甘小宁', '马小帅']
def func(*args):
print(args)
func(*people)
函数的返回值
函数执行之后,会给调用方一个结果,这个结果就是返回值。
函数只要执行到了return,便会立即停止并返回内容,return后面的代码不再执行。 如果函数内没有return , 此时外界收到的是None; 如果写了return: 1.只写了return, 后面不跟数据, 此时接收到的依然是None -> 相当于break 2. return 值 , 此时表示函数有一个返回值, 外界能够收到一个数据 -> 用的最多 3. return 值1, 值2, 值3..... , 此时函数有多个返回值, 外界收到的是元组, 并且该元组内存放所有的返回值。
|