关于“Python”的核心知识点整理大全22-2

简介: 关于“Python”的核心知识点整理大全22

关于“Python”的核心知识点整理大全22-1 https://developer.aliyun.com/article/1424513

9.5 Python 标准库

Python标准库是一组模块,安装的Python都包含它。你现在对类的工作原理已有大致的了解, 可以开始使用其他程序员编写好的模块了。可使用标准库中的任何函数和类,为此只需在程序开 头包含一条简单的import语句。下面来看模块collections中的一个类——OrderedDict。 字典让你能够将信息关联起来,但它们不记录你添加键—值对的顺序。要创建字典并记录其 中的键—值对的添加顺序,可使用模块collections中的OrderedDict类。OrderedDict实例的行为 几乎与字典相同,区别只在于记录了键—值对的添加顺序。 我们再来看一看第6章的favorite_languages.py示例,但这次将记录被调查者参与调查的 顺序:


favorite_languages.py

1 from collections import OrderedDict
2 favorite_languages = OrderedDict()
3 favorite_languages['jen'] = 'python'
favorite_languages['sarah'] = 'c'
favorite_languages['edward'] = 'ruby'
favorite_languages['phil'] = 'python'
4 for name, language in favorite_languages.items():
 print(name.title() + "'s favorite language is " +
 language.title() + ".") 

我们首先从模块collections中导入了OrderedDict类(见1)。在2处,我们创建了OrderedDict 类的一个实例,并将其存储到favorite_languages中。请注意,这里没有使用花括号,而是调用 OrderedDict()来创建一个空的有序字典,并将其存储在favorite_languages中。接下来,我们以 每次一对的方式添加名字—语言对(见3)。在4处,我们遍历favorite_languages,但知道将以 添加的顺序获取调查结果:

Jen's favorite language is Python.
Sarah's favorite language is C.
Edward's favorite language is Ruby.
Phil's favorite language is Python. 

这是一个很不错的类,它兼具列表和字典的主要优点(在将信息关联起来的同时保留原来的 顺序)。等你开始对关心的现实情形建模时,可能会发现有序字典正好能够满足需求。随着你对 标准库的了解越来越深入,将熟悉大量可帮助你处理常见情形的模块。


注意 你还可以从其他地方下载外部模块。本书第二部分的每个项目都需要使用外部模块,届 时你将看到很多这样的示例。


9.6 类编码风格

你必须熟悉有些与类相关的编码风格问题,在你编写的程序较复杂时尤其如此。


类名应采用驼峰命名法,即将类名中的每个单词的首字母都大写,而不使用下划线。实例名 和模块名都采用小写格式,并在单词之间加上下划线。


对于每个类,都应紧跟在类定义后面包含一个文档字符串。这种文档字符串简要地描述类的 功能,并遵循编写函数的文档字符串时采用的格式约定。每个模块也都应包含一个文档字符串, 对其中的类可用于做什么进行描述。


可使用空行来组织代码,但不要滥用。在类中,可使用一个空行来分隔方法;而在模块中, 可使用两个空行来分隔类。


需要同时导入标准库中的模块和你编写的模块时,先编写导入标准库模块的import语句,再 添加一个空行,然后编写导入你自己编写的模块的import语句。在包含多条import语句的程序中, 这种做法让人更容易明白程序使用的各个模块都来自何方。

9.7 小结

在本章中,你学习了:如何编写类;如何使用属性在类中存储信息,以及如何编写方法,以 让类具备所需的行为;如何编写方法__init__(),以便根据类创建包含所需属性的实例。你见识 了如何修改实例的属性——包括直接修改以及通过方法进行修改。你还了解了:使用继承可简化 相关类的创建工作;将一个类的实例用作另一个类的属性可让类更简洁。 你了解到,通过将类存储在模块中,并在需要使用这些类的文件中导入它们,可让项目组织 有序。你学习了Python标准库,并见识了一个使用模块collections中的OrderedDict类的示例。 最后,你学习了编写类时应遵循的Python约定。 在第10章中,你将学习如何使用文件,这让你能够保存你在程序中所做的工作,以及你让用户 做的工作。你还将学习异常,这是一种特殊的Python类,用于帮助你在发生错误时采取相应的措施

