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 ...
随机推荐
- 通过composer安装阿里大于接口扩展
# 安装laravel阿里大鱼服务 composer require iscms/alisms-for-laravel laravel配置 # 注册服务 # 在config\app.php文件中找到P ...
- linux的一些权限的操作 chmod
u ---属主 g ---用户组 o ---其他组 + ----赋予权限 - ----取消权限 = ----赋予权限并取消以前的权限 r = 4 //读 w =2 //写 x =1 //执 ...
- thinkphp5开发restful-api接口 学习笔记一
视频学习地址: http://study.163.com/course/courseMain.htm?courseId=1004171002 源码和文档(如果满意,欢迎 star): https:// ...
- LA 4094 WonderTeam 构造
题意: 一共有\(n\)支队伍参加比赛,每两支队伍比赛两场,主客场各一场. 胜场得\(3\)分,平局得1分,败场不得分. 一支得分为\(p\)的队伍的排名\(=\)分数大于\(p\)的队伍数\(+1\ ...
- session属性的清除和非法登录
有的项目会将登录用户的资料存于session的一个属性中,这样方便获取一些数据使用,但是用户退出时需要将session的这个属性清除,一面造成一些不必要的麻烦,但是有些时候,在后台清除了这个属性,在拦 ...
- Oralce重做日志(Redo Log)
1.简介 Oracle引入重做日志的目的:数据库的恢复. Oracle相关进程:重做日志写进程(LGWR). 重做日志性质:联机日志文件,oracle服务器运行时需要管理它们. 相关数据字典:v$lo ...
- WebApp开发入门
web app 的技术平台很多,如adobe phonegap.sencha touch.appcan(国产).dcloud(国产)平台.我选择了dcloud平台,原因:简单,容易上手. web ap ...
- python-高级编程-05-异步IO
[异步非阻塞IO] ------------------------------------------------------------------------------------------ ...
- aiomysql inserting operation failed !
emotions: those days,i am using aiomysql(python3.5) to acess my database .But a 'strange' problem ma ...
- [Offer收割]编程练习赛48
题目1 : 折线中点 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定平面上N个点P1, P2, ... PN,将他们按顺序连起来,形成一条折线. 请你求出这条折线的 ...