详解Python中的内建函数,可迭代对象,迭代器


Posted in Python onApril 29, 2019

Python中的内建函数和可迭代对象,迭代器

求值标识

  1. id() #标识id 返回对象的唯一标识,CPython返回内存地址
  2. hash() #哈希, 返回对象的哈希值
  3. len(s) -->返回一个集合类型的元素个数
  4. range(start,stop[,step]) -->返回一个从start开始到stop结束,步长为step的可迭代对象。step默认为1

类型判断

  1. type() #返回对象的类型
  2. isinstance(obj,class_or_tuple) —>True|False #判断obj是否属于某种类型或者元组中列出的某个类型

例如 isinstance(True,int) #判断True是否是int类型

  1. issubclass(cls,class_or_tuple)—>True|False #判断类型cls是否是某种类型的子类或元组中列出的某个类的子类

例如issubclass(bool,(int,str)) #判断bool是否是(int,str)其中一个的子类。

类型转换

* float()   -->转换为浮点型
* int()     -->转换为整形
* bin()     -->转换为2进制
* hex()     -->转换为16进制
* oct()     -->转换为8进制
* bool()    -->返回bool值
* list()    --->返回列表
* tuple()   --->返回元组
* dict()    --->返回字典对象
* set()     --->返回集合对象
* complex() --->虚数转换
* bytes()   ---> 返回字节数组
* bytearry() --->返回可变的字节数组
* str()     --->返回字符类型

 字符转换

