python动态参数用法实例分析


Posted in Python onMay 25, 2015

本文实例讲述了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,你可以更多。

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

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

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

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

Python 相关文章推荐
python调用cmd复制文件代码分享
Dec 27 Python
python实现通过pil模块对图片格式进行转换的方法
Mar 24 Python
Python操作Access数据库基本步骤分析
Sep 19 Python
关于Python中Inf与Nan的判断问题详解
Feb 08 Python
Python2.7下安装Scrapy框架步骤教程
Dec 22 Python
matplotlib.pyplot绘图显示控制方法
Jan 15 Python
Python GUI编程完整示例
Apr 04 Python
python图像处理入门(一)
Apr 04 Python
PyTorch之图像和Tensor填充的实例
Aug 18 Python
使用tkinter实现三子棋游戏
Feb 25 Python
用 Python 定义 Schema 并生成 Parquet 文件详情
Sep 25 Python
使用python求解迷宫问题的三种实现方法
Mar 17 Python
Python文件去除注释的方法
May 25 #Python
python提取页面内url列表的方法
May 25 #Python
python实现批量改文件名称的方法
May 25 #Python
python基于右递归解决八皇后问题的方法
May 25 #Python
python基于urllib实现按照百度音乐分类下载mp3的方法
May 25 #Python
Python输出9*9乘法表的方法
May 25 #Python
Python批量重命名同一文件夹下文件的方法
May 25 #Python
You might like
php中ob_get_length缓冲与获取缓冲长度实例
2014/11/20 PHP
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
2015/12/19 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
2020/05/02 PHP
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
原生js三级联动的简单实现代码
2016/06/07 Javascript
jQuery实现的图片轮播效果完整示例
2016/09/12 Javascript
详解Node全局变量global模块
2017/09/28 Javascript
javascript使用链接跨域下载图片
2019/11/01 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
[55:48]VGJ.S vs TNC Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
Python并行分布式框架Celery详解
2018/10/15 Python
python中有关时间日期格式转换问题
2019/12/25 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
python中doctest库实例用法
2020/12/31 Python
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
C语言变量的命名规则都有哪些
2013/12/27 面试题
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
自荐信不宜过于夸大
2013/11/06 职场文书
初中三年学生的学习自我评价
2013/11/13 职场文书
师德模范事迹材料
2014/06/03 职场文书
2014年科研工作总结
2014/12/03 职场文书
班主任寄语2015
2015/02/26 职场文书
社区文明倡议书
2015/04/28 职场文书
国王的演讲观后感
2015/06/03 职场文书
2015迎新晚会开场白
2015/07/17 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书
使用refresh_token实现无感刷新页面
2022/04/26 Javascript