python动态参数用法实例分析

本文实例讲述了python动态参数用法。分享给大家供大家参考。具体分析如下:

先来看一段代码:

class Person:    def __init__(self,*pros,**attrs):      self.name = "jeff"      self.pros = pros      for (key,value) in attrs.items():        stm = "self.%s = /"%s/""% (key,value)        exec(stm)    if __name__ == "__main__":      jeff = Person(1,2,3,sex="boy")      print jeff.pros      print jeff.sex      print dir(jeff)  

登录后复制

打印出来的内容是:

(1, 2, 3)boy['__doc__', '__init__', '__module__', 'name', 'pros', 'sex']

登录后复制

python不定参数:

参数以一个*号开头的代表着一个任意长度的数组,可以接收连续一串参数,如上面代码里传的是1,2,3,你可以更多。

立即学习“Python免费学习笔记(深入)”;

参数以两个*号开头的代表着一个字典,参数的形式是“key=value”,接受连续任意多个参数。

在函数内,我们就可以把前者当作一个元组来处理,打印结果看得出来是一个元组。注意,调用方法是参数不定长,而在方法执行的时候,长度已定了,所以是元组。同时,我们可以把后者当作一个字典来处理。

示例代码里使用可变长参数实现了一个类属性的个性化定制,对于一个Person类,你可以通过传入字典类型的参数使这个类有更多原来不存在的属性,实现方法 是用了exec方法,目前只能通过字符串的参数。这里只是展示了可变参数的使用及exec的神奇力量。真正的函数不应该允许任意用户自定义属性的,可变参 数的目的是为定义函数方便及调用函数时,参数传入形式更自由而已。

希望本文所述对大家的Python程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2298505.html

(0)
上一篇 2025年2月28日 03:59:40
下一篇 2025年2月23日 23:29:04

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论