1: 魔法变量 *arg ,**args 主要用于我们的函数参数,也可以用于分割列表
*arg 是用来发送一个非键值对的可变数量的参数列表给一个函数.
**args 允许你将不定长度的 键值对 , 作为参数传递给一个函数
使用顺序:
some_func(fargs, *args, **kwargs)
举列
args=('one',32,2)
argss={"arg3":"3","arg1":1,"arg2":"two"}
dicts ={ "name":"瑾",
"sex":"男",
"age":20
}
arg = [1,2,3,4,5,6,7,8,9]
# 魔法变量放入我们调用参数
def fun(arg1,arg2,arg3):
print("agr1", arg1)
print("agr2", arg2)
print("agr3", arg3)
# 魔法变量放入函数参数
def funs(arg,*args):
print("第一个参数是",arg)
print(args)
for a in args:
print("*arg中的参数是:",a)
# 正常顺序
def funss(arg,*args, **kwargs):
print(arg)
print(*args)
for k,v in kwargs.items():
print("**argss中的参数是:{0}:{1}".format(k,v))
# 只放入 **kwargs
def funkwargs(**kwargs):
print(kwargs)
for k,v in kwargs.items():
print("**argss中的参数是:{0}=={1}".format(k,v))
# 使用*arg
fun(*args)
》》》agr1 one
agr2 32
agr3 2
# 使用**agrs
fun(**argss)
》》》agr1 1
agr2 two
agr3 3
funs(1,2,23,44)
>>>第一个参数是 1
(2, 23, 44)
*arg中的参数是: 2
*arg中的参数是: 23
*arg中的参数是: 44
funs(2,arg)
>>>第一个参数是 2
([1, 2, 3, 4, 5, 6, 7, 8, 9],)
funss(1,args,dicts)
>>>*arg中的参数是: [1, 2, 3, 4, 5, 6, 7, 8, 9]
1
('one', 32, 2) {'name': '瑾', 'sex': '男', 'age': 20}
funkwargs(name="abaf",age=10) # 这里有个坑 不能直接传入我们的dict funkwargs(dicts)
>>>{'name': 'abaf', 'age': 10}
**argss中的参数是:name==abaf
**argss中的参数是:age==10
funkwargs(**dicts)
>>>{'name': '瑾', 'sex': '男', 'age': 20}
**argss中的参数是:name==瑾
**argss中的参数是:sex==男
**argss中的参数是:age==20
print("我是华丽的分割线---------------------------------------------")
list=[1,2,3,4,5,"c#","python","admin"]
苦逼的 好像忘记了怎么用*来分割list列表了 晚上回去翻翻
代码复制过来到这里缩进有问题啊
# 猴子补丁
# 利用了python中的名字空间是开放的
# 通过了dict来实现
# 导入一个module
# 将module对象加入到sys.modules,后续对该module的导入将直接从该dict中获得
# 将module对象加入到globals dict中
# 可以来换模块,更新什么的
class foo():
def bar(self):
print("foo.bar")
def bar(self):
print("更新模块")
print("这是替换前的")
foo().bar()
foo.bar=bar
print("这是替换后的")
foo().bar()
》》》