目录
相关文章
|
1月前
|
测试技术 API Python
【10月更文挑战第1天】python知识点100篇系列(13)-几种方法让你的电脑一直在工作
【10月更文挑战第1天】 本文介绍了如何通过Python自动操作鼠标或键盘使电脑保持活跃状态,避免自动息屏。提供了三种方法:1) 使用PyAutoGUI,通过安装pip工具并执行`pip install pyautogui`安装,利用`moveRel()`方法定时移动鼠标;2) 使用Pymouse,通过`pip install pyuserinput`安装,采用`move()`方法移动鼠标绝对位置;3) 使用PyKeyboard,同样需安装pyuserinput,模拟键盘操作。文中推荐使用PyAutoGUI,因其功能丰富且文档详尽。
|
3月前
|
Python
python知识点
【8月更文挑战第27天】python知识点
3397 2
|
14天前
|
缓存 Java 索引
[Python]知识点
本文主要介绍了Python的一些高级知识点和使用细节,包括pip的使用、内置函数、列表、元组、字典、集合、变量、Lambda表达式、面向对象编程、异常处理、模块及标准库等。文章适合有一定Python基础的读者,重点在于深入理解和掌握Python的高级特性。文中还提供了大量示例代码,帮助读者更好地理解和应用这些知识点。
19 1
[Python]知识点
WK
|
3月前
|
存储 机器学习/深度学习 JSON
Python入门知识点
Python入门覆盖历史、设计理念、变量、数据类型、控制结构等。了解Python的发展,掌握动态类型的灵活性,熟悉整数、浮点数、字符串等数据类型。学会if/else、for/while循环构建逻辑流程,使用def定义函数,lambda快速创建匿名函数。通过类实现面向对象编程,利用模块和包组织代码。掌握try-except处理异常,open()进行文件操作。利用标准库和第三方库增强功能,理解集合、字典、列表推导式的应用,深入魔法方法、递归、装饰器等高级特性,以及上下文管理器和字符串、列表、元组的操作技巧。
WK
34 0
|
30天前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
1月前
|
网络协议 数据库连接 Python
python知识点100篇系列(17)-替换requests的python库httpx
【10月更文挑战第4天】Requests 是基于 Python 开发的 HTTP 库,使用简单,功能强大。然而,随着 Python 3.6 的发布,出现了 Requests 的替代品 —— httpx。httpx 继承了 Requests 的所有特性,并增加了对异步请求的支持,支持 HTTP/1.1 和 HTTP/2,能够发送同步和异步请求,适用于 WSGI 和 ASGI 应用。安装使用 httpx 需要 Python 3.6 及以上版本,异步请求则需要 Python 3.8 及以上。httpx 提供了 Client 和 AsyncClient,分别用于优化同步和异步请求的性能。
python知识点100篇系列(17)-替换requests的python库httpx
|
27天前
|
调度 Python
python知识点100篇系列(20)-python协程与异步编程asyncio
【10月更文挑战第8天】协程(Coroutine)是一种用户态内的上下文切换技术,通过单线程实现代码块间的切换执行。Python中实现协程的方法包括yield、asyncio模块及async/await关键字。其中,async/await结合asyncio模块可更便捷地编写和管理协程,支持异步IO操作,提高程序并发性能。协程函数、协程对象、Task对象等是其核心概念。
|
24天前
|
Python Windows
python知识点100篇系列(24)- 简单强大的日志记录器loguru
【10月更文挑战第11天】Loguru 是一个功能强大的日志记录库,支持日志滚动、压缩、定时删除、高亮和告警等功能。安装简单,使用方便,可通过 `pip install loguru` 快速安装。支持将日志输出到终端或文件,并提供丰富的配置选项,如按时间或大小滚动日志、压缩日志文件等。还支持与邮件通知模块结合,实现邮件告警功能。
python知识点100篇系列(24)- 简单强大的日志记录器loguru
|
25天前
|
自然语言处理 Python Windows
python知识点100篇系列(23)- 使用stylecloud生成词云
【10月更文挑战第10天】`stylecloud` 是 `wordcloud` 的优化版,支持使用 Font Awesome 图标自定义词云形状,操作更简便。本文介绍如何安装 `jieba` 和 `stylecloud` 库,并使用它们生成中文词云。通过 `jieba` 进行分词,再利用 `stylecloud` 的 `gen_stylecloud` 方法生成具有特定形状和颜色的词云图像。
python知识点100篇系列(23)- 使用stylecloud生成词云
|
28天前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。