函数主要是为了代码复用。
函数分为两种:系统库预定义函数,自定义函数。
函数格式:
def functionName():
statement
函数调用:
funtionName()
函数的参数:形参和实参
形式参数:在定义函数的时候的参数列表里的参数,简称形参。
实际参数: 在调用函数的时候的参数列表里的参数,简称实参。
实参和形参是一一对应的。
默认参数: 在定义函数的时候,给形参赋初始值。
默认参数要注意参数顺序。默认参数一般都是在后面部分。
函数的变量
全局变量和局部变量
局部变量:在函数体内定义的变量。只能在函数体内使用,不允许函数体外使用。
全局变量:在函数体外定义的变量。既可以在函数体内也可以在函数体外使用。
如果全局变量和局部变量同名的时候:
在函数内部使用的是函数体内的局部变量。
如果在函数体外使用的时候,使用的全局变量。
在函数体内定义一个全局变量:
global y
y=200
函数返回值:
函数必须有返回值。有三种情况 :
1.return a
2.return ;默认返回None
3缺省情况。默认返回一个None.
函数的冗余参数:
多类型传值和传值冗余。
多类型传值:
传递元组: f(*t)
传递字典:f(**t)
key 和函数的形参要保持名称一致。
传值冗余:
向函数传递多余的实参:
def function(x,*args):
print x
print args
---传递元组
def function(y="a", **args):
print y
print args
---传递字典
def f(x,*args, **kwargs):
print x
print args
print kwargs
---传递元组和字典
lambda函数:
匿名函数:快速定义单行的最小函数。
def f(x,y):
return x*y
对应的lambda表达式:
g=lambda: x,y: x*y
g(2,3)
lambda的基础:
分号前面的是参数,多个参数之间用逗号分割。冒号右边的返回值。
switch语句:
在python中没有switch关键字。需要借助字典来实现。
内置函数:
绝对值abs,最小值min,最大值max
len(), divmod(),pow(),round()
callable() ,isinstance(),cmp(),rang(),xrang()
type(),int(), long(),list(),complex()...
字符串内置函数:(下面的str代表str对象)
str.capitalize() :首字母大写
str.replace(sourceStr, destStr[,count]):把sourStr替换成destStr
str.split(分隔符,最大切割次数n) : 把str用分隔符分割,最多切成n块。
string 模块import后,可以使用string.replace(s,old,new,n)
filter(function,sequence), zip(),map(),reduce(): 这filter,map,reduce函数的第一个参数都是function.
注意区分zip和map,对与不同长度的list的处理结果不同。
zip按照最小处理。map会把空的补上None。