标签:
#!/usr/bin/env python # -*- coding:utf-8 -*- 函数相关
def f1(par,par2,par3="ok"): #定义函数 带参数,带参数默认值 带返回值
try:
print( "this is function by %s %d %s" %(par ,par2,par3))
except:
return False
else:
return True
res = f1("wh",22) #调用函数 不给改变默认参数
print(res)
res2 = f1("wx",21,"pig")#改变默认参数
print( res2)
res3 = f1(par2=24,par="mm",par3="shit") #调用使用指定参数形式 可以不按形式参数顺序
#------------------------------动态参数-----------------
def f2(*args): # * 表示任意个形式参数
print(args)
f2("wx","wh","qq") #动态传人多个参数
li = "wanghao"
f2(*li) #调用带 * 把字符串每个字符变成元组的元素
f2(li) #如果不带* 则把字符串当成元组中的一个元素
def f3(**args): # 两个* 号 参数必须是字典键值对形式 k=v形式
print(args,type(args))
f3(k1=1,k2=2)
dict1 = {"k1":3,"k2":4}
f3(kk=dict1)#把当前字典对象当作一个键值对中的Value
f3(**dict1) #如果调用带两个* 就是直接把 当前字典的每个键值对当作参数传给函数
def f4(*args,**kwargs) : #万能参数
print(args)
print(kwargs)
f4(11,22,33,44,k1="v1",k2="v2",k3="v3") #根据属性自动把参数带入 对应的参数中 11,22,33,44 带入*args k1....k3 带入**kwargs
#---------------------------------------动态参数END--------------
#函数中传递的参数是引用
#----------------------------全局变量-----------------
#未定义到函数内部的变量是全局变量 #修改全局变量 global name #如果全局变量是 列表或字典 则 在函数中可以添加列表元素 但是不能对变量重新赋值 #定义全局变量全用大写
GNAME="alex"
def f5():
print(GNAME)
global GNAME #需要修改全局变量 必须声明一下
GNAME = "alex.w"
def f6():
print(GNAME)
f5()
f6()
标签:
原文地址:http://www.cnblogs.com/whzym111/p/5772270.html