首页 > 其他 > 详细

内置函数、列表生成式、迭代器&生成器与模块

时间:2017-02-24 10:55:23      阅读:163      评论:0      收藏:0      [点我收藏+]
# 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 = bx*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 = bx*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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!