姜小白的Python日记Day12 迭代器与内置函数

迭代器
凡是可作用于for循环的对象都是Iterable类型(可迭代类型)
凡是可用于next()函数的对象都是Iterator类型(迭代器)
list,dict,str可通过inter()转换成迭代器
可通过isintance()判断是否是迭代器
迭代器的运算是惰性的,并且可以表示无限大的数据流

匿名函数
def sayhi(n):
print(n)
sayhi(3)
(lambda n:print(n))(5)
calc = lambda n:print(n)
calc(5)
calc = lambda n:3 if n<4 else n#只能进行三元运算
print(calc(2))

内置函数
abs()#取绝对值

all()#可迭代对象中全为真则返回真
print([all(1,5,-3)])

any()#可迭代对象中有真则返回真
print([any(1,5,-3)])

ascii()#把数据对象转换成一个可打印的字符串形式

bin()#把十进制整数转换成二进制

bool()#判断真假

bytearray()#字节数组打印出对应字符串的ASCII码的位数
b = bytearray(“abcde”,encoding=“utf-8”)
b[3] = 50
print(b)

callable()#判断是否可以调用

chr()#返回数字在ASCII码内该位数的字符
chr(98)

ord()#返回字符在ASCII码内对应位数
ord(“b”)

compile()#把代码转换成字节码
code = “for i in range(10)
print(i)
c = compile(code,”",“exec”)
exec©

code = “1+3/2*6”
c = compile(code,"",“eval”)
eval©#eval(code)

dir#查看方法

divmod#返回结果和余数
print(divmod(5.2))

eval#把字符串变成字典(简单计算)

exec#把字符串变成字典(循环)

filter#过滤数据
res = fliter(lambda n:n>5,range(10))
for i in res:
print(i)

map#对所有值进行处理再覆盖原值
res = map(lambda n:nn,range(10))#[i2 for i in range(1)]
for i in res:
print(i)

reduce#
import functools
res = functools.reduce(lambda x,y:x+y,range(10))
print(res)

frozeset#不可变集合
a = set([1,2,3,4,5,6,7,66,234,34,5])
a = frozenset([1,2,3,4,5,6,7,66,234,34,5])

globals#返回当前程序的key,value形式(不包含局部变量)
print(globals())

hash#哈希:映射,排列,二分法

help#查看帮助

hex#把一个数字转成16进制

locals#
def test():
local_var = 333
print(locals)
test()
print(globals().get(‘local_var’))

oct#把一个数字转8进制

pow#返回数据的幂运算结果
pow(3,3)

repr#把一个对象转换成字符串形式

round()#保留两位小数
round(1.345)

slice()#切片
d = range(20)
d[slice(2,5)]#range(2,5)

sorted#排序
a = {6:2,0:2,4:22,58:0,99:11}
print(a)
print(soted(a.items()))#按key排序后输出成列表
print(soted(a.items(),key=lambda x:x[1]))

vars#返回一个对象的所有属性名

zip#组合
a = [1,2,3,4,5,6]
b = [“a”,“b”,“c”,“d”]
for i in zip(a,b)
prinnt(i)#按少的拼

import
import(“decorator”)#引入字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值