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前加上**,让字典的每个键值对作为一个关键字传递给函数




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值