`

python参数传递

阅读更多

              以前一直傻傻分不清Python在传递参数时的 * 和 ** 的区别。 一看到* 和** 就想到指针的概念。 今天总算是搞明白了。记录一下

 

 

# -*- coding:utf-8 -*-

'''
参数传递:
包裹传参

'''

'''
包裹位置传参:收集到的是一个元组
'''
def package_position(*all_arguments):
print all_arguments
#打印结果为 (1, 4, 6)
for k in all_arguments:
print k
 

'''
包裹关键字传参:收集到的是一个字典
'''
def package_keyword(**all_arguments):
print all_arguments
#打印结果为 {'a': 1, 'c': 3, 'b': 2}
#打印k,v
for k,v in all_arguments.items():
all_arguments[k] = v + 1

'''
位置传参和关键字传参混合使用
'''
def packeage_min(*position,**keywords):
print position
print keywords

#打印结果
#(1, 2, 3)
#{'a': 7, 'c': 9, 'b': 8}


'''
解包裹
'''
def unpackage(a,b,c):
print (a,b,c)



if __name__ == '__main__':
#package_position(1,4,6)
args2={'a':4,'b':5,'c':6}
package_keyword(**args2)
#packeage_min(1,2,3,a=7,b=8,c=9)
args = (1,3,4)
#unpackage(*args) #在args前加上*,来提醒Python,我想把元组拆成三个元素,每个元素对应函数的一个位置参数
args2={'a':4,'b':5,'c':6}
#unpackage(**args2) #在args2前加上**,让字典的每个键值对作为一个关键字传递给函数




分享到:
评论

相关推荐

    Python参数传递及收集机制原理解析

    python参数传递时,主要有位置参数和关键字参数。 1. 位置参数:顾名思义,参数的位置顺序很重要,因为是直接根据位置赋值的。 def func1(a, b): print(a,b) # 位置参数,位置顺序很重要 func1(1,2) 2. 关键字...

    Numpy数组赋值的时候发生了什么?python参数传递方式(csdn)————程序.pdf

    Numpy数组赋值的时候发生了什么?python参数传递方式(csdn)————程序

    Python参数传递实现过程及原理详解

    主要介绍了Python参数传递实现过程及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    python黑魔法之参数传递

    主要介绍了python黑魔法之参数传递,分析了python参数传递的方法,感兴趣的小伙伴们可以参考一下

    向python脚本传递参数(例子)

    用python脚本过滤文本中的关键字并显示,例子

    Python参数传递对象的引用原理解析

    主要介绍了Python参数传递对象的引用原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Python参数传递机制传值和传引用原理详解

    主要介绍了Python参数传递机制传值和传引用原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    深入理解python中函数传递参数是值传递还是引用传递

    Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典 或者列表)的引用,就能修改对象的原始值——相当于通过“传引用”来...

    python-传递函数.docx

    下面是一个简单的示例,演示如何将函数作为参数传递给其他函数: ```python def add(a, b): return a + b def subtract(a, b): return a - b def apply(func, a, b): return func(a, b) print(apply(add, 2, 3)) # ...

    python参数传递的*args和**kwargs

    多个实参,放到一个元组里面,以*开头,可以传多个参数;**是形参中按照关键字传值把多余的传值以字典的方式呈现 *args:表示的就是将实参中按照位置传值,多出来的值都给args,且以元组的方式呈现, 主要是 用来...

    C++调用Python脚本

    完整的C++调用Python脚本源码,包含参数传递和函数返回值处理等,且解决传递中文参数出现乱码等问题

    python 命令行参数

    python 命令行参数

    c++传递参数给python源码.rar

    >本代码演示了c++调用python的各种参数转换例子,包括字符串,数值,数组,类,list等转换方法 >运行平台:vc2019,python37(64位)

    Python程序设计:函数参数.pptx

    我们将从本任务出发,较为系统的学习Python中函数的定义、调用、函数的形参定义、函数的参数传递以及匿名函数和生成器函数等内容,并掌握相关的配套案例。 任务 IQ智商测试 任务知识点 函数定于与调用 函数参数 匿名...

    QT调用python,并给python传递Mat矩阵和二维数组

    用QT调用python代码,将QT读取的图像(Mat矩阵)作为参数传入python中,将QT的二维数组作为参数传递给python,python接收QT传入的图像进行计算,将结果返回给QT。

Global site tag (gtag.js) - Google Analytics