python 内置函数
abs
(x)
绝对值函数
1 >>> abs(-1) 2 1 3 >>> abs(1) 4 1 5 >>> abs(-100) 6 100 7 >>> abs(100) 8 100
bin
(x)
将一个整数转换为二进制字符串。结果是一个有效的Python表达式。如果x不是一个Python的int对象,它定义了一个__index__()方法返回一个整数。
1 >>> bin(2) 2 '0b10' 3 >>> bin(4) 4 '0b100' 5 >>> bin(8) 6 '0b1000' 7 >>> bin(64) 8 '0b1000000'
oct(x)
将一个整数数八进制字符串。结果是一个有效的Python表达式。如果x不是一个Python的int对象,它定义了一个__index__()方法返回一个整数。
1 >>> oct(2) 2 '0o2' 3 >>> oct(8) 4 '0o10' 5 >>> oct(64) 6 '0o100' 7 >>> oct(128) 8 '0o200'
将一个整数,转化为一个小写的十六进制字符串的前缀“0x”,例如:
1 >>> hex(255) 2 '0xff' 3 >>> hex(-42) 4 '-0x2a' 5 >>> hex(-33) 6 '-0x21' 7 >>> hex(-34) 8 '-0x22' 9 >>> hex(-3456) 10 '-0xd80'
bin()、oct()、hex()的返回值均为字符串,且分别带有0b、0o、0x前缀。
chr(i)
参数i:取值范围0到1,114,111之间的正数(0x10FFFF基于16进制)。返回整数i对应的ASCII字符。与ord()作用相反。
版本:该函数在python2和python3各个版本中都可用。不存在兼容性问题。
首先让我们看一下ascii字符代码表:
看代码
1 >>> chr(97) 2 'a' 3 >>> chr(98) 4 'b' 5 >>> chr(99) 6 'c' 7 >>> chr(8364) 8 '€'
ord(c)
与chr(i)相反
1 >>> ord("a") 2 97 3 >>> ord("b") 4 98 5 >>> ord("c") 6 99 7 >>> ord("€") 8 8364
float([x])
将一个字符串或数转换为浮点数。如果无参数将返回0.0
1 >>> float() 2 0.0 3 >>> float('+1.23') 4 1.23 5 >>> float(' -12345\n') 6 -12345.0 7 >>> float('1e-003') 8 0.001 9 >>> float('+1E6') 10 1000000.0 11 >>> float('-Infinity') 12 -inf
class int
(x=0)
class int
(x, base=10)
将一个字符转换为int类型(默认为十进制整型),base表示进制(注意,如要指定进制的,则输入值要与指定进制是同一类型,而不是输入值转化为指定进制的意思)
1 >>> int(13.010) 2 13 3 >>> int("0b10",2) 4 2 5 >>> int("0b100",2) 6 4 7 >>> int("0b1000",2) 8 8 9 >>> int("0o2",8) 10 2 11 >>> int("0o10",8) 12 8 13 >>> int("0o100",8) 14 64 15 >>> int("0xff",16) 16 255 17 >>> int("0xaf",16) 18 175
round(x[, n])
四舍五入
1 >>> round(5.5) 2 6 3 >>> round(5.4) 4 5 5 >>> round(10.0) 6 10 7 >>> round(9.9) 8 10 9 >>> round(9.4) 10 9
sum(iterable[, start])
对集合求和
1 >>> L1 = [11,22,33,44,55] 2 >>> sum(L1) 3 165 4 >>> L1 = (11,22,33,44,55) 5 >>> sum(L1) 6 165 7 >>> sum(set(L1)) 8 165
pow(x, y[, z])
返回x的y次幂,z则为整除(如果存在的话)
1 >>> pow(2,3) 2 8 3 >>> pow(2,3,2) 4 0 5 >>> pow(2,3,3) 6 2 7 >>> pow(2,3,9) 8 8
range([start], stop[, step])
产生一个序列,默认从0开始
1 >>> for i in range(10): 2 ... print(i) 3 ... 4 0 5 1 6 2 7 3 8 4 9 5 10 6 11 7 12 8 13 9 14 >>> for i in range(3,10): 15 ... print(i) 16 ... 17 3 18 4 19 5 20 6 21 7 22 8 23 9 24 >>> for i in range(3,10,2): 25 ... print(i) 26 ... 27 3 28 5 29 7 30 9
divmod(a, b)
分别取商和余数
注意:整型、浮点型都可以
1 >>> divmod(10,3) 2 (3, 1) 3 >>> divmod(1,3) 4 (0, 1) 5 >>> divmod(9,3) 6 (3, 0) 7 >>> divmod(6,3) 8 (2, 0) 9 >>> divmod(6.0,3) 10 (2.0, 0.0) 11 >>> divmod(6.0,3.00) 12 (2.0, 0.0)
complex([real[, imag]])
创建一个复数,注意间隔
1 >>> complex('1+2j') 2 (1+2j) 3 >>> complex('1 + 2j') 4 Traceback (most recent call last): 5 File "<input>", line 1, in <module> 6 ValueError: complex() arg is a malformed string
bool([x])
将x转换为Boolean类型
1 >>> bool(0) 2 False 3 >>> bool([]) 4 False 5 >>> bool({}) 6 False 7 >>> bool(set()) 8 False
list
列表
定义一个空列表:
1 list1 = []
列表使用方括号,以逗号分隔的元素
1 list2 = [a] 2 list3 = [a,b,c,1,2,3]
使用可迭代的元素建立列表
1 >>> list5 = [ i for i in range(11) ] 2 >>> print(list5) 3 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
直接使用list构造列表
1 >>> a = (11,22,33,44,55) 2 >>> type(a) 3 <class 'tuple'> 4 >>> b = list(a) 5 >>> type(b) 6 <class 'list'>
set
([iterable])
集合
1 >>> l1 = [11,22,33,44,55] 2 >>> type(l1) 3 <class 'list'> 4 >>> s1=set(l1) 5 >>> 6 >>> type(s1) 7 <class 'set'> 8 >>> print(s1) 9 {33, 11, 44, 22, 55}
tuple
([iterable])- 元组,元素不可变更
1 >>> l1=[11,11,22,22] 2 >>> type(l1) 3 <class 'list'> 4 >>> t1 = tuple(l1) 5 >>> print(t1) 6 (11, 11, 22, 22) 7 >>> type(t1) 8 <class 'tuple'> 9 >>> l1[0] 10 11 11 >>> l1[0]=22 12 >>> print(l1) 13 [22, 11, 22, 22] 14 >>> t1[0] 15 11 16 >>> t1[0]=33 17 Traceback (most recent call last): 18 File "<input>", line 1, in <module> 19 TypeError: 'tuple' object does not support item assignment