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 01 Python
PYTHON基础-时间日期处理小结
May 05 Python
python使用PIL给图片添加文字生成海报示例
Aug 17 Python
Python爬取成语接龙类网站
Oct 19 Python
Python实现的特征提取操作示例
Dec 03 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
使用python代码进行身份证号校验的实现示例
Nov 21 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
python json 递归打印所有json子节点信息的例子
Feb 27 Python
Python+Kepler.gl实现时间轮播地图过程解析
Jul 20 Python
Python实现自动签到脚本功能
Aug 20 Python
Django中template for如何使用方法
Jan 31 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 Mysql类 可以参考学习熟悉下
2009/06/21 PHP
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
jQuery 标题的自动翻转实现代码
2009/10/14 Javascript
myeclipse安装jQuery插件的方法
2011/03/29 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
用JQuery实现全选与取消的两种简单方法
2014/02/22 Javascript
AngularJS教程之MVC体系结构详解
2016/08/16 Javascript
JavaScript结合HTML DOM实现联动菜单
2017/04/05 Javascript
AngularJS 的$timeout服务示例代码
2017/09/21 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
VsCode与Node.js知识点详解
2019/09/05 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
three.js如何实现3D动态文字效果
2021/03/03 Javascript
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
利用Python读取文件的四种不同方法比对
2017/05/18 Python
对Python实现累加函数的方法详解
2019/01/23 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
2019/07/25 Python
pytorch获取vgg16-feature层输出的例子
2019/08/20 Python
keras输出预测值和真实值方式
2020/06/27 Python
Python 字典一个键对应多个值的方法
2020/09/29 Python
BudgetAir印度:预订航班、酒店和汽车租赁
2019/07/07 全球购物
全球领先的全景影像品牌:Insta360
2019/08/21 全球购物
英语专业大学生求职简历的自我评价
2013/10/18 职场文书
学习经验交流会主持词
2014/04/01 职场文书
调研座谈会发言材料
2014/08/23 职场文书
科技活动周标语
2014/10/08 职场文书
六一儿童节标语
2014/10/08 职场文书
公司文体活动总结
2015/05/07 职场文书
党支部综合考察意见
2015/06/01 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
如何撰写促销方案?
2019/07/05 职场文书
python如何利用cv2模块读取显示保存图片
2021/06/04 Python
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python