位置: 编程技术 - 正文
推荐整理分享小议Python中自定义函数的可变参数的使用及注意点(python怎么自定义函数),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python自定函数,python怎么自定义模块,python3自定义函数,python自定义数据操作,python自定义,python怎么自定义模块,python怎么自定义模块,python自定函数,内容如对您有帮助,希望把文章链接给更多的朋友!
可变参数
Python的可变参数有两种,一种是列表类型,一种是字典类型。列表类型类似 C 中的可变参数,定义方式为
其中 args 是一个 tuple。字典类型的可变参数:
其中 args 是一个 dictionary可以分别传递 tuple 和 dictionary 给相应的可变参数,格式如下
带默认参数的函数
函数的带默认值参数能够很大程度上方便我们使用:一般情况下可以省略传参使用参数的默认值,也可以主动传参;调用的时候也不用在意参数的顺序方便使用,并且直接、显式;甚至还能用来当作魔法值,做一些逻辑上的控制。
但是由于python的默认值参数只会在函数定义处被解析一次,此后每次调用函数的时候,默认值参数都会是这个值了。碰到一些不可变的数据类型比如:整型,字符串,元祖之类的还好,但如果碰到可变类型的数据比如数组的话,就会有发生一些意想不到的事情。让我们举一个简单的例子说明一下:
很显然如果你是想每次调用函数都能得到一个新的包含期望结果的数组,肯定不能如愿了。函数add_to的参数target在函数第一次被解析的时候会被赋值成空的数组,因为只会被解析一次,以后每次调用的时候都会在这个target变量的基础上进行操作,变量的id值也完全一样。想要得到预期的结果,可以为这种可变数据类型的参数指定一个None来表示空值:
在python的世界里,参数是按标识符传递(粗暴点解释就是按引用传递的),你需要担心的是参数的类型是否是可变的:
可变的数据类型,函数局部作用域里面的任何改变会保留在数据上;不可变的数据类型,发生的任何改变都只会体现在新生成的局部变量上,如同上面的列子中所示的效果,读者可以对比一下。
常见python正则用法的简单实例 下面列出Python正则表达式的几种匹配用法:1.测试正则表达式是否匹配字符串的全部或部分regex=ur""#正则表达式ifre.search(regex,subject):do_something()else:do_anothe
对比Python中__getattr__和 __getattribute__获取属性的用法 相信大家觉得大多数时候我们并不太需要关注getattribute和getattr的一些细节(至少我自己吧:)),一般情况下消费我们自定义的类的时候,我们对类的结构
浅谈Python中函数的参数传递 1.普通的参数传递defadd(a,b):returna+bprintadd(1,2)3printadd('abc','')abc.参数个数可选,参数有默认值的传递defmyjoin(string,sep='_'):returnsep.join(string)myjoin('Test')'T_e_
标签: python怎么自定义函数
本文链接地址:https://www.jiuchutong.com/biancheng/387705.html 转载请保留说明!友情链接: 武汉网站建设