python全栈开发 * 14 知识点汇总 * 180530
14 生成器表达式 内置函数
# 一.迭代器 (补充)
# 1.如何判断迭代对象,迭代器
# (1).dir(obj)检测对象有没有iter方法,然后it=obj.__iter__() 获取迭代器 , it.__next__() 获取元素.
s="我一定能学会一门计算机语言"
print(dir(s)) # 可以检测字符串有没有iter() 方法
it=s.__iter__() # 获取迭代器
print(it.__next__()) # 获取元素
print(it.__next__())
#(2).引入模块
from collections import Iterable #(str,list,dict,tuple,set)
print(isinstance(s,Iterable)) # 结果是True 是可迭代对象
print(isinstance(s,Iterable)) # 结果是True 是迭代器
#二.构建生成器的方法:
# 1.生成器函数 有yield
# 2.生成器表达式
#三.生成器表达式
# 1.循环模式
# ( 变量 (加工后的变量) for 变量 in iterable )
l2 = [i for i in range(1, 14)] #列表推导式
print(l2)
gen_obj = (i for i in range(1, 14)) #生成器表达式
print(gen_obj)
print(gen_obj.__next__()) #取值
#加工后的变量
l1=["python%s期" %i for i in range(1,14)] #列表推导式
print(l1)
gen_obj1=("python%s期" %i for i in range(1,14)) #生成器表达式
print(gen_obj1.__next__()) #取值
# 列表推导式的优点:
#1.节省代码;
#2.比较高大上
# 缺点: 不好排错.
#整体评价:
# 凡是用列表推导构造的对象,用其他方式都可以构建.非常复杂列表,列表推导式构建不出来.
# 2.筛选模式
#( 变量 (加工后的变量) for 变量 in iterable if 条件 )
# (1)10以内所有数的平方
gen_ob = (i**2 for i in range(11))
print(gen_ob.__next__()) #0
print(gen_ob.__next__()) #1
print(gen_ob.__next__()) #4
#(2)30以内所有能被3整除的数的平方
gen_ob1=(i**2 for i in range(31) if i % 3 == 0)
print(gen_ob1.__next__())
print(gen_ob1.__next__())
print(gen_ob1.__next__())
print(gen_ob1.__next__())
#(3)100 以内所有的奇数.
#方法一
gen_ob3=(i for i in range(1,101,2))
print(gen_ob3.__next__())
print(gen_ob3.__next__())
print(gen_ob3.__next__())
print(gen_ob3.__next__())
#方法二
gen_ob4=(i for i in range(101) if i % 2 == 1)
print(gen_ob4.__next__())
print(gen_ob4.__next__())
print(gen_ob4.__next__())
print(gen_ob4.__next__())
#获取全部的值:
for i in gen_ob4:
print(i)
python全栈开发 * 14 知识点汇总 * 180530的更多相关文章
- python全栈开发 * 01知识点汇总 * 180530
一 python简介. 1.创始人: 吉多 .范罗苏姆 \ (Guido van Rossum). 2.时间 : 1989年. 3.主要应用领域 : 云计算 \ WEB开发 \ ...
- python全栈开发 * 12 知识点汇总 * 180530
12 知识点总结 装饰器进阶 ⼀. 通⽤装饰器的回顾1.开闭原则: 对增加功能开放. 对修改代码封闭2.装饰器的作⽤: 在不改变原有代码的基础上给⼀个函数增加功能3.通⽤装饰器的写法:def wrap ...
- python全栈开发 * 10知识点汇总 * 180612
10 函数进阶 知识点汇总 一.动态参数 形参的第三种1.动态接收位置传参 表达:*args (在参数位置编写 * 表⽰接收任意内容) (1)动态位置参数def eat(*args): print(a ...
- python全栈开发 * 32知识点汇总 * 180717
32 网络编程 (一)一.架构 定义:程序员开发的一种模式. 分类: C/S 架构 C/S即:Client与Server , 客户端/ 服务器模式 . 缺点 : 冗余 B/S 架构 Browser与S ...
- python全栈开发 * 26知识点汇总 * 180709
26 logging collections random 模块 一.logging低配:日志不能写入文件与显示同时进行 import logging logging.basicConfig(leve ...
- python全栈开发 * 36知识点汇总 * 180721
36 操作系统的发展史 进程一.手工操作--穿孔卡片 1.内容: 程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制 台开关启动程序针对 ...
- python全栈开发 * 31知识点汇总 * 180716
31 模块和包一.模块(一)模块的种类:内置模块,自定义模块,扩展模块第三方模块(二)自定义模块 1.模块的创建 : 新建一个py文件. 2.模块名 : 模块名需要符合变量的命名规范. 3.模块的导入 ...
- python全栈开发 * 24 知识点汇总 * 180705
24 模块-------序列化一.什么是模块 模块:py文件就是一个模块.二.模块的分类:(1)内置模块 (登录模块,时间模块,sys模块,os模块)(2)扩展模块 (itchat 微信有关,爬虫,b ...
- python全栈开发 * 30知识点汇总 * 180713
30 re模块2一.正则表达式在线测试 在线测试工具 http://tool.chinaz.com/regex/(一).*?的用法: . 是任意字符 * 是取 0 至 无限长度 ? 是非贪婪模式.合在 ...
随机推荐
- ChartControl控件0和null的效果
DevExpress的ChartControl虽然还不能完全代替Office图表(例如它暂时不支持添加数据表),但它算同类产品中相当优秀的了,下面是对0值和空值的处理. DataTable zeroD ...
- Add Columns to the Web Sessions List
To add custom columns to the Web Sessions List, add rules using FiddlerScript. The BindUIColumn Attr ...
- HighLight.js 使用Demo
复制下面代码,保存为html,浏览器打开预览即可. <!DOCTYPE html> <html> <head> <meta charset="utf ...
- Docker 国内仓库和镜像
Docker 国内仓库和镜像 由于网络原因,我们在pull Image 的时候,从Docker Hub上下载会很慢...所以,国内的Docker爱好者们就添加了一些国内的镜像(mirror),方便大家 ...
- 转 : 深入解析Java锁机制
深入解析Java锁机制 https://mp.weixin.qq.com/s?__biz=MzU0OTE4MzYzMw%3D%3D&mid=2247485524&idx=1&s ...
- 初识go的tomb包
在分析github.com/hpcloud/tail 这个包的源码的时候,发现这个包里用于了一个另外一个包,自己也没有用过,但是这个包在tail这个包里又起来非常大的作用 当时并没有完全弄明白这个包的 ...
- ASP.NET CORE下运行CMD命令
ASP.NET CORE下运行CMD命令,用以前的ASP.NET 的命令System.Diagnostics.Process.Start("notepad");这样是可以运行出记事 ...
- [MySQL Code]Innodb 锁分配和锁冲突判断
根据阿里月报 : MySQL · 引擎特性 · InnoDB 事务锁系统简介 MySQL · 引擎特性 · Innodb 锁子系统浅析 行锁的入口:rec_lock_rec
- iOS 实现单个页面支持横竖屏,其他页面只能竖屏
最近在自己的项目里面 有需要做一个需求 : app中某一个页面支持横竖屏, 而其他页面只能竖屏. 1 2 实现方法如下: 1 首先需要Xcode中选中支持的屏幕方向 2 Appdelegate中 . ...
- 飞鹅云打印 API_C#
飞鹅云打印: 提交订单支付成功后台自动打印,实现无人销售,自动打印,后台统计打印记录功能: 有自带WIFY:连接到wify就可以打印小票: 有自动SIM卡:第1年免流量费,第2年30一年 ...