Day 21 三元表达式、生成器函数、列表解析
知识点程序:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# __author__ = "DaChao"
# Date: 2017/6/16 l = [i for i in range(100) if i%2 > 0]
print(l) ###########################
#生成器 generator!!! 模拟tail grep功能
########################### # import time
# def tail(filepath,encoding="utf-8"):
# with open(filepath,encoding=encoding) as f:
# f.seek(0,2)
# while True:
# line = f.readline()
# if line:
# # print("line")
# yield line
# else:
# time.sleep(0.5)
#
# g = tail("a.txt")
# for i in g:
# print(i) # # tail("a.txt")
# def grep(lines,pattern):
# for line in lines:
# if pattern in line:
# print(line)
# # # # for i in g:
# # print(g)
# g1 = grep(g,"error")
#
# g2 = grep(g1,"404")
# #
# for line in g2:
# print(line) ###########################
#生成器 generator!!! yield 的重复使用
########################### # def countdown(n):
# print("start")
# while n > 0:
# yield n
# n -= 1
# print("end")
#
# g = countdown(5) # print(g)
# print(g.__next__())
# print(g.__next__())
# print(g.__next__())
# print(g.__next__())
# print(g.__next__())
# print(g.__next__())
#
# for i in g:
# print(i) ###########################
#生成器 带有yield
########################### # def foo():
# print("1111111")
# yield 1
# print("222222222")
# yield 2
# print("33333333")
# yield 3
#
# g = foo()
#
# for i in g: #obj = g.__iter__() #obj,__next__
# print(i) # print(g.__next__())
# print(g.__next__())
# print(g.__next__())
# print(g.__next__())
###########################
#生成器函数
########################### # def lay_eggs(num):
# '''
# 存鸡蛋!
# :param num:
# :return:
# '''
# egg_list = []
# for egg in range(num):
# egg_list.append("egg%s" %egg)
# return egg_list # yikuangdan = lay_eggs(10)
# for i in yikuangdan: #下蛋
# print(i) # def lay_eggs1(num):
# for egg in range(num):
# res = "egg%s" %egg
# yield res
# print("Egg +")
#
# laomuji = lay_eggs1(10)
# print(laomuji)
# print(laomuji.__next__())
# print(laomuji.__next__())
# print(laomuji.__next__())
# print(laomuji.__next__())
# egg_l = list(laomuji)
# print(egg_l) ##########################
#迭代器
########################### # d = {"a":1,"b":2,"c":3}
#
# obj = d.__iter__()
#
# while True:
# try:
# i = obj.__next__()
# print(i)
# except StopIteration:
# break
Day 21 三元表达式、生成器函数、列表解析的更多相关文章
- python学习Day12 函数的默认值、三元表达式、函数对象(函数名)的应用场景、名称空间与作用域
复习 1.字符串的比较: -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 2. 函数的参数 : 1)实参与形参: -- 形参:在函数定义时()中出现的参数 ...
- day21 生成器,列表解析,三元表达式
Python之路,Day9 = Python基础9 判断可迭代对象和迭代器 from collections import Iterable, Iterator # 导入模块功能,用来判断对象是否为I ...
- python之生成器(~函数,列表推导式,生成器表达式)
一.生成器 概念:生成器的是实质就是迭代器 1.生成器的贴点和迭代器一样,取值方式也和迭代器一样. 2.生成器一般由生成器函数或者声称其表达式来创建,生成器其实就是手写的迭代器. 3.在python中 ...
- Python基础(8)_迭代器、生成器、列表解析
一.迭代器 1.什么是迭代 1 重复 2 下次重复一定是基于上一次的结果而来 l=[,,,] count= while count < len(l): print(l[count]) count ...
- Python--day12(三元表达式、函数对象、名称空间与作用域、函数嵌套定义)
今日主要内容 1. 函数默认值细节(*) 2. 数据类型补充:三元表达式.列表推导式.字典推导式 (***) 3. 函数对象:函数名的各种应用场景 (*****) 4. 名称空间与作用域:解释 ...
- python基础之生成器,生成器函数,列表推导式
内容梗概: 1. 生成器和生成器函数. 2. 列表推导式. 1.生成器函数1.1 生成器函数. 就是把return换成yield def gen(): print("爽歪歪") y ...
- Day05:装饰器,三元表达式,函数的递归,匿名/内置函数,迭代器,模块,开发目录
上节课复习:1.函数的对象 函数可以被当作数据取处理2.函数嵌套 嵌套调用:在调用一个函数时,函数体代码又调用了其他函数 嵌套定义:在一个函数内部又定义了另一个函数 def foo( ...
- Day13有参装饰器,三元表达式,匿名函数
多个装饰器: 加载顺序:由下而上 执行顺序:由上而下 有参装饰器: 闭包,给函数传参的一种方法 当装饰器内需要参数时,可以采用闭包形式给其传参,第三层函数接收完参数时,就变为无参装饰器 三元表达式: ...
- python全栈开发-Day12 三元表达式、函数递归、匿名函数、内置函数
一. 三元表达式 一 .三元表达式 仅应用于: 1.条件成立返回,一个值 2.条件不成立返回 ,一个值 def max2(x,y): #普通函数定义 if x > y: return x els ...
随机推荐
- Vue木桶布局插件
公司最近在重构,使用的是Vue框架.涉及到一个品牌的布局,因为品牌的字符长度不一致,所以导致每一个的品牌标签长短不一.多行布局下就会导致每行的品牌布局参差不齐,严重影响美观.于是就有了本篇的木 ...
- Python中类的声明,使用,属性,实例属性,计算属性及继承,重写
Python中的类的定义以及使用: 类的定义: 定义类 在Python中,类的定义使用class关键字来实现 语法如下: class className: "类的注释" 类的实体 ...
- 解决oh-my-zsh卡顿问题
git config --global oh-my-zsh.hide-status 1
- 素数筛选:HDU2710-Max Factor
Max Factor Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem ...
- Pycharm Django开发(一)设置开发环境
一 由于我是一个对开发环境有强迫症的人,在装完PYTHON 2.6 3.3 3.4中,在创建Django工程的时候,会出现N个版本的python,那么在这里可以设置你喜欢和要使用的版本.
- Linux的档案权限与目录配置
重点回顾:1.Linux的每个档案中,依据权限分为使用者.群组与其他人三种身份 2.群组最有用的功能之一,就是当你在团队开发资源的时候,且每个账号都可以有多个群组的支持 3.利用"ls -l ...
- 【12】Firefox 快捷键大全及更改和定制快捷键的方法
[12]Firefox 快捷键大全及更改和定制快捷键的方法 答: Firefox 本身没有提供更改和定制快捷键的选项,若有需要,请安装扩展 Keyconfig 来解决. 安装地址如下: Keycon ...
- RIP 路由协议
RIP动态路由选择协议 routing information protocol IGP 小范围 路由器限制为15台 超过可能无法收敛 收敛概念 在一个域内 各个路由器知道各 ...
- python风格之包导入
导入总应该放在文件顶部, 位于模块注释和文档字符串之后, 模块全局变量和常量之前. 导入应该按照从最通用到最不通用的顺序分组: 标准库导入 第三方库导入 应用程序指定导入 每种分组中, 应该根据每个模 ...
- SQL DML 和 DDL
数据库表 一个数据库通常包含一个或多个表.每个表由一个名字标识(例如“客户”或者“订单”).表包含带有数据的记录(行). 下面的例子是一个名为 "Persons" 的表: Id L ...