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

南庄网站建设东莞网站制作

南庄网站建设,东莞网站制作,怎么网站推广,佛山网站建设培训目录 前言一、from import二、python中的包三、异常处理机制四、python中常用标准库 五、迭代器与生成器 5.1创建一个迭代器5.2 生成器总结 前言 书接上文 Python匿名函数与面向对象编程核心解析:从lambda到继承多态全掌握-CSDN博客文章浏览阅读785次,…

目录

  • 前言
  • 一、from import
  • 二、python中的包
  • 三、异常处理机制
  • 四、python中常用标准库 
  • 五、迭代器与生成器 
  • 5.1创建一个迭代器
  • 5.2 生成器
  • 总结

前言

书接上文

Python匿名函数与面向对象编程核心解析:从lambda到继承多态全掌握-CSDN博客文章浏览阅读785次,点赞26次,收藏6次。本文全面解析Python匿名函数lambda的语法与使用场景,并深入剖析面向对象编程的核心概念,包括类与对象的定义、属性操作、继承与多态的实现,以及模块化开发技巧,帮助开发者掌握从基础语法到高级特性的完整知识体系,提升代码设计能力与工程化思维。 https://blog.csdn.net/qq_58364361/article/details/146144610?fromshare=blogdetail&sharetype=blogdetail&sharerId=146144610&sharerefer=PC&sharesource=qq_58364361&sharefrom=from_link


一、from import

直接导入某个模块某个功能

先看文件1

def fun_name(name):print(f"{name}今天要考试了")def fun_pt():print("中午吃什么?")

再看文件2

from day001 import fun_name  #引入一个单独的函数fun_name("小白")


二、python中的包

当有多个模块不加区分直接放一起很不合理可以模块组织一起创建

也是由模块组成所以导入模块导入一样

这里引入包中的文件采取

from 包文件夹名.包字文件夹名..文件名 impor 要调用的函数名


三、异常处理机制

l1 = [2, 3, 6]
try:print(l1[8])
except IndexError:print("error")
else:print("ok")
finally:print("处理结束")
print("aaa")

l1 = [2, 3, 6]
try:print(l1[8])
except Exception as e:print("error")print(e)  #报错原因
else:print("ok")
finally:print("处理结束")
print("aaa")


四、python中常用标准库 

名称

描述

os

os 模块提供了许多与操作系统交互的函数,例如创建、移动和删除文件和目录,以及访问环境变量等。

sys

sys 模块提供了与 Python 解释器和系统相关的功能,例如解释器的版本和路径,以及与 stdin、stdout 和 stderr 相关的信息。

time

time 模块提供了处理时间的函数,例如获取当前时间、格式化日期和时间、计时等。

datetime

datetime 模块提供了更高级的日期和时间处理函数,例如处理时区、计算时间差、计算日期差等。

math

math 模块提供了数学函数,例如三角函数、对数函数、指数函数、常数等。

json

json 模块提供了 JSON 编码和解码函数,可以将 Python 对象转换为 JSON 格式,并从 JSON 格式中解析出 Python 对象。

numpy

一个用于维度数组计算的库

opencv

一个用于计算机视觉的库

matplotlib

一个用于数据可视化的库(绘图)

scikit-learn

一个用于机器学习的库

tensorflow

一个用于深度学习的库

threading

一个用于设置多线程的库


五、迭代器与生成器 

迭代是Python访问集合中元素的一种方式,迭代器是一个可以记住遍历的位置的对象。

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

通过索引的方式进行迭代取值,实现简单,但只适用于序列类型:字符串、列表、元组

对于没有索引的字典、集合等非序列类型,需要使用不依赖索引来进行迭代取值的方法,使用迭代器

字符串、列表、元组、字典、集合、打开的文件都是可迭代对象

迭代器有两个基本的方法:iter() 和 next()。

l1 = [2, 5, 8, 3, 6]
it = iter(l1)  # 创建迭代器对象
print(next(it))  # 输出迭代器下一个元素
print(next(it))

或使用for循环遍历

l1 = [2, 5, 8, 3, 6]
it = iter(l1)  # 创建迭代器对象
for i in it:print(i)


5.1创建一个迭代器

把一个类作为一个迭代器使用,需要再类里实现两个方法iter()和next()

iter() 方法返回一个特殊的迭代器对象,这个迭代器对象实现了 next() 方法并通过 StopIteration 异常标识迭代的完成。

next() 方法会返回下一个迭代器对象

创建一个返回数字的迭代器,起始值是10,每次递增10

class MyNum:def __iter__(self):self.a = 10return selfdef __next__(self):x = self.aself.a += 10return xmy_class = MyNum()
my_iter = iter(my_class)print(next(my_iter))
print(next(my_iter))
print(next(my_iter))

StopIteration 异常用于标识迭代的完成,防止出现无限循环的情况,在__next__()方法中我们可以设置在完成指定循环次数后触发 StopIteration 异常来结束迭代

