Python数据类型,迭代器和生成器
来源:互联网 发布:北京快道网络 董事长 编辑:程序博客网 时间:2024/06/17 03:02
数据类型 :
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Sets(集合)
Dictionary(字典)
字符串
1.1、如何在Python中使用字符串
a、使用单引号(‘)
用单引号括起来表示字符串,例如:
str=’this is string’;
print str;
b、使用双引号(“)
双引号中的字符串与单引号中的字符串用法完全相同,例如:
str=”this is string”;
print str;
c、使用三引号(”’)
利用三引号,表示多行的字符串,可以在三引号中自由的使用单引号和双引号,例如:
str=”’this is string
this is pythod string
this is string”’
print str;
数字
Python3 支持 int、float、bool、complex(复数)。
数值运算
>>>5 + 4 # 加法9>>> 4.3 - 2 # 减法2.3>>> 3 * 7 # 乘法21>>> 2 / 4 # 除法,得到一个浮点数0.5>>> 2 // 4 # 除法,得到一个整数0>>> 17 % 3 # 取余 2>>> 2 ** 5 # 乘方32
迭代器
迭代器就是可以帮助我们不断循环的做某件事情的工具,比如说我们使用for..in…循环一个数组,就是通过迭代器完成的。
在python中,有个iter方法,一个类实现它既可进行迭代
class ff: b = 0 def __init__(self,a): self.a = a def __iter__(self): return self def __next__(self): self.b += 1 if self.b>self.a: raise StopIteration return self.b**2for a in ff(3): print(a)
该方法返回一个迭代对象,然后,Python的for循环就会不断调用该迭代对象的next()方法拿到循环的下一个值,直到遇到StopIteration错误时退出循环。
生成器
生成器与迭代器类似,但是生成器不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,直到遇到StopIteration异常结束。
在Python中,使用了yield的函数就称为生成器。
跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,可以理解为:生成器就是一个迭代器。
生成器和函数的执行流程不一样,函数是顺序执行,遇到return语句或者最后一行函数语句就结束。在调用生成器运行过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield值。并在下一次执行next方法时,从当前位置继续运行
sum([i for i in xrange(10000000000)])sum(i for i in xrange(10000000000))
在电脑上运行上面两个表达式,会发现上面那个会占用大量内存导致电脑卡死,而下面那个几乎没有占到多少内存,就是因为迭代器是直接返回一个列表,而生成器只会在需要时调用,且只保存一个状态,所以在很多时候选择生成器是更好的选择。
但是生成器的缺点就是只能遍历一次
- Python数据类型,迭代器和生成器
- Python 数据类型以及迭代器和生成器
- python迭代器和生成器
- Python 迭代器和生成器
- Python 迭代器和生成器
- Python迭代器和生成器
- Python迭代器和生成器
- python迭代器和生成器
- Python迭代器和生成器
- python迭代器和生成器
- python 迭代器和生成器
- python 迭代器和生成器
- Python--迭代器和生成器
- python迭代器和生成器
- Python 迭代器和生成器
- python迭代器和生成器
- python--迭代器和生成器
- Python迭代器和生成器
- 专访阿里云闵万里:云上逐鹿_ET大脑要做行业化、垂直化的创新运用
- HDU 6209 数学
- [Linux] MySQL 单点安装
- 1063. 计算谱半径(20)
- Linux网络编程服务器模型选择之IO复用循环并发服务器
- Python数据类型,迭代器和生成器
- vim增加格式化功能
- 互联网协议入门(二)
- CentOS6一键升级Python2.7及安装常用工具脚本
- 从程序员到项目经理:为什么要当项目经理
- Wireshark分析DHCP
- 2017.10.9
- 【20171009】Java名词理解
- 详解Oracle 重要函数(带例子)