您的位置:首页 > 编程语言 > Python开发

python的参数

2015-11-18 17:00 706 查看
在python的方法中,默认参数通常放在非默认参数的后面:

def out(massege,times=1):
print massege*times
out('hello ')
out('hello ',5)

>>>
hello
hello hello hello hello hello
>>>


位置参数:参数的值由对应的位置决定
关键字参数:参数的值由关键字信息决定
def out(a,b,c):
print 'a is ',a,' b is ',b,' c is ',c
out(1,2,3)
out(a=2,b=3,c=1)
out(1,c=2,b=3)
>>>
a is  1  b is  2  c is  3
a is  2  b is  3  c is  1
a is  1  b is  3  c is  2
>>>
方法体内的局部变量能覆盖方法外的同名变量的值,使用global statement可以直接使用方法外的变量:

print 'local test:'
x=23
def func1(x):
print x
x=x+1
print x
func1(x)
print x

print 'global test:'
x=23
def func2():
global x
print x
x=x+1
print x
func2()
print x

>>>
local test:
23
24
23
global test:
23
24
24
>>>


接下来看看一类可以输入未知参数个数的方法参数:list param and directonary param

def func(intial=0,*a,**m):
sum=intial
for i in a:
sum=sum+i
for k in m:
sum=sum+m[k]
return sum
print func(1,2,3,tomato=12,basketball=20);

>>>
38
>>>

放在带星的参数后面的参数(如果不带*)是关键字参数(不能是位置决定值)

下面代码编译不过:

def func1(a=0,*b,c):
sum=a
for i in b:
sum=sum+i
print sum+c
func1(1,2,3,100)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: