首页 > 开发 > Python > 正文

整理关于函数传值的疑问

2016-07-31 22:43:01  来源:慕课网
  例子:
def f(x): print xf(10) #输出 10f('hello') #输出hellof([1,2,3,4]) #输出[1,2,3,4]f(range(10)) # 输出[0,1,2,3,4,5,6,7,8,9]f(('a','b')) #输出('a','b')f({1:111,2:222,3:333}) #输出{1:111,2:222,3:333}f('a','b') #出错  例子2:
def f(x,y): print x,yf(1,2) #输出 1 2f('a','b') #输出 a bt = ('c','d') f(t) #出错f(t,test) #输出 ('c','d') test  例子3:
def f(x,y): print "%s : %s" %(x,y)t = ('name','milo')f(t) #出错f(*t) #输出 name:milott = ('name','milo',30)f(*tt) #出错  例子4:
def f(x,*args): print x print argsf(1) #输出1 ()f(1,2,3) #输出 1 (2,3)f(x=3) #输出 4 ()f(x=1,y=2) #出错  例子5:
def f(x,*args,**kwargs): print x print args print kwargsf(1) #输出 1 () {}f(1,2,3) #输出 1 (2,3) {}f(x=1,y=2) #输出 1 () {'y':2}f(1,2,3,y=11,z=12) #输出 1 (2,3) {'y':11,'z':12}