Python自学之函数参数总结
来源:互联网 发布:再也没有 知乎 编辑:程序博客网 时间:2024/06/05 07:53
Python中定义的函数可以使用必选参数、默认参数、可变参数、命名关键字参数和关键字参数,使用的顺序也服从上述排列。
1-必选参数
def func(x): print(x)
2-默认参数
def func(x,n = 2): print(x,n)
调用时:
>>>func(20)20 2>>>func(20,5)20 5
3-可变参数
def func(*value): print(value)
可变参数,顾名思义就是可以传入0-任意个参数,也可以传入一个list或tuple
调用:
>>>func(1,2,3)1 2 3>>>b = [1,2,3]>>>func(*b)1 2 3
4-关键字参数
关键字参数与可变参数可以说大部分一样,不同的是可变参数会将传入的参数组装成list,而关键字参数会将传入的参数组装成dict
def func(n,**dict): print(n,dict)
调用
>>>func(12,x='1',y='2')12 {'x':'1',y':'2'}>>>dic = {'x':'1','y':'2'}>>>func(12,**dic)12 {'x':'1',y':'2'}
5-命名关键字参数
命名关键字参数的作用是限制传入的关键字参数,也就是说你只能输入特殊固定的键值对,如果函数定义中有可变参数,那么命名关键字参数紧跟其后,如果没有可变参数,需要增加一个 ,*,来区分位置参数和关键字参数
def func(x,y,*,height,width): #限制只传入key = height和width print(x,y,height,width)
Tips
1-默认参数必须指向不变对象;(list是可变对象)
原因:函数在定义的时候默认参数的值就已经是个占用内存的变量了,函数被调用时,如果默认参数是可变的list,那么在每次调用函数之后默认参数的值都会发生改变。
Eg.
def add_list(l =[]): #传入的默认参数是可变参数list l.append('end') print(l)
可以这样修改:
def add_list(l = None): #将默认参数置为None不可变参数 if l is None: #如果选择使用默认参数,就置为list l = [] l.append('end') print(l)
阅读全文
0 0
- Python自学之函数参数总结
- 自学Python之函数
- python函数之_默认值参数总结
- Python函数参数总结
- python之参数总结
- Python之函数-参数
- 【笔记】Python 3自学笔记之函数
- Java自学总结之四结构函数
- 自学python(4)函数概述,参数,可变参数,关键字参数,组合参数,递归函数
- python函数参数类型总结
- python 自学总结
- python自学总结
- python之函数参数传递
- python函数之参数传递
- python函数参数之_可变参数
- python自学笔记之7编写函数、print、版本差距
- python自学之异常
- python自学之文件
- PCM数据格式
- DOM-4 Element新增、修改、表单提交、定时器
- 字符串练习
- xmpp来回交换登录退出2个账号异常,还未解决
- web安全-xss漏洞的原理和解决方案
- Python自学之函数参数总结
- 51NOD 1625 夹克爷发红包 (贪心+dfs)
- 搜索--20
- 聊天机器人中的深度学习
- 最值得看的十大机器学习公开课
- 自定义漂亮的toast
- Kotlin 之hello world篇
- web安全——CSRF漏洞原理和解决方案
- |poj 1523|割顶|[HAOI2015]SPF