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和C++求解方法
Aug 20 Python
python之PyMongo使用总结
May 26 Python
python利用正则表达式搜索单词示例代码
Sep 24 Python
对Xpath 获取子标签下所有文本的方法详解
Jan 02 Python
python字典的常用方法总结
Jul 31 Python
pytorch 改变tensor尺寸的实现
Jan 03 Python
tensorflow 实现数据类型转换
Feb 17 Python
Python通过4种方式实现进程数据通信
Mar 12 Python
解决使用python print打印函数返回值多一个None的问题
Apr 09 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
Apr 23 Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 Python
python神经网络ResNet50模型
May 06 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
laravel安装zend opcache加速器教程
2015/03/02 PHP
在Mac上编译安装PHP7的开发环境
2015/07/28 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
javascript 选择文件夹对话框(web)
2009/07/07 Javascript
js URL参数的拼接方法比较
2012/02/15 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
使用Angular.js实现简单的购物车功能
2016/11/21 Javascript
js实现右键自定义菜单
2016/12/03 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
jquery根据name取得select选中的值实例(超简单)
2018/01/25 jQuery
layui 表格的属性的显示转换方法
2018/08/14 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
Array.filter中如何正确使用Async
2020/11/04 Javascript
python处理PHP数组文本文件实例
2014/09/18 Python
Python中的pprint折腾记
2015/01/21 Python
Python生成随机MAC地址
2015/03/10 Python
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
python实现简单神经网络算法
2018/03/10 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
pytorch 批次遍历数据集打印数据的例子
2019/12/30 Python
关于tf.reverse_sequence()简述
2020/01/20 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
用python查找统一局域网下ip对应的mac地址
2021/01/13 Python
英国和世界各地鲜花速递专家:Arena Flowers
2018/02/10 全球购物
实验教师岗位职责
2014/02/13 职场文书
会计自荐信范文
2014/03/09 职场文书
优秀教师演讲稿
2014/05/06 职场文书
会计工作能力自我评价
2015/03/05 职场文书
贷款收入证明格式
2015/06/24 职场文书
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python
MySQL下载安装配置详细教程 附下载资源
2022/09/23 MySQL