详细介绍Python函数参数的传递的方法


Python函数参数是计算机常用的计算机语言,但是在其运行的过程中会有些困难,例如, Python函数参数与命令行参数ython中函数参数的传递是通过赋值来传递的。下面就是关于其的介绍,希望你会有所收获。

函数参数的使用又有俩个方面值得注意:

  1. >>> def printpa(**a):  
  2. ...    print type(a)  
  3. ...    print a  
  4. ...   
  5. >>> printpa(a=1,y=2)  
  6. <type 'dict'> 
  7. F(arg1,arg2,...)
  8. {'a': 1, 'y': 2}  
  9. >>> printpa(a=1)  
  10. <type 'dict'> 
  11. {'a': 1}  
  12. >>> li=[1,2,3,4]  
  13. >>> printpa(b=li)  
  14. <type 'dict'> 
  15. {'b': [1, 2, 3, 4]}  
  16. >>> tu=(1,2,3)  
  17. >>> printpa(b=tu)  
  18. <type 'dict'> 
  19. {'b': (1, 2, 3)}  
  20. >>> printpa(1,2)  
  21. Traceback (most recent call last):  
  22.   File "<stdin>", line 1, in <module> 
  23. TypeError: printpa() takes exactly 0 arguments (2 given)  

F(arg1,arg2=value2,...)

是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提供个数相等的值实际参数),而且顺序必须相同,也就是说在这种调用方式中,形参和实参的个数必须一致,而且必须一一对应,也就是说第一个形参对应这第一个实参。例如:

  1. def a(x,y):  
  2. print x,y  

调用该Python函数参数,a(1,2)则x取1,y取2,形参与实参相对应,如果a(1)或者a(1,2,3)则会报错。再看下面的例子:

  1. >>> a=(1,2,3)  
  2. >>> def printpa(a):  
  3. ... print type(a)  
  4. ... print a  
  5. ...   
  6. >>> printpa(a)  
  7. <type 'tuple'> 
  8. (1, 2, 3)  
  9. >>> printpa(range(1,4))  
  10. <type 'list'> 
  11. [1, 2, 3]  
  12. >>> printpa({})  
  13. <type 'dict'> 
  14. {}  
  15. >>> def printpa(a,b,c):  
  16. ... print a,b,c  
  17. ...   
  18. >>> printpa(a)  
  19. Traceback (most recent call last):  
  20. File "<stdin>", line 1, in <module> 
  21. TypeError: printpa() takes exactly 3 arguments (1 given)  
  22. >>> printpa(*a)  
  23. 1 2 3  
  24. >>> a=[1,2,3]  
  25. >>> printpa(*a)  
  26. 1 2 3  
  27. >>> printpa(a)  
  28. Traceback (most recent call last):  
  29. File "<stdin>", line 1, in <module> 
  30. TypeError: printpa() takes exactly 3 arguments (1 given)  
  31. >>> a=[1,2,3,4]  
  32. >>> printpa(*a)  
  33. Traceback (most recent call last):  
  34. File "<stdin>", line 1, in <module> 
  35. TypeError: printpa() takes exactly 3 arguments (4 given)  
  36. >>> printpa(*range(1,4))  
  37. 1 2 3  

由上可以看出,如果函数的有多个形参,调用的时候可以传递一个元组或列表来作实参,但是元组或列表中元素的个数必须与形参的个数相同。上述文章是对 Python函数参数与命令行参数,ython中函数参数的传递是通过赋值传递的基本应用介绍。

  1. Python函数式和Ruby的相关技术比较
  2. Python编程语言与Java的技术比较
  3. Python字符串操作方法的五种具体方法
  4. python多线程应用中的详细介绍
  5. Python script代码在C++中的使用方法

相关内容

    暂无相关文章

评论关闭