python基础知识

399 阅读3分钟

重要内置函数

zip()
从参数中的多个迭代器取元素组合成一个新的迭代器;
返回:返回一个zip对象,其内部元素为元组;可以转化为列表或元组;
传入参数: 元组、列表、字典等迭代器
filter()
作用为筛选,接受一个筛选函数和一个序列;
筛选函数作用于序列的每一个元素,根据筛选函数的返回值(True或者False)决定该序列中的该元素是否保留。
语法:filter(function, iterable)
参数
    function – 判断函数
    iterable – 可迭代对象
返回值返回一个迭代器对象Iterator;
sorted()
sorted是python的内置函数,并不是可变对象(列表、字典)的特有方法,sorted()函数需要一个参数(参数可以是列表、字典、元组、字符串),无论传递什么参数,都将返回一个以列表为容器的返回值,如果是字典将返回键的列表。

常见内置函数

abs()  绝对值
all()  所有的数据值对应的布尔值为True结果才是True  否则返回False
any()所有的数据值对应的布尔值有一个为True结果就是True  否则返回False
bin()oct()hex()十进制转其他进制
int()  类型转换 其他进制转十进制
bytes()   转换成bytes类型
callable() 判断名字是否可以加括号调用
chr() ord()  基于ASCII码表左庶子与字母的转换
dir() 获取对象内部可以通过句点符获取的数据
divmod()   获取除法之后的整数和余数
enumerate()   枚举
hash()   返回一串随机的数字(哈希值)
help()   查看帮助信息
isinstance()   判断某个数据是否属于某个数据类型
pow()   幂指数
round()   大致:四舍五入 
可迭代对象:字符串 列表 字典 元组 集合 文件对象(本身就是迭代器对象)
不是可迭代对象: 整型 浮点型 布尔值 函数名
可迭代对象能够支持for循环取值

可迭代对象

1.可迭代对象
        对象内置有__iter__方法的都称为可迭代对象
        1.内置方法  通过点的方式能够调用的方法
        2.__iter__  双下iter方法

2.可迭代对象的范围
        不是可迭代对象
        int float bool 函数对象
        是可迭代对象
        str list dict tuple set 文件对象
3.可迭代的含义
迭代:更新换代(每次更新都必须依赖上一次的结果)
手机app更新
可迭代在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.异常结构
        错误位置
        错误类型
        错误详情