当前位置: 首页 > news >正文

2019 做网站快速提高关键词排名的软件

2019 做网站,快速提高关键词排名的软件,做胃肠科医院网站费用,凌云县城乡建设局网站装饰器 什么是装饰器? 用来装饰其他函数,即为其他函数添加特定功能的函数。 装饰器的两个基本原则: 装饰器不能修改被装饰函数的源码 装饰器不能修改被装饰函数的调用方式 什么是可迭代对象? 在python的任意对象中&#xff…

装饰器

什么是装饰器?

用来装饰其他函数,即为其他函数添加特定功能的函数。

装饰器的两个基本原则:

装饰器不能修改被装饰函数的源码

装饰器不能修改被装饰函数的调用方式

什么是可迭代对象?

在python的任意对象中,只要它定义了可以返回一个迭代器的__iter__方法,或者定义了可以支持下标索引的__getitem__方法,那么它就是一个可迭代对象,通俗低讲就是可以通过for循环进行遍历。

如何判断一个对象是否是可迭代对象?

方法一:isinstance+iterable

方法二:hasattr+__getitem__

from collections import Iterableclass Student:pass
print(isinstance([],Iterable)) #True
print(isinstance(Student(),Iterable)) #Falseprint(hasattr([],'__getitem__')) #True
print(hasattr(Student(),'__getitem__'))  #False

什么是迭代器?

迭代器就是实现了__next____iter__方法(缺一不可)的对象,就叫迭代器。

其实__iter__方法返回迭代器自身,__next__方法不断返回迭代器中的下一个值,直到容器中没有更多的元素时则抛出Stoplteration异常,以终止迭代。

为什么有了可迭代对象,还要有迭代器呢?

工厂模式(需要什么数据就生成什么数据),节约内存空间

from itertools import countcounter = count(start=10)
print(type(counter))
print(dir(counter))
print(next(counter))
print(next(counter))
for i in range(100):print(next(counter))
print(len(counter))    #报错,迭代器没有len属性print(isinstance(counter,Iterator))  #True
print(isinstance([],Iterator))   # False
a= [1,2,3,45,6]
#将a这个可选代对象转变为选代器对象
a_iter = iter(a)
print(type(a_iter))print(len(a_iter))  #报错,没有len属性
print(next(a_iter))
print(next(a_iter))
for item in a iter:print(item)
for item in a_iter:print(item)
for item in a:print(item)
# print(next(a iter)) #报错

生成器中yield关键字的作用?

1.程序每次在代码中遇到yield关键字后,会返回结果

2.保留当前函数的运行状态,等待下一次调用,下次调用时从上一次返回yield的语句处开始执行后面的语句

生成器是一种特殊的迭代器

def demo():print('hello')t=yield 5 # returnprint('world')print(t)def demo1():print('hello')return 5
print(type(demo()))
print(dir(demo()))c = demo() #没有执行生成器函数 这行代码没有输出代表没有执行生成器函数a = demol() #普通函数,在调用时直接执行 这行代码执行输出的结果是'hello'
print(next(c)) #预激活生成器  这行代码执行输出的是'hello''5'print(c.send(None))
c.spend('test') #send方法调用生成器并且把test字符串传入到生成器内部

def demo():print('hello')t=yield5 #returnprint('world')print(t)
def demo1():print('hello')return 5print(type(demo()))
print(dir(demo()))c=demo() #没有执行生成器函数 这个步骤的时候没有执行生成器!!!
a=demo1() #普通函数,在调用时直接执行
print(next(c))# 预激活生成器
# 这个步骤执行生成器了!!!yield是执行一次先返回结果,下一次保留之前的状态,然后执行yield后的代码
print(c.send(None))
c.send('test') # send方法调用生成器并且把test字符串传入到生成器内部 

http://www.qdjiajiao.com/news/7927.html

相关文章:

  • 做网站费用怎么付个人怎么创建网站
  • 网站建设到底属于什么行业甘肃网站推广
  • pc网站自动转换wap网站百度怎么免费推广
  • 企业铭做网站贵阳百度快照优化排名
  • 网站建设优化公司呼和浩特一键建站
  • 网站开发的岗位及职责太原搜索排名提升
  • 郑州做网站找绝唯科技seo的优化流程
  • 婚纱摄影网站开发的目的制作网站首页
  • 做网站到哪里做理发美发培训学校
  • 网上商城是什么软件seo建站技巧
  • 菏泽培训网站建设百度信息流广告投放
  • 张家港做政府网站的公司百度网盘搜索引擎入口
  • 上海有哪些外贸公司不错的谷歌seo是什么意思
  • 做纺织的用什么网站网络营销成功案例有哪些2022
  • 长安东莞网站推广微信推广方案
  • 做一个公司的网站应做哪些准备工作内容交换链接的方法
  • 深圳国税局深圳做网站公司兰州seo快速优化报价
  • 怎么做网站生意长尾关键词挖掘爱站工具
  • 简单的网站建设模板做网站推广需要多少钱
  • 深圳网站制作与建设公司百度推广怎么注册账号
  • 合肥专业做网站百度下载2021新版安装
  • wordpress视频网站采集器网络服务有限公司
  • 写软文推广正规seo关键词排名网络公司
  • wordpress能仿站吗企业网站建设门户
  • 金华建设局网站大数据营销平台那么多
  • wordpress 底部按钮网站文章优化技巧
  • 网站的建设寻找客户资源的网站
  • 广东专业网站建设怎么创建网站链接
  • 网站海外推广谷歌seo方案推广普通话手抄报内容简短
  • 国外做的好的电商网站推荐微信公众号怎么创建