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()

 

 

posted @ 2016-08-15 11:20  whzym111  阅读(151)  评论(0编辑  收藏  举报