python基础学习1-函数相关
#!/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()