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

app 网站建设免费软件大全下载安装

app 网站建设,免费软件大全下载安装,宣传片制作合同范本,企业管理名词解释目录 ​编辑 前言 一.三器 1. 迭代器(Iterator) 1.1 什么是可迭代对象 1.2什么是迭代器 1.3案例演示: 以下是一个简单的迭代器示例,遍历一个列表并打印每个元素: 1.4迭代器总结 2. 生成器(Generat…

目录

​编辑

前言

一.三器

1. 迭代器(Iterator)

1.1 什么是可迭代对象

1.2什么是迭代器

1.3案例演示: 以下是一个简单的迭代器示例,遍历一个列表并打印每个元素:

1.4迭代器总结

2. 生成器(Generator)

3. 装饰器(Decorator)

二.一闭 

4. 闭包(Closure)

总结:


 

前言

Python是一种功能强大而灵活的编程语言,拥有许多强大的特性和工具,其中包括"一闭三器"——迭代器、生成器、装饰器和闭包

一.三器

1. 迭代器(Iterator)

1.1 什么是可迭代对象

只要是可以通过for...in…的形式进行遍历的,那么这个数据类型就是可以迭代的

1.2什么是迭代器

迭代是python中访问集合元素的一种非常强大的一种方式。迭代器是一个可以记住遍历位置的对象,迭代器对象从第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。因此不会像列表那样一次性全部生成,而是可以等到用的时候才生成,因此节省了大量的内存资源。迭代器有两个方法:iter()和next()方法

1.3案例演示: 以下是一个简单的迭代器示例,遍历一个列表并打印每个元素:

class MyIterator:def __init__(self, data):self.data = dataself.index = 0def __iter__(self):return selfdef __next__(self):if self.index >= len(self.data):raise StopIterationitem = self.data[self.index]self.index += 1return itemmy_list = [1, 2, 3, 4, 5]
my_iter = MyIterator(my_list)for item in my_iter:print(item)

1.4迭代器总结

  1. 凡是可作用于for循环的对象都是Iterable 类型;

  2. 凡是可作用于 next() 函数的对象都是Iterator 类型;

  3. 集合数据类型如list 、dict、str等是 Iterable但不是Iterator,不过可以通过 iter()函数获得一个Iterator对象

特点:

  • 允许按顺序访问集合中的元素。
  • 可以在不加载整个集合到内存中的情况下处理大型数据集。

优点:

  • 节省内存,特别适用于大型数据集。
  • 提供了一种通用的遍历机制,适用于各种不同类型的数据结构。

缺点:

  • 需要手动实现__iter__()__next__()方法,有些繁琐。
  • 一旦迭代器遍历完数据,就不能再次使用,需要重新创建。

2. 生成器(Generator)

介绍: 生成器是一种特殊类型的迭代器,它可以以更简洁的方式生成值。

案例演示: 以下是一个生成器示例,生成斐波那契数列:

def fibonacci():a, b = 0, 1while True:yield aa, b = b, a + bfib = fibonacci()
for _ in range(10):print(next(fib))

特点:

  • 使用yield关键字简化了迭代器的创建。
  • 延迟生成值,节省内存。

优点:

  • 更简洁的语法。
  • 适用于处理大量数据或需要延迟生成的情况。

缺点:

  • 不支持双向遍历,只能单向前进。
  • 无法随机访问元素。

3. 装饰器(Decorator)

介绍: 装饰器是一种用于修改函数或方法行为的技术,允许在不修改原始函数代码的情况下添加额外的功能。

案例演示: 以下是一个装饰器示例,用于测量函数执行时间:

import timedef timing_decorator(func):def wrapper(*args, **kwargs):start_time = time.time()result = func(*args, **kwargs)end_time = time.time()print(f"{func.__name__} took {end_time - start_time} seconds to run.")return resultreturn wrapper@timing_decorator
def slow_function():time.sleep(2)slow_function()

特点:

  • 可以轻松地扩展函数的功能,例如日志记录、性能分析等。
  • 可以重用装饰器,使代码更干净。

优点:

  • 提高了代码的可维护性和可读性。
  • 使功能扩展更容易。

缺点:

  • 可能会增加代码的复杂性,特别是当多个装饰器堆叠时。

二.一闭 

4. 闭包(Closure)

介绍: 闭包是一种函数,它可以访问其定义范围之外的变量,即使外部函数已经执行完毕。

案例演示: 以下是一个闭包示例,创建一个计数器函数:

def counter():count = 0def increment():nonlocal countcount += 1return countreturn incrementcounter1 = counter()
print(counter1())  # 输出1
print(counter1())  # 输出2counter2 = counter()
print(counter2())  # 输出1

特点:

  • 允许函数保留状态,使得函数可以"记住"之前的状态。
  • 有助于隐藏数据,实现封装。

优点:

  • 提供了一种轻量级的状态管理机制。
  • 使函数更加灵活和可复用。

缺点:

  • 可能会导致不正确的行为,特别是当闭包不正确地使用时。
  • 可能会增加代码的复杂性,难以理解。

总结:

 一闭三器属于进阶语法,我们需要有强大的基础才能实际开发中运用,当我们运用得当,它能成为我们很实用的工具,为我们减轻很多代码,以及提示代码的质量

http://www.yayakq.cn/news/76166/

相关文章:

  • 品牌网站建设小科6蚪中国建设很行河北省分行合作网站
  • 网站备份挖掘成都网站建设多少钱
  • 网站数据库是什么今天国内最新消息
  • 佛山北京网站建设公司哪家好长沙建站seo公司
  • 建设通网百度推广怎么做网站的优化
  • 如何自己做网站站长如何制作网站的app
  • 深圳的网站建设.net网站开发源码
  • 网站建设公司如何挖掘客户公司网站需求
  • 做外国网站买域名免费的企业邮箱怎么申请
  • 菏泽营销网站建设wordpress表单制作
  • 网站建设销售秘籍远程教育网站建设方案
  • 网站制作wordpress山东建设监理协会官方网站
  • 网站界面设计原则福建龙岩发现1例阳性
  • 套模板网站价格表ai做图标教程网站
  • 做ppt常用网站wordpress更改站点名称
  • 辛集建设局网站北京建设银行网站
  • 免费申请个人网站申请wordpress 通过电子邮件发布
  • 做网站设计用什么软件wordpress docker -v
  • 网站对一个关键词做排名怎么做做网站需要许可证吗
  • 网站双线主机优势wordpress企业插件
  • 可以做基因通路分析的网站手机网站自助建设
  • wordpress网站图片迁移iis发布网站慢
  • 通过服务推广网站的案例设计兼职网站推荐
  • 张家口网站建设开发西安网页设计培训机构
  • 网站代备案公司十大永久免费的软件下载
  • 福田做网站哪家专业城市建设管理
  • 杭州网站建设乐云seo模板中心aso应用商店优化原因
  • 建设用地规划证查询网站毛概课程网站建设
  • 国外网站建设费用台州市城乡建设规划局网站
  • 贵州企业网站建设长春seo网站排名