码迷,mamicode.com
首页 > 编程语言 > 详细

python基础学习-函数相关

时间:2016-08-15 11:35:27      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

#!/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()

 

python基础学习-函数相关

标签:

原文地址:http://www.cnblogs.com/whzym111/p/5772270.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!