Python学习笔记(四)-- 函数中的参数传递

来源:互联网 发布:现代优化设计方法举例 编辑:程序博客网 时间:2024/05/10 19:36

      • 位置传递
      • 关键字传递
      • 参数默认值传递
      • 包裹传递
      • 包裹关键字传递
      • 解包
      • 总结

位置传递

>>>def func1(a,b,c):    return a*b*c>>>func1(1,2,3) #这种传递就叫做位置传递,对应位置上的参数对应value

关键字传递

>>>def func2(a,b,c):    return a+b+c>>>func2(a=2,b=3,c=5)  #这种传递叫做关键字传递,即将参数名与对应value显式的一一对应起来

参数默认值传递

>>>def func3(a,b,c=3):    return 2*a-b+c>>>func3(6,2)  #这种传递叫做默认值传递,将第三个参数设为默认值,为3,调用时可不再传进该参数

包裹传递

>>>def func4(*packet):    print(type(packet))    print(packet)>>>func4(4,5,6,7)  #这种传递叫做包裹传递,定义时必须要带上*号<type 'tuple'>  #注意,是一个tuple(4,5,6,7)

包裹关键字传递

>>>def func5(**packet):    print(type(packet))    print(packet)>>>func5(a=4,b=5,c=6,d=7)  #这种传递叫做包裹关键字传递,定义时必须要带上两个*号<type 'dict'>  #注意,是一个dict{'a':4,'b':5,'c':6,'d':7}

解包

>>>def func6(a,b,c):    print(a,b,c)>>>a = (2,3,5)>>>func6(*a)2 3 5>>>a = {'a': 3,'b': 6,'c': 7}>>>func6(**a)3 6 7

总结

上面几种参数传递方式其实在实际编程中可以进行混合操作,但要遵循一个原则,那就是:先位置,后关键字,包裹位置,包裹关键字。

1 0