标签:com pre for strong idt class from print 退出
3.6版本python共提供68种内置函数,如下图展示,现将重要内置函数的使用做如下讲解:
1、作用域相关:globals()和locals()
globals():全局作用域中的变量,无论放在全局命名空间还是在局部命名空间,输出结果一样,都是全局中的变量
locals():放在全局命名空间时和globals()效果一致,放在局部命名空间输出局部空间的变量
def func(): x = 1 y = 2 func() print(locals()) print(globals()) #输出结果一致,均为全局变量 def func(): x = 1 y = 2 print(locals()) print(globals()) func() #前者输出局部变量,后者输出全局变量
2、迭代器/生成器相关:range()、iter()、next()
range(n):可迭代对象,可用于for循环得到0-n间的整数,包括0,不包括n
print(range(10)) #结果为:range(0,10) for i in range(10): print(i) #结果为:0 1 2 3 4 5 6 7 8 9
iter():将可迭代对象转变为迭代器,等价于:可迭代对象.__iter__()
from collections import Iterable from collections import Iterator lst=[1,2,3,4,5] print(isinstance(lst,Iterable)) #输出结果:True---是否可迭代对象 print(isinstance(lst.__iter__(),Iterator)) #输出结果:True---是否迭代器 print(isinstance(iter(lst),Iterator)) #输出结果:True---是否迭代器
next():返回迭代器的下一个值。next(迭代器)等价于迭代器.__next__()
#例1: k=iter([1,2,3,4]) print(k.__next__()) #输出结果为:1 print(next(k)) #输出结果为:2 #例2: k=iter([1,2,3,4]) while True: try: print(next(k)) except StopIteration: #超出迭代器的层数就退出循环 break
3、字符串类型python代码执行相关:eval()、exec()、compile()
eval():执行字符串表达式,并返回表达式的值
print(eval(‘2*2‘)) #输出结果:4 x=3 print(eval(‘7*x‘)) #输出结果:21
exec():执行字符串代码,无返回值
4、内置函数filter()和map()
filter()函数:用于过滤序列,将不符合条件的序列过滤,返回符合条件的迭代器。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
def func(n): if n%2 == 0: return True lst = [1,2,3,4,5,6,7] ret = filter(func,lst) print(list(ret)) #输出结果为:[2,4,6]
map()函数: 会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表的迭代器。
lst=[1,2,3,4] def func(n): return n**2 ret=map(func,lst) print(list(ret) #输出结果为:[1,4,9,16]
5、输入和输出函数:input()、print()
print()函数:在py2中是个关键字,语法为:print(*objects, sep=‘ ‘, end=‘\n‘, file=sys.stdout)。objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
sep -- 用来间隔多个对象,默认值是一个空格。end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。file -- 要写入的文件对象。
#进度条实例 import time import sys for i in range(0,101,2): time.sleep(0.1) char_num = i//2 #打印多少个* per_str = ‘\r%s%% : %s\n‘ % (i, ‘*‘ * char_num) if i == 100 else ‘\r%s%% : %s‘%(i,‘*‘*char_num) print(per_str,end=‘‘, file=sys.stdout,flush=True )
标签:com pre for strong idt class from print 退出
原文地址:http://www.cnblogs.com/seven-007/p/7491715.html