-
Python导入模块,Python import用法(非常详细)
所属栏目:[语言] 日期:2023-06-02 热度:2853
使用 Python 进行编程时,有些功能没必须自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库。比如说,在前面章节中,我们使用了一些数学函数,例如余弦函数 cos()、绝对值函数 fabs() 等,它们位于 P[详细]
-
什么是模块,Python模块化编程(初级必备)
所属栏目:[语言] 日期:2023-06-02 热度:6019
Python 提供了强大的模块支持,主要体现在,不仅 Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块。通过这些强大的模块可以极大地提高开发者的开发效率。[详细]
-
Python traceback模块:如何获取异常信息
所属栏目:[语言] 日期:2023-06-02 热度:5900
除了使用 sys.exc_info() 方法获取更多的异常信息之外,还可以使用 traceback 模块,该模块可以用来查看异常的传播轨迹,追踪异常触发的源头。
下面示例显示了如何显示异常传播轨迹:
class SelfException(Excep[详细] -
Python sys.exc_info()方法:获得异常信息
所属栏目:[语言] 日期:2023-06-02 热度:2116
在实际调试程序的过程中,有时只获得异常的类型是远远不够的,还需要借助更详细的异常信息才能解决问题。
捕获异常时,有 2 种方式可获得更多的异常信息,分别是:
使用 sys 模块中的 exc_info 方法;
使用 tra[详细] -
Python raise用法(超级具体,看了无师自通)
所属栏目:[语言] 日期:2023-06-02 热度:6115
在前面章节的学习中,遗留过一个问题,即是否可以在程序的指定位置手动抛出一个异常?答案是肯定的,Python 允许我们在程序中手动设置异常,使用 raise 语句即可。
读者可能会感到疑惑,即我们从来都是想方设法地[详细] -
Python try except finally:重要资源回收
所属栏目:[语言] 日期:2023-06-02 热度:3381
Python 异常处理机制还提供了一个 finally 语句,通常用来为 try 块中的程序做扫尾清理工作。
注意,和 else 语句不同,finally 只要求和 try 搭配使用,而至于该结构中是否包含 except 以及 else,对于 finally 不[详细] -
Python try except else具体说明
所属栏目:[语言] 日期:2023-06-02 热度:3650
在原本的try except结构的基础上,Python 异常处理机制还提供了一个 else 块,也就是原有 try except 语句的基础上再添加一个 else 块,即try except else结构。
使用 else 包裹的代码,只有当 try 块没有捕获到任[详细] -
Python try except异常处理详解(入门必备)
所属栏目:[语言] 日期:2023-06-02 热度:3688
Python 中,用try except语句块捕获并处理异常,其基本语法结构如下所示:
try:
可能产生异常的代码块
except [ (Error1, Error2, ... ) [as e] ]:
处理异常的代码块1
except [ (Error3, Error4, ... )[详细] -
Python @函数装饰器及用法(非常详细)
所属栏目:[语言] 日期:2023-06-02 热度:1778
前面章节中,我们已经讲解了 Python 内置的 3 种函数装饰器,分别是 @staticmethod、@classmethod 和 @property,其中 staticmethod()、classmethod() 和 property() 都是 Python 的内置函数。
那么,函数装饰器[详细] -
什么是迭代器,Python迭代器和用法
所属栏目:[语言] 日期:2023-06-02 热度:9300
前面章节中,已经对列表(list)、元组(tuple)、字典(dict)、集合(set)这些序列式容器做了详细的介绍。值得一提的是,这些序列式容器有一个共同的特性,它们都支持使用 for 循环遍历存储的元素,都是可迭代的,[详细]
-
运算符重载是什么,Python可重载运算符有哪些?
所属栏目:[语言] 日期:2023-06-02 热度:4713
前面章节介绍了 Python 中的各个序列类型,每个类型都有其独特的操作方法,例如列表类型支持直接做加法操作实现添加元素的功能,字符串类型支持直接做加法实现字符串的拼接功能,也就是说,同样的运算符对于不同序列[详细]
-
Python __call__()方法(解析版)
所属栏目:[语言] 日期:2023-06-02 热度:801
本节再介绍 Python 类中一个非常特殊的实例方法,即 __call__()。该方法的功能类似于在类中重载 () 运算符,使得类实例对象可以像调用普通函数那样,以“对象名()”的形式使用。
举个例子:
class CLa[详细] -
Python issubclass和isinstance函数:检查类别
所属栏目:[语言] 日期:2023-06-02 热度:900
Python 提供了如下两个函数来检查类型:
issubclass(cls, class_or_tuple):检查 cls 是否为后一个类或元组包含的多个类中任意类的子类。
isinstance(obj, class_or_tuple):检查 obj 是否为后一个类或元组包含的多[详细] -
Python setattr()、getattr()、hasattr()函数使用方法详解
所属栏目:[语言] 日期:2023-06-02 热度:2664
除了前面介绍的几个类中的特殊方法外,本节再介绍 3 个常用的函数,分别是 hasattr()、getattr() 以及 setattr。
Python hasattr()函数
hasattr() 函数用来判断某个类实例对象是否包含指定名称的属性或方法。该函数[详细] -
Python __dict__属性:查找对象内部所有属性名和属性值组成的字典
所属栏目:[语言] 日期:2023-06-02 热度:584
在 Python 类的内部,无论是类属性还是实例属性,都是以字典的形式进行存储的,其中属性名作为键,而值作为该键对应的值。
为了方便用户查看类中包含哪些属性,Python 类提供了 __dict__ 属性。需要注意的一点是,[详细] -
Python __dir__()用法:列出对象的全部属性(方法)名
所属栏目:[语言] 日期:2023-06-01 热度:6743
前面在介绍 Python 内置函数时,提到了 dir() 函数,通过此函数可以某个对象拥有的所有的属性名和方法名,该函数会返回一个包含有所有属性名和方法名的有序列表。
举个例子:
class CLanguage:
def __init_[详细] -
Python __del__()方法:删除对象
所属栏目:[语言] 日期:2023-06-01 热度:2366
我们知道,Python 通过调用 __init__() 方法构造当前类的实例化对象,而本节要学的 __del__() 方法,功能正好和 __init__() 相反,其用来销毁实例化对象。
事实上在编写程序时,如果之前创建的类实例化对象后续不[详细] -
Python __repr__()方式:显示属性
所属栏目:[语言] 日期:2023-06-01 热度:7905
前面章节中,我们经常会直接输出类的实例化对象,例如:
class CLanguage:
pass
clangs = CLanguage()
print(clangs)
程序运行结果为:
<__main__.CLanguage object at 0x000001A7275221D0>
通常情况下[详细] -
Python __new__()方法详细说明
所属栏目:[语言] 日期:2023-06-01 热度:6429
__new__() 是一种负责创建类实例的静态方法,它无需使用 staticmethod 装饰器修饰,且该方法会优先 __init__() 初始化方法被调用。
一般情况下,覆写 __new__() 的实现将会使用合适的参数调用其超类的 super().__[详细] -
Python枚举类定义和运用(详解版)
所属栏目:[语言] 日期:2023-06-01 热度:5637
一些具有特殊含义的类,其实例化对象的个数往往是固定的,比如用一个类表示月份,则该类的实例对象最多有 12 个;再比如用一个类表示季节,则该类的实例化对象最多有 4 个。
针对这种特殊的类,Python 3.4 中新增[详细] -
什么是多态,Python多态与使用方法详解
所属栏目:[语言] 日期:2023-06-01 热度:8673
在面向对象程序设计中,除了封装和继承特性外,多态也是一个非常重要的特性,本节就带领大家详细了解什么是多态。
我们都知道,Python 是弱类型语言,其最明显的特征是在使用变量时,无需为其指定具体的数据类型。[详细] -
Python MetaClass元类具体解析
所属栏目:[语言] 日期:2023-06-01 热度:4501
MetaClass元类,本质也是一个类,但和普通类的用法不同,它可以对类内部的定义(包括类属性和类方法)进行动态的修改。可以这么说,使用元类的主要目的就是为了实现在创建类时,能够动态地改变类中定义的属性或者方法[详细]
-
Python type()函数:用于动态创建类
所属栏目:[语言] 日期:2023-06-01 热度:3404
我们知道,type() 函数属于 Python 内置函数,通常用来查看某个变量的具体类型。其实,type() 函数还有一个更高级的用法,即创建一个自定义类型(也就是创建一个类)。
type() 函数的语法格式有 2 种,分别如下:[详细] -
Python __slots__:限制类实例动态增加属性和方法
所属栏目:[语言] 日期:2023-06-01 热度:9969
通过学习《Python类变量和实例变量》一节,了解了如何动态的为单个实例对象添加属性,甚至如果必要的话,还可以为所有的类实例对象统一添加属性(通过给类添加属性)。
那么,Python 是否也允许动态地为类或实例对[详细] -
Python super()函数:调用父类的架构方法
所属栏目:[语言] 日期:2023-06-01 热度:5378
前面不止一次讲过,Python 中子类会继承父类所有的类属性和类方法。严格来说,类的构造方法其实就是实例方法,因此毫无疑问,父类的构造方法,子类同样会继承。
但我们知道,Python 是一门支持多继承的面向对象编[详细]
