Python解释器提供了很多内置函数
参考链接:https://docs.python.org/3.6/library/functions.html
一、数学相关 |
1、绝对值:abs(-1)
2、最大最小值:max([1,2,3])、min([1,2,3])
3、序列长度:len('abc')、len([1,2,3])、len((1,2,3))
4、取模:divmod(5,2) # 结果为(2,1),商2余1
5、乘方:pow(2,3) # 2**3 或者 pow(2, 3, 5) 执行2**3%5
6、浮点数:round(12.226, 2) # 12.23
7、求和:sum([1, 2, 3])
# 一、数学相关
print(abs(-1))
print(max([1, 2, 3]))
print(min([1, 2, 3]))
print(len('abc'))
print(len([1, 2, 3]))
print(len((1, 2, 3)))
print(divmod(5, 2)[0])
print(pow(2, 4, 10))
print(round(11.226, 2))
print(sum([1, 3, 4]))
二、类型转换 |
1、整型:int('123’)
3、浮点型:float('123.4')
4、复数:complex('12+1j')
5、字符串:str(123) + 'haha' # 结果 '123haha'
6、列表:list((1, 2, 3)) # 结果 [1, 2, 3]
7、元组:tuple([1, 2, 3]) # 结果 (1, 2, 3)
8、字典:dict()
9、二进制:bin(x) # 输入十进制,返回二进制
10、十六进制:hex(x) # 输入十进制,返回十六进制
11、八进制:oct(x) # 输入十进制,返回八进制
12、ASCII字符:chr(65) # 返回对应的字符,结果 ‘A'
13、ASCII数字:ord('A'’) # 返回字符对应的ASC码数字编号,结果 65
14、ASCII:ascii('abc') # 'abc',
15、Unicode:ascii('中国') # 'u4e2du56fd'
16、bytes格式:bytes('Jonathan') # b'Jonathan'
17、bytearray(str) # 字符串、bytes可以转换后修改,参考memoryview()
# 二、类型转换
print(int('123') + 13)
print(float('123.4') + 10)
print(complex('12+1j'))
print(str(123) + 'haha')
print(list((1, 2, 3)))
print(list({1, 2, 3, 4}))
print(list('abc'))
print(tuple([1, 2, 3]))
print(hex(12))
print(oct(12))
print(bin(12))
print(chr(65))
print(ord('A'))
三、条件判断 |
1、all(iterable) # 可迭代对象元素全部为True,或者迭代对象为空时,返回True
2、any(iterable) # 可迭代对象元素有一个为True时,返回True;空,返回False
3、bool(判断条件) # 返回True 或者 False
4、callable() # 是否可调用
# all()
list1 = [True, True, True]
list2 = [True, False, False]
list3 = []
list4 = [[], []]
print(all(list1)) # True
print(all(list2)) # False
print(all(list3)) # True
print(all(list4)) # False
# any()
print(any(list1)) # True
print(any(list2)) # True
print(any(list3)) # False
print(any(list4)) # False
# bool()
print(1 > 2) # False
print(bool(1 > 2)) # False
四、内存相关 |
1、返回内存地址 id(111)
2、直接修改原内存 memoryview()
#memoryview #usage: #>>> memoryview(b'abcd') #<memory at 0x104069648> #在进行切片并赋值数据时,不需要重新copy原列表数据,可以直接映射原数据内存, import time for n in (100000, 200000, 300000, 400000): data = b'x'*n start = time.time() b = data while b: b = b[1:] print('bytes', n, time.time()-start) for n in (100000, 200000, 300000, 400000): data = b'x'*n start = time.time() b = memoryview(data) while b: b = b[1:] print('memoryview', n, time.time()-start)
五、查看对象功能 |
1、查看对象的方法 dir(len)
2、查看全局变量 globals()
3、查看局部变量 locals()
4、查看变量 vars()
5、查看对象功能 help()
六、数据解析 |
1、eval() # 把字符串形式的表达式,解析并执行
2、exec() # 把字符串形式的代码,解析并执行
3、compile() # 把一个代码文件加载进来,eval() 或 exec()的方式,解析并执行
print(eval("1 + 2")) exec("print('hello world')") f = open("列表生成式.py",encoding="utf-8") data = compile(f.read(), '', 'exec') print(data)
七、输入输出 |
1、输入input()
2、输出 print()
input("Please input:>") # print() 参数 for i in range(10): # time.sleep(0.5) print("#", end="", flush=True) print(" ")
八、其他 |
1、哈希运算:hash('alex') # 当前程序不变
md5 # 校验数据完整性,始终不变
2、拉链函数:zip()
3、动态导入模块函数:__import__()
# zip() a = list(range(10)) b = list(range(10, 16)) print(list(zip(a, b))) # __import__() m_input = input(">>>:") __import__(m_input)