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中的内置函数getattr()介绍及示例
Jul 20 Python
简单介绍Ruby中的CGI编程
Apr 10 Python
基础的十进制按位运算总结与在Python中的计算示例
Jun 28 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
Dec 12 Python
python 读取鼠标点击坐标的实例
Dec 29 Python
详解Python3注释知识点
Feb 19 Python
详解用python生成随机数的几种方法
Aug 04 Python
Python对接支付宝支付自实现功能
Oct 10 Python
python中return不返回值的问题解析
Jul 22 Python
Python程序慢的重要原因
Sep 04 Python
教你利用python实现企业微信发送消息
May 23 Python
Python何绘制带有背景色块的折线图
Apr 23 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删除记录操作代码
2008/06/07 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
php中++i 与 i++ 的区别
2012/08/08 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
2019/03/28 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
jquery 图片轮换效果
2010/07/29 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
node.js中的fs.readSync方法使用说明
2014/12/17 Javascript
jquery实现鼠标滑过小图查看大图的方法
2015/07/20 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
2015/09/19 Javascript
jQuery 如何实现一个滑动按钮开关
2016/12/01 Javascript
NodeJs测试框架Mocha的安装与使用
2017/03/28 NodeJs
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
详解webpack-dev-server的简单使用
2018/04/02 Javascript
vc6编写python扩展的方法分享
2014/01/17 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
Django权限机制实现代码详解
2018/02/05 Python
浅谈numpy数组中冒号和负号的含义
2018/04/18 Python
Python使用matplotlib和pandas实现的画图操作【经典示例】
2018/06/13 Python
python写入文件自动换行问题的方法
2019/07/05 Python
Python实现直方图均衡基本原理解析
2019/08/08 Python
keras用auc做metrics以及早停实例
2020/07/02 Python
Elasticsearch py客户端库安装及使用方法解析
2020/09/14 Python
狗狗玩具、零食和咀嚼物的月度送货服务:Super Chewer
2018/08/22 全球购物
会议接待欢迎词
2014/01/12 职场文书
2014两会学习心得:时代的发展
2014/03/17 职场文书
项目采购员岗位职责
2014/04/15 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
旷课检讨书范文
2014/10/30 职场文书
会计工作总结范文2014
2014/12/23 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书
python Polars库的使用简介
2021/04/21 Python
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL