函数的定义
以下规则
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
- 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None
函数的特性
- 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
- 函数能提高应用的模块性,和代码的重复利用率。
- Python提供了许多【内建函数】,比如print()。
- 也可以自己创建函数,这被叫做用户【自定义函数】。
1、减少代码重复
2、方便修改,可扩展
3、保持代码一致性,易维护
函数即变量
1 # 定义函数 2 def func(): 3 print("我的函数") 4 # 函数即变量 5 print(func) # <function func at 0x04F75E40> 6 # 调用函数 7 func() # 我的函数
函数的参数
- 无参数
- 形参:
- 实参:
- 位置参数【必需参数】:按正确顺序传入
- 关键参数:
- 默认参数:
1 # 关键参数,必需放置在位置参数之后 2 # 默认参数,放置在其他参数之后 3 def print_info(name,age,sex='男'): # 默认参数sex 4 print("Name:%s,Age:%d,Sex:%s"%(name,age,sex)) 5 6 # 位置参数【必需参数】 7 print_info('yuan',18) # Name:yuan,Age:18,Sex:男 8 # 关键参数 9 print_info(age=18,name="yuan") # Name:yuan,Age:18,Sex:男 10 # 默认参数【修改并设置】 11 print_info('Lucy',18,'女') # Name:Lucy,Age:18,Sex:女
- 非固定参数
- *args:把所有【多】传入的【位置】参数都整合到元祖,可为空。
- **kwargs:把所有【多】传入的【关键】参数都整合到字典,可为空。
1 #######################--*args--############################ 2 # 把所有【多】传入的【位置】参数都整合到元祖 3 def f(*args): 4 print(args) 5 f(1,2,(2,4),[6,7]) # (1, 2, (2, 4), [6, 7]) 6 #######################--**kwargs--######################### 7 # 把所有【多】传入的【关键】参数都整合到字典 8 def ff(**kwargs): 9 print(kwargs) 10 ff(name='yuan',age=18,sex='女') 11 # {'name': 'yuan', 'age': 18, 'sex': '女'}
函数的返回值
- 函数中,return 不设置 或 无return 时,系统默认返回None,即 return None。
- 如果return返回多个对象,那么python会帮我们把对个对象整合成元祖
设置返回值事,例如:return ‘你好’,调用函数时,返回某个对象,用变量接收。
1 def fu(): 2 return "你好" 3 4 s = fu() 5 print(s) # 你好
作用:
1、结束函数
2、返回某个对象