Python2语法简记(7):函数

7 函数:def printme(str1, str2):

def printme(str1, str2):
    "打印传入的字符串"         # 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。    
    print str1, str2    
    return str1, str2          # return只能返回一个值,可以是任何类型。写成这样是返回一个元祖,间接实现了返回多个值。

不可变对象传入函数:不能改变对象值

def ChangeInt(a):   # 调用函数刚开始时,id(a) == id(b),a引用的是数字2对象。
    a = 10            # 由于a引用的是不可变对象,所以这时候a改为了引用数字10对象。id(a) != id(b)
b = 2
ChangeInt(b)
print b               # 结果是 2。b还是引用数字2对象。

参数传入方式:顺序传入、关键字传入、默认参数传入、不定长参数def printme(str1, *vartuple)
顺序传入:

def Printme(a):
    print a     
Printme(2)

关键字传入:

def Printme(a, b):
    print a    
    print b        
Printme(b = 2, a = 1)

默认参数传入:

def Printme(a, b = 0):
    print a
    print b   
Printme(a = 2)
Printme(4)
Printme(4, 5)

不定长参数:

def Printme(a, *vartuple):
    print a
    for var in vartuple: print var       
Printme(4, 5, 6,7)

匿名函数:lambda表达式:sum = lambda arg1, agr2 : arg1 + arg2; print sum(10, 20)
python 使用 lambda表达式 来创建匿名函数。只包含一个语句。不能访问自有参数列表之外或全局命名空间里的参数。

sum = lambda arg1, arg2: arg1 + arg2;
print "相加后的值为 : ", sum( 10, 20 )
print "相加后的值为 : ", sum( 20, 20 )

猜你喜欢

转载自blog.csdn.net/cjxunooo/article/details/84967472
今日推荐