2.0 内建函数(1)
仅可以在ipython下才能查看
在官网上查看到的才是最准确的
abs 判断绝对值
- abs(x)
返回一个数字的绝对值。参数可以是整数或浮点数。如果参数是复数,则返回其大小。
- max()
模块__builtin__内置函数max的帮助: //这里已经说明这个为内建函数“__builtin__”max(…)max(iterable[, key=func]) ->值max(a, b, c,…)[, key=func]) ->值使用一个可迭代参数,返回其最大的项。使用两个或多个参数,返回最大的参数。
常用函数
-
len()
-
divmod()
模块__builtin__内置函数divmod的帮助:divmod(…)divmod(x, y) ->(商,余数)返回元组((x-x%y)/y, x%y)。不变量:div*y + mod == x。
In [15]: divmod(5,2)Out[15]: (2, 1) //5除以2,结果为2,余1
- pow()
模块__builtin__内置功能pow的帮助:pow(…)pow(x, y[, z]) ->号有两个参数,等价于x**y。有三个参数,相当于(x**y) % z,但可能更有效(例如,对于long)。
In [17]: pow(2,3,3)Out[17]: 2 //等同于 2**3,结果除以3,取余数返回结果
- round()
模块__builtin__内置函数轮的帮助:round(…)整数(number[, nnumbers]) ->浮点数以十进制数字(默认为0位)将数字四舍五入到给定的精度。它总是返回一个浮点数。精确度可能是负的。
2.1 内建函数(2)
常用函数
- callable()
判断一个对象是不是可调用
模块__builtin__中可调用的内置函数的帮助:callable(…)可调用的(对象)——>布尔值返回对象是否可调用。)。注意类是可调用的,__call__()方法的实例也是可调用的。
In [20]: def fun(a): ...: print a ...:In [22]: callable(fun)Out[22]: True
- type()
查看定义的是什么类型
- isnstance()
模块__builtin__中内置函数isinstance的帮助:isinstance (…)isinstance(object, class-or-type-or tuple) -> bool返回对象是类的实例还是类的子类的实例。以类型作为第二个参数,返回是否为对象的类型。使用元组isinstance(x, (a, B,…))的表单是isinstance(x, A)或isinstance(x, B)或…(等等)。
In [24]: l = [1,2,3]In [25]: isinstance(l,list)Out[25]: TrueIn [26]: isinstance(l,int)Out[26]: FalseIn [28]: isinstance(l, (int, list,tuple)) //满足判断的类型中其中一个条件即返回TrueOut[28]: True
- cmp()
模块__builtin__内置功能cmp的帮助:cmp(…)cmp(x, y) ->整数Return negative if xy.
In [30]: cmp(1,1)Out[30]: 0In [31]: cmp(1,2)Out[31]: -1In [32]: cmp(1,0)Out[32]: 1
比较字符,以第一个字符进行比较
In [33]: cmp('jkell','help')Out[33]: 1In [34]: cmp('okell','help')Out[34]: 1In [35]: cmp('akell','help')Out[35]: -1In [36]: cmp('heloop','help')Out[36]: -1In [37]: cmp('help','help')Out[37]: 0In [38]: cmp('helpo','help')Out[38]: 1
- range()
直接生成一个列表
- xrange()
占用内存少,输出位一个对象
2.2 内建函数(3)
类型转换函数
- int()
将一个对象转换为一个整型
模块__builtin__中类int的帮助:类int(对象)int(x=0) -> int或longint(x, base=10) -> int或long将数字或字符串转换为整数,如果没有参数,则返回0|如果x是浮点数,则转换截断到零。如果x不在整数范围内,函数返回一个long。如果x不是一个数字或者底是给定的,那么x一定是一个字符串或者对象,该对象表示给定基中的整数文字。的|文字可以在“+”或“-”之前,并被空格包围。基数默认为10。有效的底是0和2-36。以0为底表示|将字符串中的基解释为整型文字。>>> int('0b100', base=0)
- long()
模块__builtin__中类long的帮助:类(对象)长(x=0) ->长长(x,base=10)->长将数字或字符串转换为长整数,如果没有参数,则返回0L。如果x是浮点数,则转换截断到零。如果x不是一个数字或者底是给定的,那么x一定是一个字符串或者对象,该对象表示给定基中的整数文字。的文字可以在“+”或“-”之前,并被空格包围。基数默认为10。有效的底是0和2-36。以0为底表示将字符串中的基解释为整型文字。>>> int('0b100', base=0)4 l
- float()
模块__builtin__中类浮动的帮助:类浮动(对象)浮点数(x) ->浮点数如果可能,将字符串或数字转换为浮点数。
- complex()
模块__builtin__中类综合体的帮助:类复杂(对象)复数(实数[,imag]) ->复数从实部和可选虚部创建一个复数。这相当于(real + imag*1j)其中imag默认为0。
- str()
模块__builtin__中类str的帮助:类str (basestring)str(object= ") ->字符串返回对象的一个很好的字符串表示形式。如果参数是字符串,返回值是相同的对象。方法分辨率顺序:strbasestringobject
- list()
模块__builtin__中类列表的帮助:类列表(对象)|列表()->新空列表|列表(迭代)->新列表初始化从迭代的项目
- tuple()
模块__builtin__中类元组的帮助:类元组(对象)|元组()->空元组|元组(迭代)->元组初始化从迭代的项目如果参数是元组,返回值是相同的对象。
- hex()
模块__builtin__内置函数十六进制的帮助:十六进制(…)十六进制(数字)- >字符串返回整数或长整数的十六进制表示。
- oct()
十进制转为八进制
- chr()
模块__builtin__内置功能chr的帮助:chr(…)chr(i)- >字符返回序号i为一个字符的字符串;0 <= i < 256。 // 返回对应的ascii码
In [51]: chr(95)Out[51]: '_'In [52]: chr(96)Out[52]: '`'In [53]: chr(106)Out[53]: 'j'
- ord()
模块__builtin__内置函数ord的帮助:奥德(…)奥德(c) - >整数返回一个字符串的整数序号。
In [56]: ord('A')Out[56]: 65In [57]: ord('b')Out[57]: 98
- eval()
模块__builtin__内建函数eval的帮助:eval(…)eval(source[, globals[, local]]) ->值在全局和局部上下文中评估源。源可以是表示Python表达式的字符串或者由compile()返回的代码对象。全局变量必须是字典,局部变量可以是任何映射,默认为当前全局变量和局部变量。如果只给出全局变量,则局部变量默认为全局变量。
2.3 内建函数(4)
字符串处理函数
-str.capitalize()
内置函数大写的帮助:大写(…)S.capitalize()- >字符串返回字符串S的第一个字符的副本大写。
In [58]: a = 'a,b,c'In [60]: help(a.capitalize)In [61]: a.capitalize()Out[61]: 'A,b,c'
- str.replace
内置功能替换帮助:替换(…)年代。替换(old, new[, count]) ->字符串返回字符串S的一个副本,其中包含所有出现的子字符串旧的被新的代替。如果可选参数count为给定,只替换第一个出现的计数。
In [67]: a.replace('a','A',2)Out[67]: 'A,b,c'In [68]: aOut[68]: 'a,b,c'In [69]: a.replace('a','A',1)Out[69]: 'A,b,c'
- str.split()
帮助method_descriptor:分割(…)年代。分割([sep [,maxsplit]]) ->字符串列表返回字符串S中的单词列表,使用sep作为分隔符的字符串。如果给出maxsplit,则最多是maxsplit分割完成。如果没有指定sep或没有指定sep,则为any空格字符串是一个分隔符,空字符串被删除从结果。
In [58]: a = 'a,b,c'In [65]: a.split()Out[65]: ['a,b,c']
In [70]: s = 'hello a\tb,nc:ww'In [71]: s.split()Out[71]: ['hello', 'a', 'b,nc:ww']
In [82]: c = '192.168.1.1'In [83]: c.split()Out[83]: ['192.168.1.1']In [84]: c.split('.') //指定分隔符Out[84]: ['192', '168', '1', '1']In [85]: c.split('.',2) //指定分隔符,并指定切割其次,最末的直接为一个列表Out[85]: ['192', '168', '1.1']In [86]: c.split('.',3)Out[86]: ['192', '168', '1', '1']
- str.join()
帮助method_descriptor:join(…)S.join(iterable)- >字符串 返回一个字符串,该字符串是iterable。元素之间的分隔符是S。
In [88]: aOut[88]: 'a,b,c'In [89]: a.join('12')Out[89]: '1a,b,c2'In [93]: ''.join([str(i) for i in range(10)])Out[93]: '0123456789'In [94]: ' '.join([str(i) for i in range(10)])Out[94]: '0 1 2 3 4 5 6 7 8 9'
2.4 内建函数(5)
序列处理函数
- filter()
模块__builtin__内置函数过滤器的帮助:过滤器(…)过滤器(函数或无,序列)->列表,元组,或字符串返回函数(项)为true的序列项。如果函数为None,返回为true的项。如果序列是一个元组或字符串,返回相同类型,否则返回列表。
In [100]: filter(None,'abc')Out[100]: 'abc'
In [102]: def f(x): ...: if x % 2 == 0: ...: return True ...: In [103]: filter(f, range(10)) // 根据函数f,当X 除以 2 结果不等于 0 的时候 ,返回不为True,所以就不打印这个 xOut[103]: [0, 2, 4, 6, 8]
- zip()
模块__builtin__内置函数zip的帮助: //就是对多个小序列进行处理,返回一个大列表zip(…)zip(seq1[,seq2[…]])- >[(seq1[0],seq2[0]…),(…)返回一个元组列表,其中每个元组包含第i个元素从每个参数序列。返回的列表被截断在长度到最短的参数序列的长度。
In [105]: l1 = [1, 2, 3]In [106]: l2 = ['a', 'b', 'c']In [107]: zip(l1,l2)Out[107]: [(1, 'a'), (2, 'b'), (3, 'c')]In [109]: zip(l1, l2, l3)Out[109]: [(1, 'a', 'I'), (2, 'b', 'II')] //如果长度不一样,取最短的序列的长度,进行组合
- map()
模块__builtin__内建函数映射的帮助:map(…)map(function, sequence[, sequence,…])-> list返回将该函数应用于的项的结果列表参数序列(s)。如果给定多个序列,则函数调用时,参数列表由相应的参数组成每个序列的项,如果不是全部,则用None替换缺失的值序列的长度相同。如果函数为空,则返回一个列表序列的项(如果有多个序列,则为元组的列表)。
In [111]: l1Out[111]: [1, 2, 3]In [112]: l2Out[112]: ['a', 'b', 'c']In [113]: l3Out[113]: ['I', 'II']In [115]: map(None,l1, l2, l3)Out[115]: [(1, 'a', 'I'), (2, 'b', 'II'), (3, 'c', None)]
In [116]: def f(x): ...: return x**2 ...:In [117]: map(f, l1) //对l1的每个元素,进行处理Out[117]: [1, 4, 9]
In [123]: l1Out[123]: [1, 2, 3]In [124]: l2Out[124]: [4, 5, 6]In [125]: map(f,l1,l2) //每一个序列作为函数里面对应的参数Out[125]: [4, 10, 18]
案例:
- filter
In [126]: filter(lambda x: x%2 ==0, range(10))Out[126]: [0, 2, 4, 6, 8]
- map()
In [128]: map(lambda x, y: x * y, range(1,10),range(1,10))Out[128]: [1, 4, 9, 16, 25, 36, 49, 64, 81]
列表表达式(列表重写)
In [129]: [i for i in range(10)]Out[129]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]In [130]: [i*2 for i in range(10)]Out[130]: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]In [131]: [i*2+10 for i in range(10)]Out[131]: [10, 12, 14, 16, 18, 20, 22, 24, 26, 28]In [132]: [i*2+10 for i in range(10) if i % 3 == 0] //类似于filter的表达方式Out[132]: [10, 16, 22, 28]