一、Python2.X内置函数表:
注:以上为pyton2.X内置函数,官方网址:https://docs.python.org/2/library/functions.html
二、Python3.X内置函数表:
注:以上为pyton3.X内置函数,官方网址:https://docs.python.org/3.5/library/functions.html
三、自定义函数:
def
函数名(参数):
...
函数体
...
- def:是函数的关键字,告诉python解释器这是一个函数。
- 函数名:这个函数的名称,代码中调用此函数的标识。
- 函数体:函数中进行一些逻辑运算,例如:if判断,for循环,函数等。
- 参数:为此函数体提供数据
- 返回值:当函数执行完毕后,可以给调用者返回数据。例:return。
1、函数返回值:
def x(): if 1 < 0: return True else: return False if x(): print('1小于0') else: print('1大于0') 以上实例运行后反回结果结果为: 1大于0
2、向函数传递参数(传参):
函数的参数分为:
- 普通参数
- 默认参数
- 动态参数
(1)、普通参数:
def x(name): print(name) x:是函数名 name:是x这个函数的形式参数(也叫形参) x('Earl') Earl是x函数的实际参数(也叫实参) 以上实例运行后反回结果结果为: Earl
(2)、默认参数:
def x(name, age=20): print('name:%s,age:%s' %(name,age)) x:函数名。 name:为x函数的形式参数。 age:为x函数的默认参数。 x('Earl') 以上调用函数为使用默认参数,运行后反回结果结果为: name:Earl,age:20 x('Earl', 26) 以上调用函数为未使用默认参数,运行后反回结果结果为: name:Earl,age:26
(3)动态参数:
def x(*args): print(args) 以下是第一种调用方式: x(1, 2, 3, 'name',) 实例运行后反回结果结果为: (1, 2, 3, 'name') 以下是第二种调用方式: lis = [1, 2, 3, 'name', 'age',] x(*lis) 实例运行后反回结果结果为: (1, 2, 3, 'name', 'age')
def x(**kwargs): print(kwargs) 以下是第一种执行方式: x(name='Earl', age=25) 以上实例运行后反回结果结果为: {'age': 25, 'name': 'Earl'} 以下是第二种执行方式: dic = {'name': 'Earl', 'age': 25, 'address': 'beijing'} x(**dic) 以上实例运行后反回结果结果为: {'address': 'beijing', 'age': 25, 'name': 'Earl'}
print('以上实例运行后反回结果结果为:') def x(*args, **kwargs): print(args,kwargs) 以下为第一种调用方式: x([33, 44, 55], name='Earl',agg=24) 以上实例运行后反回结果结果为: ([33, 44, 55],) {'agg': 24, 'name': 'Earl'} 以下为第二种调用方式: lis = [1, 2, 3, 'name'] dic = {'name': 'Earl', 'age': 25, 'address': 'beijing'} x(*lis, **dic) 以上实例运行后反回结果结果为: (1, 2, 3, 'name') {'address': 'beijing', 'age': 25, 'name': 'Earl'}
发邮件实例
四、lambda表达式:
学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即:
三元运算:
# 普通条件语句 if 1 == 1: name = 'Earl' else: name = 'tom' print('普通判断:%s' %name) # 三元运算 name = 'Earl' if 1 == 1 else 'tom' print('三元运算:%s' %name) 以上实例运行后反回结果结果为: 普通判断:Earl 三元运算:Earl
对于简单的函数,也存在一种简便的表示方式,即:
lambda表达式:
# 定义函数(普通方式) def x(arg): return arg + 1 # 执行函数 re = x(100) print(re) 以上实例运行后反回结果结果为: 101 # 定义函数(lambda表达式) x = lambda arg: arg + 1 # 执行函数 re = x(100) print(re) 以上实例运行后反回结果结果为: 101
五、map函数:
遍历序列,对序列中每个元素进行操作,最终获取新的序列。
li = [11, 22, 33] new_list = map(lambda a: a + 100, li) print(list(new_list)) 以上实例运行后反回结果结果为: [111, 122, 133]
li = [11, 22, 33] sl = [1, 2, 3] new_list = map(lambda a, b: a + b, li, sl) print(list(new_list)) 以上实例运行后反回结果结果为: [12, 24, 36]
六、filter函数:
对于序列中的元素进行筛选,最终获取符合条件的序列
li = [11, 22, 33] new_list = filter(lambda arg: arg > 22, li) print(list(new_list)) 以上实例运行后反回结果结果为: [33]
七、with使用:
with可以避免打开文件后忘记关闭,可以通过管理上下文:
with函数:以读的形式打开一个文件log,变量名为f: with open('log','r') as f: ........ with函数:以读的形式找到两个文件分别是log1与log2,变量名为obj1与obj2: with open('log1', 'r') as obj1, open('log2','r') as obj2: pass