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 )