每天十分钟Python学习--exec,filter,forma
2019-06-14 本文已影响15人
CodeFUN
- exec(object[, globals[, locals]]):执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码。其返回值为None。
object:我们需要被执行的内容,必须是(正确的)字符串或code对象。
globals:可选参数,存放全局变量,该参数必须是一个字典对象。
locals:可选,局部变量,传递参数为映射对象,如字典。
exec('print(5)')# 5
#或者如下:
a,b=10,20
expr='print(a+b)'
exec(expr,{'a':1,'b':2})# 3
exec(expr)# 30
- filter(function, iterable):用来对可迭代数据的过滤,在python3中返回值是一个迭代器对象,在python2中返回一个满足function为True的列表
def filter_x(x):
if x>5:
return x
x=list(filter(filter_x, [1,2,3,4,6,8,10]))#将其转化为list
print(x)# 6,8,10
- format(value[, format_spec]):对value进行格式化输出,下面展示集中常见的格式化输出
#千分位添加逗号,显示金额
format(1234567,',')#'1,234,567'
'{},{}'.format(3,4)#'3,4'按默认顺序
'{1},{0},{1}'.format(3,4)#'4,3,4'设置指定顺序
'{name},{number}'.format(name='Jack',number='120')#'Jack,120' 指定变量名
#还可以通过字典或者列表来格式化
dict_stu={'name':'Jack','num':'1201'}
'{name},{num}'.format(**dict_stu)#'Jack,1201'
数字格式化是format的一大优点,控制精度,有效数字等
取自runoob.com
'{:.2%}'.format(0.24)#'24.00%'
#也可以用%来实现
'%+.2f%%'%(0.24*100)#'+24.00%'#详情可百度python %格式化输出
- frozenset([iterable]) 参数为可迭代的对象,比如列表、字典、元组等等。返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。
list_a=frozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])