一、生成器

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. react采坑笔记

    1. dva + antd input设置defaultVaule时查看时inpu有值但是页面上不显示 解决办法 设置一个key值,当key值改变从新渲染 <div key={this.prop ...

  2. phpstudy中 MySQL版本升级

    问题由来:   在把数据库导入到本地库时,数据库出现报错    Error : Invalid ON UPDATE clause for 'update_time' column   查了下度娘说  ...

  3. go语言问题集锦

    ==============================================beego框架=========================================== 1.使 ...

  4. mezzanine的breadcrumb

    page_menu tag为什么能渲染出当前页的面包屑路径??靠的是request的page对象,要是page的自己或是它的的祖先才渲染,是根据page的属性page.is_current_or_as ...

  5. pyqt5-数据库加载错误解决

    1.无法连接postgresql 直接在pycharm上安装pyqt5没有QT这个文件夹, 在ancanda中装好使用. 切换加载环境,或者将第二个ptqt5拷贝替换第一个环境中的pyqt5

  6. Cannot forward to error page for request ......

    今天现场报了以下问题: Cannot forward to error page for request [/order/search] as the response has already bee ...

  7. HQL中左连接,右连接、内连接

    左连接:left join 如A left join B 即取出A表的所有数据,由on条件关联的B表数据,有则显示,没有则为空: 右连接:right join 如 A right join B 即取出 ...

  8. LR常用函数

    web_set_max_html_param_len()--常用函数 设置可检索并保存为参数的任何HTML字符串的最大长度. intweb_set_max_html_param_len(const c ...

  9. vscode垂直选中列选中

    VSCode列选择快捷键:Alt+Shift+左键

  10. 最大矩阵(简单DP)

    见题: 很水的一题,数据范围太小,前缀和加爆搜就行. #include<bits/stdc++.h> using namespace std; ; ,m,n,sum[maxn][maxn] ...