Python 内建函数

内建函数

字符串

  • .endswith(suffix[, start[, end]])

    • suffix – 该参数可以是一个字符串或者是一个元素
    • start – 字符串中的开始位置
    • end – 字符中结束位置
  • .capitalize()

    • 把字符串的第一个字符大写
  • .count(str, beg=0, end=len(string))

    • 返回 str 在 string 里面出现的次数,beg 和 end 指定范围
  • .decode(encoding=‘UTF-8’, errors=‘strict’)

    • 以 encoding 指定的编码格式解码 string
    • 如果出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 ‘ignore’ 或 者 ‘replace’
  • .encode(encoding=‘UTF-8’, errors=‘strict’)

    • 以 encoding 指定的编码格式编码 string
  • ==.find(str, beg=0, end=len(string))==

    • 检测 str 是否包含在 string 中
    • 如果是返回开始的索引值,否则返回 -1
  • .isalnum()

    • 检测字符串是否由字母和数字组成
  • .isalpha()

    • 检测字符串是否只由字母组成
  • .isdigit()

    • 检测字符串是否只由数字组成
  • ==.join()==

    • 将序列中的元素以指定的字符连接生成一个新的字符串
    • str.join(sequence)
      • sequence – 要连接的元素序列
      1
      2
      
      _str = "-";seq = ("a", "b", "c"); # 字符串序列
      print _str.join( seq );
      
  • .lstrip()

    • 截掉字符串左边的指定字符(默认为空格)
    • str.lstrip([chars])
  • .rstrip()

    • 删除字符串末尾的指定字符(默认为空格)
  • ==.strip()==

    • 移除字符串头尾指定的字符(默认为空格或换行符)或字符序列
  • ==.split()==

    • 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
    • 返回分割后的字符串列表
    • str.split(str, num)
      • str – 分隔符,默认为所有的空字符,包括空格、换行 (\n)、制表符 (\t) 等。
      • num – 分割次数。默认为 string.count(str) , 即分隔所有。
    1
    2
    3
    
    str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
    print str.split( );       # 以空格为分隔符,包含 \n
    print str.split(' ', 1 ); # 以空格为分隔符,分隔成两个
    
      输出
    
    1
    2
    
    ['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
    ['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
    
  • .upper()

    将字符串中的小写字母转为大写字母

  • .lower()

    转换字符串中所有大写字符为小写

  • .swapcase()

    对字符串的大小写字母进行转换

  • ==.replace(old, new[, max])==

    替换字符

    • old – 将被替换的子字符串。
    • new – 新字符串,用于替换 old 子字符串。
    • max – 可选字符串, 替换不超过 max 次
  • .maketrans(intab, outtab)

    创建字符映射的转换表

    • intab – 字符串中要替代的字符组成的字符串
    • outtab – 相应的映射字符的字符串
    1
    2
    3
    4
    5
    6
    7
    8
    
    intab = "aeiou"
    outtab = "12345"
    
    trantab = str.maketrans(intab, outtab)
    
    txt = "this is string example....wow!!!";
    print(txt.translate(trantab))
    # th3s 3s str3ng 2x1mpl2....w4w!!!
    
  • partition(str)

    • 根据指定的分隔符将字符串进行分割,不会将分隔符舍去
    1
    2
    3
    4
    5
    6
    
    str = "www.runoob.com"
    
    print str.partition(".")
    
    # 输出
    ('www', '.', 'runoob.com')
    
  • center(width, str)

    • 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串,默认填充空格
    1
    2
    3
    4
    5
    
    >>> str = 'runoob'
    >>> str.center(20, '*')
    '*******runoob*******'
    >>> str.center(20)
    '       runoob       '
    

其他

  • ==enumerate()==

    将一个可遍历的数据对象 (如列表、元组或字符串) 组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中

    返回 enumerate (枚举) 对象。

    enumerate(sequence, [start=0])

    • sequence – 一个序列、迭代器或其他支持迭代对象。
    • start – 下标起始位置。
    1
    2
    3
    
    seq = ['one', 'two', 'three']
    for i, element in enumerate(seq):
    	print(i, element)
    

    输出

    1
    2
    3
    
    0 one
    1 two
    2 three
    
  • dir()

    不带参数时,返回当前范围内的变量、方法和定义的类型列表;

    带参数时,返回参数的属性、方法列表

  • ==map()==

    根据提供的函数对指定序列做映射。

    第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

    map(function, iterable, ...)

    返回迭代器,可用 list() 转换成列表

  • .format()

数字格式输出描述
3.1415926{:f}3.14保留小数点后两位
3.1415926{:+f}+3.14带符号保留小数点后两位
-1{:+f}-1.00带符号保留小数点后两位
2.71828{:f}3不带小数
5{:0>2d}05数字补零 (填充左边, 宽度为 2)
5{:x<4d}5xxx数字补 x (填充右边, 宽度为 4)
10{:x<4d}10xx数字补 x (填充右边, 宽度为 4)
1000000{:,}1,000,000以逗号分隔的数字格式
0.25{:%}25.00%百分比格式
1000000000{:e}1.00e+09指数记法
13{:>10d}13右对齐 (默认, 宽度为 10)
13{:<10d}13左对齐 (宽度为 10)
13{:^10d}13中间对齐 (宽度为 10)
11'{:b}'.format(11) '{:d}'.format(11) '{:o}'.format(11) '{:x}'.format(11) '{:#x}'.format(11) '{:#X}'.format(11)1011 11 13 b 0xb 0XB进制
  • eval(expression)

    执行一个字符串表达式,并返回表达式的值

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    
    >>>x = 7
    >>> eval( '3 * x' )
    21
    >>> eval('pow(2,2)')
    4
    >>> eval('2 + 2')
    4
    >>> n=81
    >>> eval("n + 4")
    85
    
  • bin(x)

    • 将数字 x 转换为二进制串
  • chr(x)

    • 返回 unicode 为 x 的字符
  • ord(x)

    • 返回字符 x 的 unicode 编码
  • ==filter(function, iterable)==

    • 过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换
      • function – 判断函数,return bool
      • iterable – 可迭代对象。
  • ==reduce(function, iterable)==

    • 函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果(即累积计算
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    #!/usr/bin/python
    from functools import reduce
    
    def add(x, y) :            # 两数相加
    	return x + y
    sum1 = reduce(add, [1,2,3,4,5])   # 计算列表和:1+2+3+4+5
    sum2 = reduce(lambda x, y: x+y, [1,2,3,4,5])  # 使用 lambda 匿名函数
    print(sum1)
    print(sum2)
    
  • round(x [, n])

    • 返回浮点数 x 的四舍五入值
    • x – 数值表达式。
    • n – 数值表达式,表示从小数点位数。
  • ==zip([iterable, …])==

    • 将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
    • iterabl – 一个或多个迭代器
    • 返回元组列表
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    >>> a = [1,2,3]
    >>> b = [4,5,6]
    >>> c = [4,5,6,7,8]
    >>> zipped = zip(a,b)     # 打包为元组的列表
    1, 4), (2, 5), (3, 6)]
    >>> zip(a,c)              # 元素个数与最短的列表一致
    1, 4), (2, 5), (3, 6)]
    >>> zip(*zipped)          # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
    1, 2, 3), (4, 5, 6)]
    
  • locals()

    • 返回当前作用域内所有局部变量和值的字典
  • globals()

    • 返回当前作用域内所有全局变量和值的字典