
Python基础教程,Python入门教程(非常详细)
文章平均质量分 66
睿科知识云
中国航天科工信息系统项目管理高级工程师
取得法律职业资格证书
希望和大家一起学习一起进步
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python tempfile模块:生成临时文件和临时目录
Python tempfile模块:生成临时文件和临时目录tempfile 模块专门用于创建临时文件和临时目录,它既可以在 UNIX 平台上运行良好,也可以在 Windows 平台上运行良好。tempfile 模块中常用的函数,如表 1 所示。表 1 tempfile 模块常用函数及功能tempfile 模块函数功能描述tempfile.TemporaryFile(mode=‘w+b’, buffering=None, encoding=None, newline=None, s原创 2022-04-07 12:52:27 · 1315 阅读 · 0 评论 -
Python fnmatch模块:用于文件名的匹配
Python fnmatch模块:用于文件名的匹配fnmatch 模块主要用于文件名称的匹配,其能力比简单的字符串匹配更强大,但比使用正则表达式相比稍弱。。如果在数据处理操作中,只需要使用简单的通配符就能完成文件名的匹配,则使用 fnmatch 模块是不错的选择。fnmatch 模块中,常用的函数及其功能如表 1 所示。Python fnmatch模块常用函数及功能函数名功能fnmatch.filter(names, pattern)对 names 列表进行过滤,返回 name原创 2022-04-07 12:47:32 · 1035 阅读 · 0 评论 -
Python os.path模块常见函数用法(实例+详细注释)
Python os.path模块常见函数用法(实例+详细注释)相比 pathlib 模块,os.path 模块不仅提供了一些操作路径字符串的方法,还包含一些或者指定文件属性的一些方法,如表 1 所示。表 1 os.path 模块常用的属性和方法方法说明os.path.abspath(path)返回 path 的绝对路径。os.path.basename(path)获取 path 路径的基本名称,即 path 末尾到最后一个斜杠的位置之间的字符串。os.path.co原创 2022-04-07 12:44:35 · 1145 阅读 · 0 评论 -
Python pathlib模块用法详解
Python pathlib模块用法详解和前面章节中引入的模板不同,pathlib 模块中包含的是一些类,它们的继承关系如图 1 所示。图 1 pathlib模块中类的组织结构图 1 中,箭头连接的是有继承关系的两个类,以 PurePosixPath 和 PurePath 类为例,PurePosizPath 继承自 PurePath,即前者是后者的子类。pathlib 模块的操作对象是各种操作系统中使用的路径(例如指定文件位置的路径,包括绝对路径和相对路径)。这里简单介绍一下图 1 中包含的几个类原创 2022-04-07 12:38:55 · 499 阅读 · 0 评论 -
Python linecache模块用法:随机读取文件指定行
Python linecache模块用法:随机读取文件指定行除了可以借助 fileinput 模块实现读取文件外,Python 还提供了 linecache 模块。和前者不同,linecache 模块擅长读取指定文件中的指定行。换句话说,如果我们想读取某个文件中指定行包含的数据,就可以使用 linecache 模块。值得一提的是,linecache 模块常用来读取 Python 源文件中的代码,它使用的是 UTF-8 编码格式来读取文件内容。这意味着,使用该模块读取的文件,其编码格式也必须为 UTF-8原创 2022-04-07 12:28:40 · 277 阅读 · 0 评论 -
Python fileinput模块:逐行读取多个文件
Python fileinput模块:逐行读取多个文件前面章节中,我们学会了使用 open() 和 read()(或者 readline()、readlines() )组合,来读取单个文件中的数据。但在某些场景中,可能需要读取多个文件的数据,这种情况下,再使用这个组合,显然就不合适了。庆幸的是,Python 提供了 fileinput 模块,通过该模块中的 input() 函数,我们能同时打开指定的多个文件,还可以逐个读取这些文件中的内容。fileinput 模块中 input() 该函数的语法格式原创 2022-04-07 12:25:36 · 552 阅读 · 0 评论 -
Python pickle模块:实现Python对象的持久化存储
Python pickle模块:实现Python对象的持久化存储Python 中有个序列化过程叫作 pickle,它能够实现任意对象与文本之间的相互转化,也可以实现任意对象与二进制之间的相互转化。也就是说,pickle 可以实现 Python 对象的存储及恢复。值得一提的是,pickle 是 python 语言的一个标准模块,安装 python 的同时就已经安装了 pickle 库,因此它不需要再单独安装,使用 import 将其导入到程序中,就可以直接使用。pickle 模块提供了以下 4 个函数供原创 2022-04-07 12:19:58 · 618 阅读 · 0 评论 -
Python with as用法详解
Python with as用法详解任何一门编程语言中,文件的输入输出、数据库的连接断开等,都是很常见的资源管理操作。但资源都是有限的,在写程序时,必须保证这些资源在使用过后得到释放,不然就容易造成资源泄露,轻者使得系统处理缓慢,严重时会使系统崩溃。例如,前面在介绍文件操作时,一直强调打开的文件最后一定要关闭,否则会程序的运行造成意想不到的隐患。但是,即便使用 close() 做好了关闭文件的操作,如果在打开文件或文件操作过程中抛出了异常,还是无法及时关闭文件。为了更好地避免此类问题,不同的编程语言都原创 2022-04-07 12:16:11 · 643 阅读 · 0 评论 -
Python seek()和tell()函数详解
Python seek()和tell()函数详解在讲解 seek() 函数和 tell() 函数之前,首先来了解一下什么是文件指针。我们知道,使用 open() 函数打开文件并读取文件中的内容时,总是会从文件的第一个字符(字节)开始读起。那么,有没有办法可以自定指定读取的起始位置呢?答案是肯定,这就需要移动文件指针的位置。文件指针用于标明文件读写的起始位置。假如把文件看成一个水流,文件中每个数据(以 b 模式打开,每个数据就是一个字节;以普通模式打开,每个数据就是一个字符)就相当于一个水滴,而文件指针原创 2022-04-07 12:13:05 · 1967 阅读 · 2 评论 -
Python close()函数:关闭文件
Python close()函数:关闭文件在前面章节中,对于使用 open() 函数打开的文件,我们一直都在用 close() 函数将其手动关闭。本节就来详细介绍一下 close() 函数。close() 函数是专门用来关闭已打开文件的,其语法格式也很简单,如下所示:file.close()其中,file 表示已打开的文件对象。读者可能一直存在这样的疑问,即使用 open() 函数打开的文件,在操作完成之后,一定要调用 close() 函数将其关闭吗?答案是肯定的。文件在打开并操作完成之后,就应原创 2022-04-07 11:50:48 · 2833 阅读 · 0 评论 -
Python write()和writelines():向文件中写入数据
Python write()和writelines():向文件中写入数据前面章节中学习了如何使用 read()、readline() 和 readlines() 这 3 个函数读取文件,如果我们想把一些数据保存到文件中,又该如何实现呢?Python 中的文件对象提供了 write() 函数,可以向文件中写入指定内容。该函数的语法格式如下:file.write(string)其中,file 表示已经打开的文件对象;string 表示要写入文件的字符串(或字节串,仅适用写入二进制文件中)。注意,在原创 2022-04-06 12:32:59 · 3358 阅读 · 0 评论 -
Python readline()和readlines()函数:按行读取文件
Python readline()和readlines()函数:按行读取文件前面章节中讲到,如果想读取用 open() 函数打开的文件中的内容,除了可以使用 read() 函数,还可以使用 readline() 和 readlines() 函数。和 read() 函数不同,这 2 个函数都以“行”作为读取单位,即每次都读取目标文件中的一行。对于读取以文本格式打开的文件,读取一行很好理解;对于读取以二进制格式打开的文件,它们会以“\n”作为读取一行的标志。Python readline()函数read原创 2022-04-06 12:28:56 · 11948 阅读 · 0 评论 -
Python read()函数:按字节(字符)读取文件
Python read()函数:按字节(字符)读取文件前一节中,介绍了如何通过 open() 函数打开一个文件。在其基础上,本节继续讲解如何读取已打开文件中的数据。Python 提供了如下 3 种函数,它们都可以帮我们实现读取文件中数据的操作:read() 函数:逐个字节或者字符读取文件中的内容;readline() 函数:逐行读取文件中的内容;readlines() 函数:一次性读取文件中多行内容。本节先讲解 read() 函数的用法,readline() 和 readlines() 函数会放原创 2022-04-06 12:24:24 · 3479 阅读 · 0 评论 -
Python open()函数详解:打开指定文件
Python open()函数详解:打开指定文件在 Python 中,如果想要操作文件,首先需要创建或者打开指定的文件,并创建一个文件对象,而这些工作可以通过内置的 open() 函数实现。open() 函数用于创建或打开指定文件,该函数的常用语法格式如下:file = open(file_name [, mode='r' [ , buffering=-1 [ , encoding = None ]]])此格式中,用 [] 括起来的部分为可选参数,即可以使用也可以省略。其中,各个参数所代表的含义如原创 2022-04-06 12:17:39 · 10845 阅读 · 1 评论 -
Python文件基本操作(入门必读)
Python文件基本操作(入门必读)Python 中,对文件的操作有很多种,常见的操作包括创建、删除、修改权限、读取、写入等,这些操作可大致分为以下 2 类:删除、修改权限:作用于文件本身,属于系统级操作。写入、读取:是文件最常用的操作,作用于文件的内容,属于应用级操作。其中,对文件的系统级操作功能单一,比较容易实现,可以借助 Python 中的专用模块(os、sys 等),并调用模块中的指定函数来实现。例如,假设如下代码文件的同级目录中有一个文件“a.txt”,通过调用 os 模块中的 remov原创 2022-04-06 12:10:43 · 509 阅读 · 0 评论 -
Python绝对路径和相对路径详解
Python绝对路径和相对路径详解在介绍绝对路径和相对路径之前,先要了解一下什么是当前工作目录。什么是当前工作目录每个运行在计算机上的程序,都有一个“当前工作目录”(或 cwd)。所有没有从根文件夹开始的文件名或路径,都假定在当前工作目录下。注意,虽然文件夹是目录的更新的名称,但当前工作目录(或当前目录)是标准术语,没有当前工作文件夹这种说法。在 Python 中,利用 os.getcwd() 函数可以取得当前工作路径的字符串,还可以利用 os.chdir() 改变它。例如,在交互式环境中输入原创 2022-04-06 12:08:42 · 424 阅读 · 0 评论 -
什么是文件路径,Python中如何书写文件路径?
什么是文件路径,Python中如何书写文件路径?当程序运行时,变量是保存数据的好方法,但变量、序列以及对象中存储的数据是暂时的,程序结束后就会丢失,如果希望程序结束后数据仍然保持,就需要将数据保存到文件中。Python 提供了内置的文件对象,以及对文件、目录进行操作的内置模块,通过这些技术可以很方便地将数据保存到文件(如文本文件等)中。关于文件,它有两个关键属性,分别是“文件名”和“路径”。其中,文件名指的是为每个文件设定的名称,而路径则用来指明文件在计算机上的位置。例如,我的 Windows 7 笔记原创 2022-04-06 12:04:23 · 1796 阅读 · 0 评论 -
Python __file__属性:查看模块的源文件路径
Python __file__属性:查看模块的源文件路径前面章节提到,当指定模块(或包)没有说明文档时,仅通过 help() 函数或者 __doc__ 属性,无法有效帮助我们理解该模块(包)的具体功能。在这种情况下,我们可以通过 __file__ 属性查找该模块(或包)文件所在的具体存储位置,直接查看其源代码。仍以前面章节创建的 my_package 包为例,下面代码尝试使用 __file__ 属性获取该包的存储路径:import my_packageprint(my_package.__file_原创 2022-04-06 12:01:32 · 320 阅读 · 0 评论 -
Python __doc__属性:查看文档
Python __doc__属性:查看文档在使用 dir() 函数和 all 变量的基础上,虽然我们能知晓指定模块(或包)中所有可用的成员(变量、函数和类),比如:import stringprint(string.__all__)程序执行结果为:['ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable', 'punctu原创 2022-04-06 11:58:12 · 272 阅读 · 0 评论 -
Python查看模块(变量、函数、类)方法
Python查看模块(变量、函数、类)方法前面章节中,详细介绍了模块和包的创建和使用(严格来说,包本质上也是模块),有些读者可能有这样的疑问,即正确导入模块或者包之后,怎么知道该模块中具体包含哪些成员(变量、函数或者类)呢?查看已导入模块(包)中包含的成员,本节给大家介绍 2 种方法。查看模块成员:dir()函数事实上,在前面章节的学习中,曾多次使用 dir() 函数。通过 dir() 函数,我们可以查看某指定模块包含的全部成员(包括变量、函数和类)。注意这里所指的全部成员,不仅包含可供我们调用的模原创 2022-04-06 11:52:52 · 1583 阅读 · 0 评论 -
Python创建包,导入包(入门必读)
Python创建包,导入包(入门必读)前一节中已经提到,包其实就是文件夹,更确切的说,是一个包含“init.py”文件的文件夹。因此,如果我们想手动创建一个包,只需进行以下 2 步操作:新建一个文件夹,文件夹的名称就是新建包的包名;在该文件夹中,创建一个 init.py 文件(前后各有 2 个下划线‘_’),该文件中可以不编写任何代码。当然,也可以编写一些 Python 初始化代码,则当有其它程序文件导入包时,会自动执行该文件中的代码(本节后续会有实例)。例如,现在我们创建一个非常简单的包,该包的名原创 2022-04-03 15:29:31 · 2181 阅读 · 1 评论 -
Python包(存放多个模块的文件夹)
Python包(存放多个模块的文件夹)实际开发中,一个大型的项目往往需要使用成百上千的 Python 模块,如果将这些模块都堆放在一起,势必不好管理。而且,使用模块可以有效避免变量名或函数名重名引发的冲突,但是如果模块名重复怎么办呢?因此,Python提出了包(Package)的概念。什么是包呢?简单理解,包就是文件夹,只不过在该文件夹下必须存在一个名为“init.py” 的文件。注意,这是 Python 2.x 的规定,而在 Python 3.x 中,init.py 对包来说,并不是必须的。每原创 2022-04-03 15:18:05 · 354 阅读 · 0 评论 -
Python __all__变量用法
Python __all__变量用法事实上,当我们向文件导入某个模块时,导入的是该模块中那些名称不以下划线(单下划线“_”或者双下划线“__”)开头的变量、函数和类。因此,如果我们不想模块文件中的某个成员被引入到其它文件中使用,可以在其名称前添加下划线。以前面章节中创建的 demo.py 模块文件和 test.py 文件为例(它们位于同一目录),各自包含的内容如下所示:#demo.pydef say(): print("人生苦短,我学Python!")def CLanguage():原创 2022-04-03 15:15:34 · 222 阅读 · 0 评论 -
Python导入模块的3种方式(超级详细)
Python导入模块的3种方式(超级详细)很多初学者经常遇到这样的问题,即自定义 Python 模板后,在其它文件中用 import(或 from…import) 语句引入该文件时,Python 解释器同时如下错误:ModuleNotFoundError: No module named '模块名'意思是 Python 找不到这个模块名,这是什么原因导致的呢?要想解决这个问题,读者要先搞清楚 Python 解释器查找模块文件的过程。通常情况下,当使用 import 语句导入模块后,Python 会原创 2022-04-03 15:06:03 · 2783 阅读 · 0 评论 -
Python自定义模块
Python自定义模块到目前为止,读者已经掌握了导入 Python 标准库并使用其成员(主要是函数)的方法,接下来要解决的问题是,怎样自定义一个模块呢?前面章节中讲过,Python 模块就是 Python 程序,换句话说,只要是 Python 程序,都可以作为模块导入。例如,下面定义了一个简单的模块(编写在 demo.py 文件中):name = "张三"add = "zhangsan"print(name,add)def say(): print("人生苦短,我学Python!")c原创 2022-04-03 14:59:55 · 6771 阅读 · 0 评论 -
Python导入模块,Python import用法(超级详细)
Python导入模块,Python import用法(超级详细)使用 Python 进行编程时,有些功能没必须自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库。比如说,在前面章节中,我们使用了一些数学函数,例如余弦函数 cos()、绝对值函数 fabs() 等,它们位于 Python 标准库中的 math(或 cmath)模块中,只需要将此模块导入到当前程序,就可以直接拿来用。前面章节中,已经看到使用 import 导入模块的语法,但实际上 import 还有更多详细的用法,主要有原创 2022-04-03 14:53:00 · 3812 阅读 · 0 评论 -
什么是模块,Python模块化编程(入门必读)
什么是模块,Python模块化编程(入门必读)Python 提供了强大的模块支持,主要体现在,不仅 Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块。通过这些强大的模块可以极大地提高开发者的开发效率。那么,模块到底指的是什么呢?模块,英文为 Modules,至于模块到底是什么,可以用一句话总结:模块就是 Python 程序。换句话说,任何 Python 程序都可以作为模块,包括在前面章节中写的所有 Python 程序,都可以作为模块。模块可以原创 2022-04-03 14:46:56 · 296 阅读 · 0 评论 -
Python sys.exc_info()方法:获取异常信息
Python sys.exc_info()方法:获取异常信息在实际调试程序的过程中,有时只获得异常的类型是远远不够的,还需要借助更详细的异常信息才能解决问题。捕获异常时,有 2 种方式可获得更多的异常信息,分别是:使用 sys 模块中的 exc_info 方法;使用 traceback 模块中的相关函数。本节首先介绍如何使用 sys 模块中的 exc_info() 方法获得更多的异常信息。模块 sys 中,有两个方法可以返回异常的全部信息,分别是 exc_info() 和 last_traceb原创 2022-04-03 14:38:53 · 392 阅读 · 0 评论 -
Python raise用法(超级详细,看了无师自通)
Python raise用法(超级详细,看了无师自通)在前面章节的学习中,遗留过一个问题,即是否可以在程序的指定位置手动抛出一个异常?答案是肯定的,Python 允许我们在程序中手动设置异常,使用 raise 语句即可。读者可能会感到疑惑,即我们从来都是想方设法地让程序正常运行,为什么还要手动设置异常呢?首先要分清楚程序发生异常和程序执行错误,它们完全是两码事,程序由于错误导致的运行异常,是需要程序员想办法解决的;但还有一些异常,是程序正常运行的结果,比如用 raise 手动引发的异常。raise 语原创 2022-04-03 14:33:53 · 446 阅读 · 0 评论 -
Python try except finally:资源回收
Python try except finally:资源回收Python 异常处理机制还提供了一个 finally 语句,通常用来为 try 块中的程序做扫尾清理工作。注意,和 else 语句不同,finally 只要求和 try 搭配使用,而至于该结构中是否包含 except 以及 else,对于finally 不是必须的(else 必须和 try except 搭配使用)。在整个异常处理机制中,finally 语句的功能是:无论 try 块是否发生异常,最终都要进入 finally 语句,并原创 2022-04-02 18:09:02 · 248 阅读 · 0 评论 -
Python try except else详解
Python try except else详解在原本的try except结构的基础上,Python 异常处理机制还提供了一个 else 块,也就是原有 try except 语句的基础上再添加一个 else 块,即try except else结构。使用 else 包裹的代码,只有当 try 块没有捕获到任何异常时,才会得到执行;反之,如果 try 块捕获到异常,即便调用对应的 except 处理完异常,else 块中的代码也不会得到执行。举个例子:try: result = 20 /原创 2022-04-02 18:06:13 · 425 阅读 · 0 评论 -
什么是异常处理,Python常见异常类型(入门必读)
Python try except异常处理详解(入门必读)Python 中,用try except语句块捕获并处理异常,其基本语法结构如下所示:try: 可能产生异常的代码块except [ (Error1, Error2, ... ) [as e] ]: 处理异常的代码块1except [ (Error3, Error4, ... ) [as e] ]: 处理异常的代码块2except [Exception]: 处理其它异常该格式中,[] 括起来的部分可以使原创 2022-04-02 18:04:03 · 388 阅读 · 0 评论 -
Python @函数装饰器及用法(超级详细)
Python @函数装饰器及用法(超级详细)前面章节中,我们已经讲解了 Python 内置的 3 种函数装饰器,分别是 @staticmethod、@classmethod 和 @property,其中 staticmethod()、classmethod() 和 property() 都是 Python 的内置函数。那么,函数装饰器的工作原理是怎样的呢?假设用 funA() 函数装饰器去装饰 funB() 函数,如下所示:#funA 作为装饰器函数def funA(fn): #...原创 2022-04-02 17:57:39 · 383 阅读 · 0 评论 -
Python生成器详解
Python生成器详解前面章节中,已经详细介绍了什么是迭代器。生成器本质上也是迭代器,不过它比较特殊。以 list 容器为例,在使用该容器迭代一组数据时,必须事先将所有数据存储到容器中,才能开始迭代;而生成器却不同,它可以实现在迭代的同时生成元素。也就是说,对于可以用某种算法推算得到的多个数据,生成器并不会一次性生成它们,而是什么时候需要,才什么时候生成。不仅如此,生成器的创建方式也比迭代器简单很多,大体分为以下 2 步:定义一个以 yield 关键字标识返回值的函数;调用刚刚创建的函数,即可创原创 2022-04-02 17:49:20 · 327 阅读 · 0 评论 -
什么是迭代器,Python迭代器及其用法
什么是迭代器,Python迭代器及其用法前面章节中,已经对列表(list)、元组(tuple)、字典(dict)、集合(set)这些序列式容器做了详细的介绍。值得一提的是,这些序列式容器有一个共同的特性,它们都支持使用 for 循环遍历存储的元素,都是可迭代的,因此它们又有一个别称,即迭代器。从字面来理解,迭代器指的就是支持迭代的容器,更确切的说,是支持迭代的容器类对象,这里的容器可以是列表、元组等这些 Python 提供的基础容器,也可以是自定义的容器类对象,只要该容器支持迭代即可。前一节中,已经学原创 2022-04-02 17:45:27 · 178 阅读 · 0 评论 -
什么是运算符重载,Python可重载运算符有哪些?
什么是运算符重载,Python可重载运算符有哪些?前面章节介绍了 Python 中的各个序列类型,每个类型都有其独特的操作方法,例如列表类型支持直接做加法操作实现添加元素的功能,字符串类型支持直接做加法实现字符串的拼接功能,也就是说,同样的运算符对于不同序列类型的意义是不一样的,这是怎么做到的呢?其实在 Python 内部,每种序列类型都是 Python 的一个类,例如列表是 list 类,字典是 dict 类等,这些序列类的内部使用了一个叫作“重载运算符”的技术来实现不同运算符所对应的操作。所谓重载原创 2022-04-02 17:41:53 · 206 阅读 · 0 评论 -
Python __call__()方法(详解版)
Python call()方法(详解版)本节再介绍 Python 类中一个非常特殊的实例方法,即 call()。该方法的功能类似于在类中重载 () 运算符,使得类实例对象可以像调用普通函数那样,以“对象名()”的形式使用。举个例子:class CLanguage: # 定义__call__方法 def __call__(self,name,add): print("调用__call__()方法",name,add)clangs = CLanguage()clangs原创 2022-04-02 17:36:25 · 2319 阅读 · 1 评论 -
Python issubclass和isinstance函数:检查类型
Python issubclass和isinstance函数:检查类型Python 提供了如下两个函数来检查类型:issubclass(cls, class_or_tuple):检查 cls 是否为后一个类或元组包含的多个类中任意类的子类。isinstance(obj, class_or_tuple):检查 obj 是否为后一个类或元组包含的多个类中任意类的对象。通过使用上面两个函数,程序可以方便地先执行检查,然后才调用方法,这样可以保证程序不会出现意外情况。如下程序示范了通过这两个函数来检查类型原创 2022-04-02 17:30:29 · 346 阅读 · 0 评论 -
Python setattr()、getattr()、hasattr()函数用法详解
Python setattr()、getattr()、hasattr()函数用法详解除了前面介绍的几个类中的特殊方法外,本节再介绍 3 个常用的函数,分别是 hasattr()、getattr() 以及 setattr。Python hasattr()函数hasattr() 函数用来判断某个类实例对象是否包含指定名称的属性或方法。该函数的语法格式如下:hasattr(obj, name)其中 obj 指的是某个类的实例对象,name 表示指定的属性名或方法名。同时,该函数会将判断的结果(True原创 2022-04-02 17:09:48 · 836 阅读 · 0 评论 -
Python __dict__属性:查看对象内部所有属性名和属性值组成的字典
Python __dict__属性:查看对象内部所有属性名和属性值组成的字典在 Python 类的内部,无论是类属性还是实例属性,都是以字典的形式进行存储的,其中属性名作为键,而值作为该键对应的值。为了方便用户查看类中包含哪些属性,Python 类提供了 dict 属性。需要注意的一点是,该属性可以用类名或者类的实例对象来调用,用类名直接调用 dict,会输出该由类中所有类属性组成的字典;而使用类的实例对象调用 dict,会输出由类中所有实例属性组成的字典。举个例子:class CLanguage:原创 2022-03-31 12:44:30 · 999 阅读 · 0 评论