python之函数参数的分类
2022/1/6 17:11:28
本文主要是介绍python之函数参数的分类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
函数参数的两大分类
1. 形式参数 在函数定义阶段从左往右依次写入的变量名就叫形式参数,简称"形参" def func(a,b): pass # 这里的a和b就是形式参数,形参 2. 实际参数 在函数调用阶段从左往右依次写入的变量值就叫实际参数,简称"实参" func(1, 2) # 这里的1和2就是实际参数 ''' 形参和实参是什么样的关系 形参相当于变量名,实参相当于变量值 他们两个在函数调用阶段临时绑定,函数运行结束立马断开联系 ''' # 形参的表现形式就一种 # 实参的表现形式有多种
位置参数
位置参数 # 从左往右依次写入的数据就是位置参数 位置形参 # 在定义函数的时候,从左往右依次写入的变量名就是位置形参 位置实参 # 在函数调用阶段,从左往右依次写入的变量值就是位置实参 # 写一个可以比较两个数字大小的函数,哪个大返回哪个值 def my_max(a, b): print(a, b) if a > b: return a else: return b res = my_max(1, 2) print(res) # 关键字实参 my_max(b=1, a=2) # 关键字参数 通过形参名=变量值的形式传递 ''' 位置形参和位置实参的关系: 位置实参从左往右依次传递给位置实参(一一对应) '''
默认参数
默认形参: 在函数定义阶段,两种情况: 1. 如果你没有给形参传递值,就使用默认的 2. 如果你给形参传递了值,就使用你给的 # 用户注册功能: def register(name, age, gender='male'): print('%s:%s:%s' % (name, age, gender)) # 练习题2: x = 100 def index(a, b, c=x): print(a, b, c) x = 200 index(1, 2) ''' 第一种解释: 函数在定义阶段,已经把值固定死了 第二种解释: 变量名与变量值在内存中的关系判断 '''
可变长参数
1. 无论我在函数调用阶段传递多少个位置实参都可以 def index(x, y, *a): print(x, y) print(a) # index(1, 2, 3, 4) # index(1, 2, 3, 4, 5, 6, 7, 8) # index() # index(1, 2, 3) # index(1, 2, 3, 4, 5, 6) # index() index(1, 2) index(1, 2, 3, 4, 5, 6) ''' *在形参中的使用: 接收多余的位置实参,把多余的实参赋给*号后面的变量名,(元组形式) ''' 2. 无论我在函数调用阶段传递多少个关键字实参都可以 # 2. 无论我在函数调用阶段传递多少个关键字实参都可以 def index(a, b, **x): print(x) # index() # {} index(a=1, b=2, c=3) # {'a': 1, 'b': 2, 'c': 3} ''' **号在形参中的使用: 接收多余的关键字参数,把多余的关键字参数赋给了**号后面的变量名,以字典的格式 ''' 3. 无论我在函数调用阶段传递多少个位置参数和关键字参数都可以 def index(u, z=100, *a, **b, ): print(a) print(b) print(u) # index() index(1, 2, x=1, y=2) ''' 默认参数只要不放在**后面都可以 *号后面和**号后面的变量名可以任意命名 但是,在python中推荐使用 *args => arguments **kwargs => keyword arguments def func(a, b, c, *args, **kwargs): pass ''' # *号和**号在实参中的使用: def index(a, b, c): # print(args) print(a, b, c) # l = [11, 22, 33] t = (11, 22, 33) # index(l) # index(l[0], l[1], l[2]) # index(11, 22, 33) # index(*l) # index(11, 22, 33) '''**号在实参中的使用''' def func(username, password): print(username, password) d = {'username': 'jason', 'password': 222} # func(d['x'], d['y']) func(**d) # func(username='jason',password=222) func(username='jason', password=222)
这篇关于python之函数参数的分类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享
- 2024-12-19Python资料:新手入门的全面指南
- 2024-12-19Python股票自动化交易实战入门教程
- 2024-12-19Python股票自动化交易入门教程
- 2024-12-18Python量化入门教程:轻松掌握量化交易基础知识