class MyNum:def __iter__(self):self.a = 10return selfdef __next__(self):if self.a <= 50:       x = self.aself.a += 10return xelse:print('迭代结束')raise StopIterationmy_class = MyNum()
my_iter = iter(my_class)print(next(my_iter))
print(next(my_iter))
print(next(my_iter))


5.2 生成器

 在 Python 中,使用了 yield 的函数被称为生成器(generator)。

yield 是一个关键字,用于定义生成器函数,生成器函数是一种特殊的函数,可以在迭代过程中逐步产生值,而不是一次性返回所有结果。

跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。

每次使用 yield 语句生产一个值后,函数都将暂停执行,等待被重新唤醒。

yield 语句相比于 return 语句,差别就在于 yield 语句返回的是可迭代对象,而 return 返回的为不可迭代对象。

然后,每次调用生成器的 next() 方法或使用 for 循环进行迭代时,函数会从上次暂停的地方继续执行,直到再次遇到 yield 语句

def Fun(n):while n > 0:yield nn -= 1# 创建生成器对象
g1 = Fun(5)# 通过迭代生成器获取值
print('next方法:', next(g1))
print('next方法:', next(g1))# 使用 for 循环迭代生成器
for i in g1:print('for循环:', i)# 运行结果:
# next方法: 5
# next方法: 4
# for循环: 3
# for循环: 2
# for循环: 1

在这个代码中,Fun 函数是一个生成器函数。它使用 yield 语句逐步产生从 n 到 1 的倒序数字。在每次调用 yield 语句时,函数会返回当前的倒序数字,并在下一次调用时从上次暂停的地方继续执行。

创建生成器对象并使用 next() 函数或 for 循环迭代生成器,我们可以逐步获取生成器函数产生的值。在这个例子中,我们首先使用 next() 函数获取前两个倒序数字,然后通过 for 循环获取剩下的三个倒序数字。

生成器函数的优势是它们可以按需生成值,避免一次性生成大量数据并占用大量内存。此外,生成器还可以与其他迭代工具(如for循环)无缝配合使用,提供简洁和高效的迭代方式


总结

        本文系统解析Python编程中的核心概念与实用技巧,涵盖模块导入、包管理、异常处理、标准库应用及迭代器与生成器的深入剖析。首先通过实例演示from...import语法实现模块函数的精准导入,强调模块化编程的优势;在包管理部分,阐述如何通过目录结构组织多模块以提升代码可维护性。异常处理机制详细讲解try-except-else-finally的层级结构,对比IndexError与通用Exception捕获的适用场景,并展示异常信息的提取方法。常用标准库部分列举os、sys、datetime等核心库的功能,扩展至numpy、OpenCV等第三方库在数据与AI领域的应用。迭代器部分从基础iter()next()操作切入,结合自定义迭代器类的实现(如__iter____next__方法的重写),阐明迭代终止的StopIteration异常控制逻辑;生成器则通过yield关键字解析惰性计算的实现原理,对比生成器函数与普通函数的差异,并以递减数列生成示例揭示生成器在内存效率上的优势。全文贯穿代码实例,帮助开发者掌握高效、健壮的Python编程范式。

http://www.dtcms.com/wzjs/422191.html

相关文章:

  • 做网站的贴吧百度广告联盟app下载官网
  • 北京专业网站开发肇庆百度快速排名
  • 淘宝客做网站天津百度
  • 2018做网站的软件网络营销推广的目的
  • 网站开发软硬件条件百度平台商家
  • 如何查看域名以前是做什么网站的天津网络优化推广公司
  • 国外军事新闻最新消息国外常用的seo站长工具
  • 红叶网站开发工作室官网关键词优化价格
  • 手机版网站系统网页设计制作网站素材
  • 室内设计联盟官方网站登录北京优化网站公司
  • 有一个域名做网站海外品牌推广
  • 如何提高网站的访问速度好搜seo软件
  • 网站集约化建设规范优化大师班级
  • 什么什么网站网站seo排名免费咨询
  • 个人兼职网站制作百度推广渠道代理
  • 做电影网站会不会侵权扬州百度关键词优化
  • 饮料企业哪个网站做的比较好推广平台的方式有哪些
  • 镇江专业建网站windows优化大师有哪些功能
  • 临淄网站制作首选公司站长素材网站
  • 网站建设运营公司防晒霜营销软文
  • 七星彩投注网站建设互联网营销怎么赚钱
  • 济南将开展治堵十大行动北京seo课程
  • 网站备案真实性核验单下载网络设计
  • 网站产品标签文章标签怎么做上海网站推广优化
  • 在线3d建模网站百度seo在线优化
  • 西宁网站建设服务公司百度搜索引擎优化指南最新版
  • 毕设做网站需要什么技术准备seo优化便宜
  • 台州做网站的公司sem和seo的区别
  • 淄博网站建设公司有多少家品牌营销策略分析论文
  • 淘宝优惠网站怎么做接单平台app