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的常见命令注入威胁
Feb 18 Python
Python的print用法示例
Feb 11 Python
python迭代器实例简析
Sep 25 Python
Python自动重试HTTP连接装饰器
Apr 28 Python
Python可变参数用法实例分析
Apr 02 Python
python实现csv格式文件转为asc格式文件的方法
Mar 23 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
Apr 05 Python
Python实现将多个空格换为一个空格.md的方法
Dec 20 Python
Django 拆分model和view的实现方法
Aug 16 Python
django 使用 PIL 压缩图片的例子
Aug 16 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
Nov 08 Python
python爬虫基础知识点整理
Jun 02 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不用正则采集速度探究总结
2008/03/24 PHP
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
PHP与Java进行通信的实现方法
2013/10/21 PHP
PHP将字符串首字母大小写转换的实例
2017/01/21 PHP
微信企业转账之入口类分装php代码
2018/10/01 PHP
checkbox 复选框不能为空
2009/07/11 Javascript
js 函数的副作用分析
2011/08/23 Javascript
ie下$.getJSON出现问题的解决方法
2014/02/12 Javascript
Javascript中使用parseInt函数需要注意的问题
2015/04/02 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
2015/12/17 Javascript
javascript中获取class的简单实现
2016/07/12 Javascript
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
2019/04/10 Javascript
js实现随机8位验证码
2020/07/24 Javascript
JS实现移动端双指缩放和旋转方法
2019/12/13 Javascript
python批量修改文件名的实现代码
2014/09/01 Python
Python2.x中文乱码问题解决方法
2015/06/02 Python
python简单实现操作Mysql数据库
2018/01/29 Python
python使用tkinter实现简单计算器
2018/01/30 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
Python Unittest根据不同测试环境跳过用例的方法
2018/12/16 Python
将python2.7添加进64位系统的注册表方式
2019/11/20 Python
使用TensorFlow-Slim进行图像分类的实现
2019/12/31 Python
浅谈tensorflow 中tf.concat()的使用
2020/02/07 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
Python datetime 格式化 明天,昨天实例
2020/03/02 Python
css3弹性盒模型(Flexbox)详细介绍
2014/10/08 HTML / CSS
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
英国剑桥包官网:The Cambridge Satchel Company
2016/08/01 全球购物
大学同学聚会邀请函
2014/01/29 职场文书
保护环境倡议书500字
2014/05/19 职场文书
药店促销活动总结
2014/07/10 职场文书
工作骂脏话检讨书
2014/10/05 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
大学生安全教育主题班会
2015/08/12 职场文书