重要内置函数
zip
将多个可迭代对象组合起来,然后可以用列表一次性将结果存入列表、元组或者字典
for循环可以把元素以此取出
fliter
特别需要注意到一点是在python2.7版本中filter()返回列表,而在python3.x版本中filter()返回迭代器对象,我们可以使用内置函数list()手动将filter迭代器对象转换为列表
常见内置函数
1.print(abs(-1)) #求绝对值
2.print(all([1,0,3]))# 判断列表所有值是否为真
print(any([1,0,3]))#判断列表有一个值为真则返回true
3.print(bin(1))#十进制数字转换成二进制
4.print(hex(1))#十进制数字转换成十六进制
5.print(chr(67))#返回十进制的ascii码值
6.print(ord('c'))#返回ascii码的十进制数字
7.print(bool(0))#判断布尔值
8.bytes() #转换成bytes类型
s1 = '您好'
print(s1.encode('utf8'))
print(bytes(s1,'utf8'))
9.callable() #判断名字是否可以加括号调用
name = 'jason'
def index():
print('from index')
print(callable(name)) #False
print(callable(index)) # True
10.print(dir('hello')) # 返回括号内对象能够调用的名字
11.divmod() #元组 第一个数据为整除数,第二个是余数
res = divmod(100,2)
print(res) # (50,0)
res = divmod(100,3)
print(res)
"""
总数据 每页展示的数据 总页码
100 10 10
99 10 10
101 10 11
"""
page_num, more = divmod(9999,20)
print(divmod(99,10)) # (9,9)
if more:
page_num += 1
print('总页码为:',page_num) #总页 码为: 500
12.enumerate() # 枚举
13.ebal() exec() # 能够识别字符串中的python并执行
s1 = 'print("哈哈哈")'
eval(s1)
exec(s1)
s2 = 'for i in
range(100):print(i)'
eval(s2) # 只能识别简单的python代码 具有逻辑性的都不行
exec(s2) # 可以识别具有一定逻辑性的 python代码
14.hash() # 哈希加密
print(hash('jaosn'))
15.id() #内存地址
16.input() # 获取用户输入
17.max() # 求最大值
18.min() # 求最小值
19.map() # 会根据提供的函数对指定序列做 映射
20.pow(a,b) # 幂指数(次方)
21.range() # 生成数据
22.round() # 四舍五入
23.sum() # 求和
24.zip() #函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组组成的列表,如果各个迭代器的元素个数不一致,则返回列表长度最短的对象相同
可迭代对象
1.可迭代对象
对象内置有__iter__方法的都称为可迭代对象
"""
1.内置方法 通过点的方式能够调用的方法
2.__iter__ 双下iter方法
"""
2.可迭代对象的范围
不是可迭代对象
int float bool 函数对象
是可迭代对象
str list dict tuple set 文件对象
3.可迭代的含义
"""
迭代:更新换代(每次更新都必须依赖上一 次的结果)
"""
可迭代在python中可以理解为是否支持for循环
迭代器对象
1.迭代器对象
是由可迭代对象调用__iter__方法产生的
迭代器对象判断的本质是看是否内置有__iter__和__next__
2.迭代器对象的作用
提供了一种不依赖于索引取值的方式
正因为有迭代器的存在 我们的字典 集合才能够被for循环
3.迭代器对象实操
s1 = 'hello' # 可迭代对象
res = s1.__iter__() # 迭代器对象
print(res.__next__()) # 迭代取值 for循环的本质
一旦__next__取不到值 会直接报错
4.注意事项
可迭代对象调用__iter__会成为迭代器对象 迭代器对象如果还调用__iter__不会有任何变化 还是迭代器对象本身
for循环的本质
for 变量名 in 可迭代对象:
循环体代码
"""
1.先将in后面的数据调用__iter__转变成迭代器对象
2.依次让迭代器对象调用__next__取值
3.一旦__next__取不到值报错 for循环会自动捕获并处理
"""
异常捕获/处理
1.异常
异常就是代码运行报错 行业俗语叫bug
代码运行中一旦遇到异常会直接结束整个程序的运行 我们在编写代码的过程中药尽可能避免
2.异常分类
语法错误
不允许出现 一旦出现立刻改正 否则提桶跑路
逻辑错误
允许出现的 因为它一眼发现不了 代码运行之后才可能会出现
3.异常结构
错误位置
错误类型
错误详情
标签:__,内置,函数,迭代,对象,s1,iter,print
From: https://www.cnblogs.com/oiqwyig/p/16792847.html