Python第14天 内建函数

2018-11-30 08:09:28
借鉴文档

2.0-2.4内建函数

  • print(dir(builtin)) 可以看到所有的内建函数

常用内建函数
  • abs() 取绝对值
  • max() 取序列的最大值
  • min() 取序列的最小值
  • len() 取长度
  • divmod(x,y) 返回一个元组((x-x%y)/y, x%y)
  • pow(x,y[,z]) 返回一个数字(x**y) % z
  • round() 返回一个浮点数
  • callable() 返回一个bool,判断一个对象是否可调用
  • type() 查看类型
  • isinstance() 返回一个bool,判断一个对象是不是给定的类型
  • cmp() 返回1,0,-1 比较两个数,可以是数值、字符串、
  • rangge() 返回一个列表
  • xrange() 返回一个对象

类型转换函数
  • int() 转换成int类型
  • long() 转换成long类型
  • flot() 转换成flot类型
  • complex() 转换成复数类型
  • str() 转换成str类型
  • list() 转换成list类型
  • tuple() 转换成元组类型
  • hex() 转换成16进制类型
  • oct() 转换成8进制类型
  • chr(i) 转换成一个字符类型,0<=i<=255,每个数字对应一个ascii字符
  • ord() 转换成int类型,与chr()相反
  • eval() 将字符串当成有效的表达式来求值,就是去掉字符串""

字符串处理函数(字符串处理方法)
  • str.capitalize() 返回字符串并且首字母大写
  • str.replace(old,new) 替换字符串old–>new
  • str.split() 返回一个列表,按规定分割字符串
  • str.join(可迭代对象i) 字符串连接,对i中每个元素迭代,迭代之后的元素必须是字符串,然后将str放在各个迭代后的元素中间
--------------------------------------------
In [4]: a = '12'
In [5]: a.join('abcd')
Out[5]: 'a12b12c12d'
-------------------------------------------
In [7]: ''.join(str(i) for i in range(10))
Out[7]: '0123456789'
--------------------------------------------
In [8]: ' '.join(str(i) for i in range(10))
Out[8]: '0 1 2 3 4 5 6 7 8 9'
--------------------------------------------
In [10]: int(''.join(str(i) for i in range(10)))
Out[10]: 123456789
  • string模块 可以直接调用字符串的处理函数
In [11]: import string
In [12]: string.capitalize('hello')
Out[12]: 'Hello'

序列处理函数、方法
  • filter(function or None, sequence) 过滤 -> list, tuple, or string
    如果第一个参数是none,则序列不做处理
    如果第一个参数是function,则将序列进行function处理
In [17]: def fun(x):
    ...:     if x % 2 == 0:
    ...:         return True
    ...:     
In [18]: filter(fun,range(10))
Out[18]: [0, 2, 4, 6, 8]
  • zip(seq1 [, seq2 […]]) -> [(seq1[0], seq2[0] …), (…)]
    将一个或多个序列进行处理,返回一个大的列表,列表内的多个元素是元组
In [19]: l1 = [1,2,3]
In [20]: l2 = ['a','b']
In [21]: zip(l1,l2)
Out[21]: [(1, 'a'), (2, 'b')]
In [22]: l3 = ['a','b','c']
In [23]: zip(l1,l3)
Out[23]: [(1, 'a'), (2, 'b'), (3, 'c')]
In [24]: l3 = ['a','b','']
In [25]: zip(l1,l3)
Out[25]: [(1, 'a'), (2, 'b'), (3, '')]
  • map(function, sequence[, sequence, …]) -> list
In [27]: l1 = [1,2,3]
In [28]: l3 = ['a','b']
In [29]: map(None,l1,l3)
Out[29]: [(1, 'a'), (2, 'b'), (3, None)]
-------------------------------------------------------
In [30]: def fun(x):
    ...:     return x**2
    ...: 
In [31]: map(fun,l1)
Out[31]: [1, 4, 9]
--------------------------------------------------------
In [32]: l1 = [1,2,3]
In [33]: l2 = [4,5,6]
In [34]: def fun(x,y):
    ...:     return x+y
    ...: 
In [35]: map(fun,l1,l2)
Out[35]: [5, 7, 9]
--------------------------------------------------------
In [45]: map(fun,[int(i) for i in range(5)],[int(j) for j in range(5)])
Out[45]: [0, 2, 4, 6, 8]
----------------------------------------------------------------
In [46]: map(fun,[int(i) for i in range(5)],[int(j) for j in range(4)])
TypeError                                 Traceback (most recent call last)
<ipython-input-46-38dc053e285a> in <module>()
----> 1 map(fun,[int(i) for i in range(5)],[int(j) for j in range(4)])
<ipython-input-34-6f5ab76c45a4> in fun(x, y)
      1 def fun(x,y):
----> 2     return x+y
      3 
TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
注:两个序列中的元素个数要一致,少了会报错
  • reduce()
In [49]: reduce(lambda x,y: x+y,range(5))
Out[49]: 10

列表表达式
In [52]: [i for i in range(5)]
Out[52]: [0, 1, 2, 3, 4]
In [53]: [i+2 for i in range(5)]
Out[53]: [2, 3, 4, 5, 6]

给TA打赏
共{{data.count}}人
人已打赏
开发

Python第41天 importlib与反射

2023-9-11 18:33:25

开发

Python第五天 字典条件if循环for

2023-9-11 18:33:57

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索