python动态参数用法实例分析
作者:惟愿莲心不染尘 发布时间:2021-03-02 06:27:51
标签:python,动态,参数
本文实例讲述了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中创建的对象的时候,首先会去申请内存地址,然后对对象进行初始化,所有对象都会维护在一个叫做refchain的双
- 在这篇文章中,我们将讨论mask R-CNN背后的一些理论,以及如何在PyTorch中使用预训练的mask R-CNN模型。1.语义分割、目
- 一、背景近期项目即将开展,计划第一步就是实现数据的可视化,所以先学习一下数据展示相关Demo。选用Python2.7与Matplotlib来
- 用python实现简单Server/Client文件传输:服务器端:#!/usr/bin/pythonimport SocketServer
- 我们开发项目常常将项目上传到linux远程服务器上来运行,查看日志等等,每次连接终端输入命令上传文件总是很烦,最近正好在学go开发项目,用到
- 以下是关于小编给大家日常收集整理php正则表达式,具体内容请看下文详解吧$str = preg_replace("/(<a.
- SQL是用于访问ORACLE数据库的语言,PL/SQL扩展和加强了SQL的功能,它 同时引入了更强的程序逻辑。 PL/SQL支持DML命令和
- 随着现在宽屏显示器的流行,Flash的全屏模式下,越来越需要考虑到普屏显示器与宽屏显示器的差别。Flash全屏模式有以下特点:窗口最大化,且
- Vue实践分享(三)在实际项目的开发过程中,经常会遇到页面还没渲染完成而插件就已经开始加载的问题,这样就会导致显示和功能出错。可以通过Vue
- 前言最近在网上搜了许多关于pandas.DataFrame的操作说明,都是一些基础的操作,但是这些操作组合起来还是比较费时间去正确操作Dat
- 一.执行代码yum install xz-devel yum install python-backports-lzmapip3 insta
- z-blog摘要图文混排,在月光的博客早已有介绍,但是他的图文混排是基于一篇文章只定义一个Tag的情况,对于我这样习惯多tag的博客,再更改
- 本文实例讲述了Python闭包实现计数器的方法。分享给大家供大家参考。具体实现方法如下:先来看看专业的解释:闭包(Closure)是词法闭包
- 延时摄影(英语:Time-lapse photography)是以一种较低的帧率拍 下图像或者视频,然后用正常或者较快的速率播放画面的摄影技
- switch是很容易理解的,先来个代码,运行起来看看你的操作系统是什么吧package main import (  
- 本文实例讲述了sql server实现分页的方法。分享给大家供大家参考,具体如下:declare @index int,@num intse
- 一 接口介绍如果说gorountine和channel是支撑起Go语言的并发模型的基石,让Go语言在如今集群化与多核化的时代成为一道亮丽的风
- 我采用的是MySQLdb操作的MYSQL数据库。先来一个简单的例子吧: import MySQLdb try: conn=MySQLdb.c
- 分页功能在每个网站都是必要的,对于分页来说,其实就是根据用户的输入计算出应该显示在页面上的数据在数据库表中的起始位置。确定分页需求:1. 每
- 本文实例讲述了Python学习笔记之lambda表达式用法。分享给大家供大家参考,具体如下:Lambda 表达式使用 Lambda 表达式创