# 1.内置函数部分
字符串和bytes类型是不可改的数据类型
bytearray 允许在原内存地址修改
chr 对应的ascii二进制数据转成字符和ord()相反
compile() 把一个文件加载进来,按exec或eval的方式解析并执行
exec 可以把字符串编程代码进行执行,注意执行的是代码
a = "print(‘hello world‘)" exec(a) hello world
eval 可以在字符串中的表达式进行执行,注意执行的是表达式
b = (‘1+2+3+4*5‘) eval(b) 26 print(exec(b)) None
dir()查看一个对象的方法
filter() 对值完成过滤后进行操作
a = range(0, 10) b = filter(lambda x: x > 5, a) for i in b: print(i) x相当于函数中的参数,把a中的元素交给lambda
map() 对值本身进行操作
a = map(lambda x: x*x, range(10)) for i in a: print(i) a = map(lambda x: x> 1, range(10)) for i in a: print(i)
globals() 把当前程序中所有的变量显示出来,用来判断一个变量是否存在
locals() 只显示当前程序中的局部变量
hash()把一个字符串变成hash值,只在当前的程序下不会改变
md5() 只要输入不变,输出永远不变,用来做一致性校验
hex() 转成16进制
isinstance() 判断一个对象是否是一个实例
reduce()
from functools import reduce a = reduce(lambda x,y: x+y , range(10)) print(a) [0,1,2,3,4,5,6,7,8,9] 1. x = 0, y = 1 x = x + y 即x = 1 , y = 2 2. x = 1, y = 2 x = x + y 即x = 3 , y = 3 可以对列表中的值进行运算,可以+-*/ b = reduce(lambda x, y: x*y, range(1, 10)) print(b)
memoryview 在进行切片和赋值时,不需要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)
print() 打印进度条
print(value, ..., sep=‘ ‘, end=‘\n‘, file=sys.stdout, flush=False)
print默认以换行结束输出,并且默认会在缓存中
for i in range(10): print(‘#‘, end="") ##########>>> import time for i in range(10): time.sleep(0.5) print(‘#‘, end="") ##########>>> 由于print默认flush=false,此时10个#号是先放到缓存,然后整体一下输出 for i in range(10): time.sleep(0.5) print(‘#‘, end="", flush=True) ##########>>> 此时将flush=True,就可以看到#号是一个一个的显示打印出来
print file=sys.stdout默认打印到屏幕上,可以指定打印到文件里 f = open(‘test.txt‘, ‘w‘) print(‘hey,you‘, file=f) f.close()
zip 像衣服的拉链一样,将两边的列表合成1个
a = list(range(10)) b = list(range(10,16)) a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] b [10, 11, 12, 13, 14, 15] zip(a,b) <zip object at 0x1088cee48> list(zip(a,b)) [(0, 10), (1, 11), (2, 12), (3, 13), (4, 14), (5, 15)]
import 时只导字符串形式,有可能要求用户输入,用户输入的时什么模块就导入什么模块
__import__("装饰器")
‘
原文:http://www.cnblogs.com/Pangjn/p/6437438.html