* chr(i)-->str #将整数转换成对应的字符
* ord(str)--->int #将字符转换成对应的整数
* repr()
* ascii()

 输入输出

  1. input([prompt])?>str 接受用户输入,返回一个字符串
  2. print(*object,sep=' ‘,end='\n',file=sys.stdout,flush=False) -->打印输出,默认使用空格分割,换行结尾,输出到控制台

数学运算相关

  1. abs(x)?> 返回x的绝对值 x为数值
  2. max()—> 返回最大值
  3. min()—> 返回最小值
  4. round(x)—>四舍五入取偶, 例如:round(-0.5)==0
  5. pow(x,y)—>求 xy x^yxy
  6.  divmod(x,y) —>返回x除以y的商和x除以y的余组成的二元组。等价于tuple(x//y,x%y)
  7. sum(iterable[,start])可迭代对象的所有数值元素求和

start为初始值,即从几开始累加

例如:

sum(range(5)) #求0~4所有数的和
sum(range(5),3) # 等价于3+sum(range(5))

sorted(iterable[,key][,reverse])—>list #排序,返回一个新的列表,默认升序

revers 是反转,默认revers = False

key 解决待排序中不同类型之间的排序。key是函数(这个函数指定了数据的排序方式),这个函数就可以吧元素强制转化为你指定的类型,但转换后的结果只是用来做比较大小,不会改变最后生成的列表中的元素本身。

例如:

ls = [1,2,5,6,7,4,3,5,3]
ls2 = sorted(ls) # 返回一个由ls内元素升序组成的列表
ls3 = sorted(ls,reverse=True) # 返回一个由ls内元素降序组成的列表
lss = [1,2,5,6,7,4,3,5,"3"]
lss2 = sorted(lss,key=str)
print(lss2)

迭代器惰性求值

reversed(seq) -->返回一个翻转元素的迭代器。惰性求值

例如:

ls = list("abcd")
ls1 = reversed(ls)
print(ls,ls1)
next(ls1)

详解Python中的内建函数,可迭代对象,迭代器

enumerate(seq,start=0)?>枚举生成器对象,返回索引数字和元素构成的二元组

seq 需要迭代的序列

start 表示索引开始的数字,默认是0

iter(iterable) #将一个可迭代对象封装成一个迭代器

next(iterator[,default]) #对一个迭代器取下一个元素。如果元素全部都取过了,再次next会抛出StopIteration异常

例如:

it = reversed([1,3,4,5,6])
next(it)

 zip(*iterable)—>迭代器 #拉链函数

根据多个个可迭代对象,返回一个由对应下标元素组成的元组。迭代器可返回值的个数取决于多个可迭代对象的最小长度。
把多个可迭代对象合并在一起,返回一个迭代器。将每次从不同对象中渠道的元素合并成一个元组

常用例子:

list(zip(range(10,range(10),range(10))))
dict(zip(range(10),range(10)))

例如:

m = zip(range(9),range(6))
for i in m:
  print(i)
print("------------")
m = zip(range(3),range(6))
for i in m:
  print(i)

 详解Python中的内建函数,可迭代对象,迭代器

all(iterable)—>True|False #判断所有元素是否都等效于True,如果都是就返回True,否则返回False。如果集合没有一个元素,返回True

any(iterable)—>True|False #判断所有元素中是否有等效为True的元素,如果有,返回True.如果集合没有一个元素,返回False

详解Python中的内建函数,可迭代对象,迭代器

 可迭代对象

  1. 能够通过迭代一次次返回不同元素的对象
  2. 可迭代,但是未必有序,未必可索引
  3. 可迭代对象有:list、tuple、string、bytes、bytearray、range、set、dict、生成器等
  4. 可使用成员操作符in、not in

迭代器

  1. 特殊的对象,一定是可迭代对象,具备可迭代对象的特征
  2. 生成器对象,就是迭代器对象
  3. 创建和使用:
  4. 可以通过iter方法把一个可迭代对象封装成迭代器
  5. 可以通过next()方法获取迭代器中的元素。

附加

详解Python中的内建函数,可迭代对象,迭代器

以上所述是小编给大家介绍的Python内建函数,可迭代对象,迭代器详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python入门教程 python入门神图一张
Mar 05 Python
Python中defaultdict与lambda表达式用法实例小结
Apr 09 Python
python多进程实现文件下载传输功能
Jul 28 Python
python list转矩阵的实例讲解
Aug 04 Python
transform python环境快速配置方法
Sep 27 Python
Django中数据库的数据关系:一对一,一对多,多对多
Oct 21 Python
Python使用matplotlib实现交换式图形显示功能示例
Sep 06 Python
基于python3监控服务器状态进行邮件报警
Oct 19 Python
Python中的 ansible 动态Inventory 脚本
Jan 19 Python
python由已知数组快速生成新数组的方法
Apr 08 Python
pycharm2020.2 配置使用的方法详解
Sep 16 Python
一文带你掌握Pyecharts地理数据可视化的方法
Feb 06 Python
python抓取需要扫微信登陆页面
Apr 29 #Python
python基于itchat模块实现微信防撤回
Apr 29 #Python
手把手教你使用Python创建微信机器人
Apr 29 #Python
python实现微信防撤回神器
Apr 29 #Python
python实现文件助手中查看微信撤回消息
Apr 29 #Python
Python实现微信消息防撤回功能的实例代码
Apr 29 #Python
python控制nao机器人身体动作实例详解
Apr 29 #Python
You might like
国产动画《伍六七》原声大碟大卖,啊哈娱乐引领音乐赋能IP的新尝试
2020/03/08 国漫
php setcookie函数的参数说明及其用法
2014/04/20 PHP
PHP分页类集锦
2014/11/18 PHP
laravel学习教程之关联模型
2016/07/30 PHP
PHP文件下载实例代码浅析
2016/08/17 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
jQuery实现新消息闪烁标题提示的方法
2015/03/11 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
详解vue-cli中模拟数据的两种方法
2018/07/03 Javascript
Vue.js实现的购物车功能详解
2019/01/27 Javascript
vue-cli3 引入 font-awesome的操作
2020/08/11 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
[00:49]完美世界DOTA2联赛10月28日开团时刻:随便打
2020/10/29 DOTA
Python算法之栈(stack)的实现
2014/08/18 Python
python3.X 抓取火车票信息【修正版】
2018/06/19 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
python 构造三维全零数组的方法
2018/11/12 Python
python去重,一个由dict组成的list的去重示例
2019/01/21 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
python 多进程队列数据处理详解
2019/12/23 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
django执行原始查询sql,并返回Dict字典例子
2020/04/01 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
2020/04/01 Python
阿玛尼美国官方网站:Armani.com
2016/11/25 全球购物
西班牙最大的婴儿用品网上商店:Bebitus
2019/05/30 全球购物
网友共享的几个面试题关于Java和Unix等方面的
2016/09/08 面试题
外贸业务员的岗位职责
2013/11/23 职场文书
庆元旦广播稿
2014/02/10 职场文书
2015年监理工作总结范文
2015/04/07 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
干货:我将这样书写我的演讲稿!
2019/05/09 职场文书
基于python的matplotlib制作双Y轴图
2021/04/20 Python
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
2021/05/29 MySQL
react antd实现动态增减表单
2021/06/03 Javascript
关于python中模块和重载的问题
2021/11/02 Python