2.0-2.4 内建函数
一个函数可以说是一个逻辑或者功能.使用ipython查看python的内建函数builtin. 显示一共有137个内建函数也可以登录https://docs.python.org/2/library 官网去查询•返回数字的绝对值
abs() abs(-10) 返回的是10•取列表最大最小值max() min() 括号内的参数一般是序列或者字符串序列或者元组
max([1,2,3,4,5]) 返回最大值5•len() 取序列或者字符串长度,也可以统计字典和元组有几个元素
•divmod() divmod(x,y) 返回2个数的商和余数•pow() 接受3个参数,第三个参数可选,如果是2个参数则返回 xy pow()如果是3个参数,则返回xy % z•round() round(12) 返回一个浮点数12.0 round(12.123) 返回的是四舍五入的浮点数 round(number,[可选参数]) 可选参数表示保留的小数位个数callable() 判断一个对象是否可以被调用(类,函数都是可以被调用,变量不能被调用)
type() 查看对象是什么类型的
isinstance() 判断对象是否是给定的类型的 返回true或falseisinstance(对象,类型) 如果对象属于第二个参数类型 返回truel = [1,2,3] isinstance(l,list) l是列表,返回true第二个参数也可以是个元组,判断第一个参数对象是否是元组中的类型cmp(x,y) 比较两个对象值,如果x<y 返回-1 如果x>y 返回1 如果x=y 返回0,
还可以比较两个字符串 cmp('hello','hello')--->返回是0range() 返回的是个数字列表xrange() 返回的是个对象 效率比range高常用的类型转换函数
int() 将数字或者小数转换成×××,也可以把字符串数字转换成××× 比如int('12') 将返回12long() 将数字转换成长×××float() 转换成浮点数, 只有一个参数complex() 转换成复数str() 转换成字符串,可以把列表或者字典转换成字符串
list() 返回的是个列表,如果参数为空,则返回是空列表,如果参数是可迭代的对象,返回的是迭代的每个元素tuple() 返回的是个元组,如果参数为空,返回空的元组,如果参数是可迭代的对象,返回的是迭代的每个元素hex() 转换成十六进制 参数是int或者long 把一个数变成十六进制的字符串oct() 转换成8进制chr() chr(i) 返回的是一个字符, 这个方法返回的是asc码对应的字符 chr() 中的参数范围是0-256ord() 和chr()相反 参数是字符 返回的是字符所对应的asc码eval() 将字符串当成有效的表达式来求值 evel('0xa') 将返回10 eval("['a','b',1]") 也可以是列表字符串处理函数(方法)
字符串方法 ipython中 str. 按tab就可以查看字符串可以使用的所有方法help(str.capitalize) 查看方法的帮助,注意和查看函数帮助的区别str.capitalize() 将原字符串的首字母大写后返回新的字符串,注意没有参数In [59]: sOut[59]: 'hello'In [60]: s.capitalize()Out[60]: 'Hello'str.replace() S.replace(old, new[, count]) -> string 将old替换成new字符串, count表示替换次数str.split() S.split([sep [,maxsplit]]) -> list of strings 参数可选,不加参数返回的是字符串列表 默认使用空格切分 str.split() 可以在里面指定分割符,split方法比较常用s.join() S.join(iterable) -> string 将可迭代的对象变成字符串 将列表的每个元素链接成字符串string模块
使用时 import stringstring.lowercase 打印所有小写字母 string.uppercase 打印所有大写字母string.captalize(s) 和 captalize()用法一致string.replace(old) 和replace()内置函数使用一致序列处理函数:
filter() 过滤 filter(function or None, sequence) -> list, tuple, or string filter函数有2个参数,第一个参数是一个函数或者none,第二个参数是个序列 返回的是列表,元组或者字符串,如果第一个参数是none,则不对sequence进行处理,如果第一个参数是个函数,则sequence中的每一个元素被这个函数处理def f(x):if x%2==0:return Truefilter(f,range(1,10)) f函数对range(1,10)元素进行处理[0, 2, 4, 6, 8] 返回列表zip() 把一个或多个序列组成一个大的列表,列表的每一个元素都是一个元组
l1 = [1,2,3]l2=['a','n','c']zip(l1,l2)[(1, 'a'), (2, 'n'), (3, 'c')] 每个列表各取一个元素组成元组,再存放到一个新的列表中去dict(zip(l2,l1)) 还可以通过这种方法创造一个字典map() map(function, sequence[, sequence, ...]) -> list 第一个参数是可以函数,也可以是None,后面的参数是sequence 返回一个list
map(None,l1,l2,l3)reduce()
filter(),map(),reduce() 中第一个参数函数可以使用lambda匿名函数来写In [131]: filter(lambda x: x%2==0,range(10))Out[131]: [0, 2, 4, 6, 8]•filter(lambda x:x %2 ==0, range(10))[0, 2, 4, 6, 8]•map(lambda x,y:x*y, range(5),range(5)) 每个序列相应的元素相乘[0, 1, 4, 9, 16]•reduce(lambda x,y:x+y, range(1,101))5050
精彩评论