一、生成器

1、什么是生成器

  在函数内但凡出现yield关键字,再调用函数就不会执行函数体代码,会返回一个值,该值称之为生成器,生成器本质就是迭代器

2、为什么要有生成器

 生成器是一种自定义迭代器的方式

 注:

  生成器在刚刚生成时不执行里面任何代码

总结yield的功能

1、提供一种自定义迭代器的方式

2、yield可以暂停住函数,返回值

yield  VS  return

相同点:都是用在函数内,都可以返回值,没有类型限制,没有个数限制

不同点:return只能返回一次值,yield可以返回多次值

用yield写一个简单的range函数

1
2
3
4
5
def my_range(start,stop,step=1)
    while stat<stop:
        yield start
        start+=step
g=my_range(0,4)

 二、杂项

1、三元表达式

条件成立时返回值   if条件  else  条件不成立时返回值

例如:

def  max2(x,y)

  if x>y:

    return x

  else:

    return y

x=10

y=20

max2(x,y)

上述功能可以直接使用三元表达式实现:

res=x  if    x>y   else   y

print(res)

2、列表生成式

l=[item**2 for item in range(1,11)]

print(1)

names=['egon','alex_xx','wupeiqi','yuanhao']

nums=[len(name) for name in names if not name.endswith('xx')]

print(nums)

3、字典生成式

keys=['name','age','sex']

values=['egon',18,'male']

d={k:v for k,v in zip(keys,values)}

print(d)

3、生成器表达式

g=(i  for  i  in  range(10))

  print(g)

python基础之Day14的更多相关文章

  1. python基础一 day14 生成器函数进阶

    def generator(): print(123) content = yield 1 print('=======',content) print(456) arg = yield 2 '''' ...

  2. python基础学习Day14 内置函数 匿名函数

    一.内置函数里几个高频重要函数 (1)min\max函数的用法 以min函数的为例: min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值). l1 =[(,),(, ...

  3. python基础一 day14 生成器函数进阶(1)

  4. python基础一 day14 复习

    迭代器和生成器迭代器:双下方法 : 很少直接调用的方法.一般情况下,是通过其他语法触发的可迭代的 —— 可迭代协议 含有__iter__的方法('__iter__' in dir(数据))可迭代的一定 ...

  5. Python之路,Day14 - It's time for Django

    Python之路,Day14 - It's time for Django   本节内容 Django流程介绍 Django url Django view Django models Django ...

  6. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  7. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  8. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

  9. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

随机推荐

  1. js将一维数组转化为二维数组

    遇到的问题: 后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上. 例:[1,2,3,4,5,6,7,8,9,10] ...

  2. 使用K-means进行聚类,用calinski_harabaz_score评价聚类效果

    代码如下: """ 下面的方法是用kmeans方法进行聚类,用calinski_harabaz_score方法评价聚类效果的好坏 大概是类间距除以类内距,因此这个值越大越 ...

  3. Android 开发 View的API 转载

    转载地址:https://blog.csdn.net/lemonrabbit1987/article/details/47704679 View类代表用户界面组件的基本构建块.一个View占据屏幕上的 ...

  4. SAP S/4 HANA 1709 Fully Activated Appliance

    SAP S4HANA 1709 Fully Activated Appliance:简单来说比IDES版本功能更加强大,内置三个集团,分别用于测试不同业务.内置官方的BP内容 安装需要500G SSD ...

  5. HttpLogBrowser-GUI日志分析工具

    登陆https://www.iis.net/downloads搜索HttpLogBrowser获得最新版本

  6. Anatomy of a Database System学习笔记 - 事务:并发控制与恢复

    这一章看起来是讲存储引擎的.作者抱怨数据库被黑为“monolithic”.不可拆分为可复用的组件:但是实际上除了事务存储引擎管理模块,其他模块入解析器.重写引擎.优化器.执行器.访问方式都是代码相对独 ...

  7. Python module ---- abc

    python中并没有提供抽象类与抽象方法,但是提供了内置模块abc(abstract base class)来模拟实现抽象类.  ABC,Abstract Base Class(抽象基类),主要定义了 ...

  8. JavaScript中面相对象OOP

    方法 方法的原型链 <html> <head> <title></title> </head> <script type=" ...

  9. Win7 Win8 Win10取不到机器码的处理办法

    1.更改UAC也就是用户账户的控制权限 2.以管理员身份运行软件

  10. 【读书笔记】segment routing mpls数据平面-2