python怎么传输函数 python 函数传递

Python 的函数是怎么传递参数的标准形式是 func(*args, **kwargs)
args及kwargs是Python函数接受的可变参数
*args表示任何多个无名参数 , 它是一个tuple
**kwargs表示关键字参数,它是一个dict
示例代码:
def foo(*args,**kwargs):
print 'args=',args
print 'kwargs=',kwargs
print '**********************'
if __name__=='__main__':
foo(1,2,3)
foo(a=1,b=2,c=3)
foo(1,2,3,a=1,b=2,c=3)
foo(1,'b','c',a=1,b='b',c='c')
运行结果:
args= (1, 2, 3)
kwargs= {}
**********************
args= ()
kwargs= {'a': 1, 'c': 3, 'b': 2}
**********************
args= (1, 2, 3)
kwargs= {'a': 1, 'c': 3, 'b': 2}
**********************
args= (1, 'b', 'c')
kwargs= {'a': 1, 'c': 'c', 'b': 'b'}
**********************
python如何将可选参数或关键字参数从一个函数传递到另一个函数?使用函数参数列表中的*和**说明符收集参数;这会将位置参数作为元组 , 将关键字参数作为字典 。然后,您可以使用*和**调用另一个函数时传递这些参数:
def f(x, *args, **kwargs):
...
kwargs['width'] = '14.3c'
...
g(x, *args, **kwargs)
python怎么将自函数的变量传给主函数python将自函数的变量传给主函数:通过变量传递就可以 。
def func():global x,print 'x is', x,x=2 , print 'Changed local x to', xx = 50func()print 'Value of x is', x 。执行结果是这样的:x is 50Changed global x to 2Value of x is 2 。
可移植性:
由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上) 。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2 。
Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台 。
一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1) 。这个过程通过编译器和不同的标记、选项完成 。
python怎么向类中的函数传递参数Python中函数参数的传递是通过“赋值”来传递的 。但这条规则只回答了函数参数传递的“战略问题”,并没有回答“战术问题”,也就说没有回答怎么赋值的问题 。函数参数的使用可以分为两个方面,一是函数参数如何定义,二是函数在调用时的参数如何解析的 。而后者又是由前者决定的 。函数参数的定义有四种形式:
1. F(arg1,arg2,...)
2. F(arg2=value,arg3=value...)
3. F(*arg1)
4. F(**arg1)
第1 种方式是最“传统”的方式:一个函数可以定义不限个数参数,参数(形式参数)放在跟在函数名后面的小括号中,各个参数之间以逗号隔开 。用这种方式定义的函数在调用的时候也必须在函数名后的小括号中提供相等个数的值(实际参数),不能多也不能少,而且顺序还必须相同 。也就是说形参和实参的个数必须一致,而且想给形参1的值必须是实参中的第一位,形参与实参之间是一一对应的关系,即“形参1=实参1 形参2=实参2...” 。很明显这是一种非常不灵活的形式 。比如:"def addOn(x,y): return x + y",这里定义的函数addOn,可以用addOn(1,2)的形式调用,意味着形参x将取值1,主将取值2 。addOn(1,2,3)和addOn (1)都是错误的形式 。
第2种方式比第1种方式 , 在定义的时候已经给各个形参定义了默认值 。因此,在调用这种函数时,如果没有给对应的形式参数传递实参 , 那么这个形参就将使用默认值 。比如:“def addOn(x=3,y=5): return x + y”,那么addOn(6,5)的调用形式表示形参x取值6,y取值5 。此外,addOn(7)这个形式也是可以的,表示形参x取值7,y取默认值5 。这时候会出现一个问题,如果想让x取默认值,用实参给y赋值怎么办?前面两种调用形式明显就不行了 , 这时就要用到Python中函数调用方法的另一大绝招 ──关健字赋值法 。可以用addOn(y=6),这时表示x取默认值3,而y取值6 。这种方式通过指定形式参数可以实现可以对形式参数进行“精确攻击”,一个副带的功能是可以不必遵守形式参数的前后顺序,比如:addOn(y=4,x=6),这也是可以的 。这种通过形式参数进行定点赋值的方式对于用第1种方式定义的函数也是适用的 。

推荐阅读