内置函数

数学运算

函数功能
abs(x)求x的绝对值
divmod(x, y)求两个数的整除和求余结果(x//y, x%y)
round(a, b)对a进行四舍五入操作,进位到b
pow(x, y)求x的y次幂的结果
sum(x, start=b)对x中所有元素求和, x必须是可迭代的,如列表
min/max求最小/最大值
>>> abs(-4)
4
>>> divmod(10, 3)
(3, 1)
>>> divmod(-10, 3)
(-4, 2)
>>> round(3.1415926,3)
3.142
>>> round(3.1415926) # round(3.1415926, 0)
3
>>> round(12306.78, 1)
12310
>>> pow(2, 4)
16
>>> sum([1,2,3,4])
10
>>> sum([1,2,3,4],start=10)
20
>>> min(1,2,3,4,5)
1
>>> max([3,4,5])
5

进制转换

函数功能
bin(x)将x转换成二进制
oct(x)将x转换成八进制
hex(x)将x转换成十六进制
int(x,base)将x转换成十进制
>>> bin(432)
'0b110110000'
>>> oct(432)
'0o660'
>>> hex(432)
'0x1b0'
>>> int('32baf', 16)
207791
>>> int('32bag', 17)
263754

类型转换

函数功能
bool(x)将x转换成布尔型,如果x为真值,则返回True
str(x)将x转换成字符串,可以直接理解为在x左右两边加"'
list(iterable)将iterable转换成列表
tuple(iterable)将iterable转换成元组
set(iterable)将iterable转换成集合
dict(**kwargs)返回一个字典,字典中的键值对中kwargs里的参数名=值组成

假值:0, '', None, 0.000, [], (,), {}, set()

>>> bool(-1)
True
>>> str([1,2,3,4,5])
'[1, 2, 3, 4, 5]'
>>> list("abcde")
['a', 'b', 'c', 'd', 'e']
>>> tuple("abcde")
('a', 'b', 'c', 'd', 'e')
>>> set("aabbccddee")
{'a', 'b', 'c', 'd', 'e'}
>>> dict(one=1, two=2, three=3)
{'one': 1, 'two': 2, 'three': 3}

字符与码位的转换

函数功能
ord(x)返回x在字符集中的位置, x必须为字符
chr(x)返回字符集中第x位上的字符,x必须为整型
>>> ord('陈')
38472
>>> chr(38471)
'陇'

检查空值

函数功能
all(iterable)如果iterable中所有元素都是真值或为空,返回True,否则返回False
any(iterable)如果iterable中任一元素为真值返回True,否则返回False
def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True

def any(iterable):
    for element in iterable:
        if element:
            return True
    return False

>>> all([])
True
>>> any([])
False
>>> all([1,2,3,4])
True
>>> all([0,1,2,3])
False

批量处理迭代对象

函数功能
filter(func, iterable)将iterable中所有元素作为参数传值给func函数,如果结果为False,则这个元素会被忽略,没有给Func函数传值时默认调用bool()
map(func, iterable)将iterable中所有元素作为参数传值给func函数,将这些新的值放在一个新的可迭代对象里
>>> lst = [0, 1, 2, 3, 4]
>>> f = filter(None, lst)
>>> print(f)
<filter object at 0x00000255BAAF4E20>
>>> list(f)
[1, 2, 3, 4]

>>> m = map(str, lst)
>>> print(m)
<map object at 0x00000255BAAF4EE0>
>>> list(m)
['0', '1', '2', '3', '4']

枚举迭代对象

enumerate(iterable) 枚举iterable中的元素的索引和值,并放在一个新的迭代器中


my_dict = {'A': 1, 'B': 2}

for i in enumerate(my_dict):
    print(i)

"""
(0, 'A')
(1, 'B')
"""

lst = ['a', 'b']

for i in enumerate(lst):
    print(i)

"""
(0, 'a')
(1, 'b')
"""

执行语句

函数功能
eval()执行一个表达式,并返回表达式的结果
exec()执行段语句,没有返回值
>>> a = 5
>>> eval("a+6")
11
>>> eval("'a'*10")
'aaaaaaaaaa'
cycle = """
import turtle as t
t.circle(100)
"""
exec(cycle)

对象类型

函数功能
type(obj)返回obj的类名
isinstance(obj, type)查验obj是不是type类型
>>> type(1)
<class 'int'>

a = input("input a number:")

if type(a) == int:
    print('Yes')
>>> isinstance(1, int)
True