python动态参数用法实例分析

作者:惟愿莲心不染尘 时间:2021-03-02 06:27:51 

本文实例讲述了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,动态,参数
0
投稿

猜你喜欢

  • python爬取youtube视频的示例代码

    2021-10-02 16:25:26
  • python在非root权限下的安装方法

    2023-12-05 20:28:35
  • node.js express安装及示例网站搭建方法(分享)

    2024-05-13 09:58:22
  • 如何利用python将Xmind用例转为Excel用例

    2022-06-18 19:18:46
  • python列表[list]和元组(tuple)详情

    2022-05-23 01:14:31
  • Python数据分析Pandas Dataframe排序操作

    2022-06-28 07:44:11
  • Python装饰器实现几类验证功能做法实例

    2023-11-11 18:09:30
  • 使用keras根据层名称来初始化网络

    2021-12-09 10:51:40
  • canvas实现手机端用来上传用户头像的代码

    2023-09-16 02:30:54
  • python正则-re的用法详解

    2022-05-19 07:50:15
  • python+mysql实现简单的web程序

    2024-01-15 12:31:58
  • SQLserver 数据库危险存储过程删除与恢复方法

    2011-09-30 11:33:54
  • 深度学习TextRNN的tensorflow1.14实现示例

    2023-12-31 18:59:23
  • python实现守护进程、守护线程、守护非守护并行

    2021-02-03 09:06:56
  • 对Python中 \\r, \\n, \\r\\n的彻底理解

    2022-09-14 07:00:15
  • Python Numpy之linspace用法说明

    2021-10-17 10:49:55
  • Python使用wxPython实现计算器

    2021-08-31 11:23:54
  • 浅析python中SQLAlchemy排序的一个坑

    2023-03-29 10:47:23
  • 基于PyQT5制作英雄联盟全皮肤下载器

    2023-07-03 15:54:08
  • Java使用JDBC连接数据库的详细步骤

    2024-01-15 17:42:42
  • asp之家 网络编程 m.aspxhome.com