lambda函数胡使用
#coding:utf-8
g = lambda x,y:x*y/*必须亦g=*/
print g(2,3)/*print必须有*/
swtich函数使用
def jia(x,y):
return x+y
def jian(x,y):
return x-y
def cheng(x,y):
return x*y
def chu(x,y):
return x/y
operator = {"+":jia,"-":jian,"*":cheng,"/":chu}
def f(x,o,y):
print operator.get(o)(x,y)/*字典的用法*/
f(3,"+",3)
常用函数
pow(x,y)x的y次幂 pow(x,y,z)x的y次幂再除以z求模 divmod(x,y)交换x和y的位置 round()返回一个浮点数
callable()测试一个函数可不可以被调用 isinstance(l,list)判断对象的类型 cmp()比较两个字符串
range()快速生成一个序列 xrange()生成器,不出现序列,效率比range高很多
类型转化函数
type()类型 int()整数型 long()长整形 float()浮点型 complex()复数型
str(x ) 将对象 x 转换为字符串
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
内置函数
string函数的应用/*必须是针对字符串使用的*/
用help查询的时候用法help(str.replace)
#coding:utf-8
s=‘13234443213223‘
print s.replace(‘2‘,‘d‘)/*s必须标明.不可少*/
print s.replace(‘2‘,‘d‘,1))/*最后的一表示只替换一次*/
str.capitalize()把字符串首字母转化为大写
str.split(‘x‘,y)做切割用的,x表示切割的位置,y表示切割的次数
s=“hello word”
string.replace(s,‘hello‘,‘good‘)/*替换*/
序列处理函数
len()求长度
max()求最大值 filter(f,l)主要用于序列的操作 f表示取大于5的数,l表示一个列表,表示取出在l中符合f的值
#coding:utf-8
name=[‘milo‘,‘zou‘,‘tom‘]
age=[20,30,40]
tel=[‘133‘,‘156‘,‘234‘]
t=[‘x‘,‘y‘]
print zip(name,age,tel,t) /*zip和map的区别*/
print map(None,name,age,tel,t)
a=[1,3,5]
b=[2,3,4]
def mf(x,y):
return x*y
print map(None,a,b)/*输出a,b对应为位置的成对列表*/
print map(mf,a,b)/*把a,b列表的值在mf语句中实现*/
L=range(1,101)
def rf(x,y): /*可以转化为reduce(lambda x,y:x+y,l*/ 若想取lL列表中的偶数值filter(lambda x:if x%2 ==0.1,L) 无法运行,其中包含两个函数
return x +y 应该为filter(lambda x:x%2 ==0.1,L)
print reduce(rf,L)/*把L中的数据在rf中运算*/
D:\Python安装程序\python.exe C:/Users/欢/PycharmProjects/untitled/ll.py
[(‘milo‘, 20, ‘133‘, ‘x‘), (‘zou‘, 30, ‘156‘, ‘y‘)]
[(‘milo‘, 20, ‘133‘, ‘x‘), (‘zou‘, 30, ‘156‘, ‘y‘), (‘tom‘, 40, ‘234‘, None)]
[(1, 2), (3, 3), (5, 4)]
[2, 9, 20]
5050
Process finished with exit code 0