python 中的魔法变量相关推荐

  1. (Python高级编程)第二章:Python中的魔法函数

    文章目录 一:什么是魔法函数 (1)魔法函数 (2)作用 二:Python中的魔法函数 (1)字符串表示 (2)集合序列相关 (3)迭代相关- (4)可调用 (5)with上下文管理器 (6)数制转换 ...

  2. Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法

    Day09新手小白学python 第九节 Python的类和对象的介绍,定义类和对象,定义实例方法和属性以及Python中的魔法方法 目录 Day09新手小白学python 前言 一.面向对象介绍 二 ...

  3. python中的class怎么用_对python 中class与变量的使用方法详解

    python中的变量定义是很灵活的,很容易搞混淆,特别是对于class的变量的定义,如何定义使用类里的变量是我们维护代码和保证代码稳定性的关键. #!/usr/bin/python #encoding ...

  4. python是什么语言、即变量不需要显示声明数据类型-python中可以声明变量类型吗...

    变量(variable)是Python语言中一个非常重要的概念.变量的主要作用就是为Python程序中的某个值起一个名字.类似于"张三"."李四"." ...

  5. 为什么python中不需要变量名和变量类型声明?

    python是解释型语言,python的变量不需要声明,但是需要初始化,python解释器会为每个出现的对象分配内存,哪怕他们的值完全相等(注意是相等不是相同),其中变量其实通过一个标记调用内存中的值 ...

  6. python中class变量_对python 中class与变量的使用方法详解

    python中的变量定义是很灵活的,很容易搞混淆,特别是对于class的变量的定义,如何定义使用类里的变量是我们维护代码和保证代码稳定性的关键. #!/usr/bin/python #encoding ...

  7. python中的魔法属性和方法

    魔法属性: 首先,我们先谈一谈什么叫做魔法属性? 魔法属性和方法是Python内置的一些属性和方法,有着特殊的含义.命名时前后加上两个下划线,在执行系统特定操作时,会自动调用. 那么接下来,我们就列举 ...

  8. python深度讲解_《深度剖析CPython解释器》21. Python类机制的深度解析(第五部分): 全方位介绍Python中的魔法方法,一网打尽...

    楔子 下面我们来看一下Python中的魔法方法,我们知道Python将操作符都抽象成了一个魔法方法(magic method),实例对象进行操作时,实际上会调用魔法方法.也正因为如此,numpy才得以 ...

  9. python静态变量计数器_如何在Python中使用静态变量在计数

    今天,在用Python写一个统计一个文件下有多少文件的小标本时,遇到了一个很棘手的问题.如何在Python中使用静态变量来计数.然后,就在网上一通查找,找的方法都是利用类的方法来实现静态变量.说实话没 ...

最新文章

  1. c++用二叉树表示代数表达式_C语言:数据结构-二叉树的定义和基本术语和二叉树的性质...
  2. 笔记-计算机网络基础-网络存储技术
  3. 【学术相关】一院士给博士生的一封信:每天工作12小时,这仅是一个下限!...
  4. mybatis批量插入oracle报表达式,mybatis oracle两种方式批量插入数据
  5. 结合netstat和awk命令来统计网络连接数
  6. 小程序 后台返回的对象数组(每个数组添加一个新的属性值)
  7. 百度编辑器UEditor源码模式下过滤div/style等html标签
  8. MySql数据库下载和安装
  9. 2010年IT行业十大收购
  10. 360度全方位超详尽iPhone5s新手入门宝典(上)
  11. .NET Core技术研究-通过Roslyn代码分析技术规范提升代码质量
  12. [移动GIS] 1-移动计算与无线网络
  13. No qualifying bean of type ‘com.zl.dao.UserDao‘ available:expected at least 1 bean which qualifies
  14. linux下搜狗输入法wps无法使用,搜狗输入法能在WPS下使用,但其他地方不能输入...
  15. 【Python】Python中将字符串中的大写字母转换为小写字母,同时将小写字母转换为大写字母
  16. QuerySet浅尝
  17. C语言实现Dijkstra算法(求解两点之间最短路径问题)
  18. java向kafka推送数据_Java kafka消息的发送与接收
  19. 在贫民窟住了 29 年,我成为印度第一个 GitHub star
  20. 在表格中展示订单的倒计时定时器,用一个定时器显示多个倒计时

热门文章

  1. 美国音乐学院计算机音乐专业有哪些,美国伯克利音乐学院专业有哪些?
  2. java写轮播图,Android零基础入门第49节:AdapterViewFlipper图片轮播
  3. ASP生成BMP验证码图片
  4. ArcGIS 中的多波段的融合
  5. 微分法MATLAB语言程序,MATLAB语言常用算法程序集 102MB 百度网盘
  6. Java学习之名称命名规范
  7. Instant Lab:iPhone变身拍立得
  8. SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式
  9. java八股文指的是什么_八股文是指什么?
  10. exchange服务器保留邮件,Exchange服务器之Exchange备份单个用户邮件及清理邮箱数据...