-
Python __dir__ 用法 列出对象的全部属性 方法 名
所属栏目:[语言] 日期:2022-07-07 热度:59
前面在介绍 Python 内置函数时,提到了 dir() 函数,通过此函数可以某个对象拥有的所有的属性名和方法名,该函数会返回一个包含有所有属性名和方法名的有序列表。 举个例子: class CLanguage: def __init__ (self,): self.name = C语言中文网 self.add =[详细]
-
Python __del__ 方式 销毁对象
所属栏目:[语言] 日期:2022-07-07 热度:154
我们知道,Python 通过调用 __init__() 方法构造当前类的实例化对象,而本节要学的 __del__() 方法,功能正好和 __init__() 相反,其用来销毁实例化对象。 事实上在编写程序时,如果之前创建的类实例化对象后续不再使用,最好在适当位置手动将其销毁,释放[详细]
-
Python __repr__ 方法 显现属性
所属栏目:[语言] 日期:2022-07-07 热度:200
前面章节中,我们经常会直接输出类的实例化对象,例如: class CLanguage: pass clangs = CLanguage() print(clangs) 程序运行结果为: __main__.CLanguage object at 0x000001A7275221D0 通常情况下,直接输出某个实例化对象,本意往往是想了解该对象的基[详细]
-
Python __new__ 办法详解
所属栏目:[语言] 日期:2022-07-07 热度:78
__new__() 是一种负责创建类实例的静态方法,它无需使用 staticmethod 装饰器修饰,且该方法会优先 __init__() 初始化方法被调用。 一般情况下,覆写 __new__() 的实现将会使用合适的参数调用其超类的 super().__new__(),并在返回之前修改实例。例如: cl[详细]
-
查视对象内部所有属性名和属性值组成的字典
所属栏目:[语言] 日期:2022-07-07 热度:112
在 Python 类的内部,无论是类属性还是实例属性,都是以字典的形式进行存储的,其中属性名作为键,而值作为该键对应的值。 为了方便用户查看类中包含哪些属性,Python 类提供了 __dict__ 属性。需要注意的一点是,该属性可以用类名或者类的实例对象来调用[详细]
-
Python issubclass和isinstance函数 检查类别
所属栏目:[语言] 日期:2022-07-07 热度:91
Python 提供了如下两个函数来检查类型: issubclass(cls, class_or_tuple):检查 cls 是否为后一个类或元组包含的多个类中任意类的子类。 isinstance(obj, class_or_tuple):检查 obj 是否为后一个类或元组包含的多个类中任意类的对象。 通过使用上面两个[详细]
-
什么是运算符重载 Python可重载运算符有什么
所属栏目:[语言] 日期:2022-07-07 热度:90
前面章节介绍了 Python 中的各个序列类型,每个类型都有其独特的操作方法,例如列表类型支持直接做加法操作实现添加元素的功能,字符串类型支持直接做加法实现字符串的拼接功能,也就是说,同样的运算符对于不同序列类型的意义是不一样的,这是怎么做到的[详细]
-
何为迭代器 Python迭代器及其用法
所属栏目:[语言] 日期:2022-07-07 热度:106
前面章节中,已经对列表(list)、元组(tuple)、字典(dict)、集合(set)这些序列式容器做了详细的介绍。值得一提的是,这些序列式容器有一个共同的特性,它们都支持使用 for 循环遍历存储的元素,都是可迭代的,因此它们又有一个别称,即迭代器。 例[详细]
-
Python生成器说明
所属栏目:[语言] 日期:2022-07-07 热度:129
前面章节中,已经详细介绍了什么是迭代器。生成器本质上也是迭代器,不过它比较特殊。 以 list 容器为例,在使用该容器迭代一组数据时,必须事先将所有数据存储到容器中,才能开始迭代;而生成器却不同,它可以实现在迭代的同时生成元素。 也就是说,对于[详细]
-
Python枚举类定义和运用
所属栏目:[语言] 日期:2022-07-07 热度:183
一些具有特殊含义的类,其实例化对象的个数往往是固定的,比如用一个类表示月份,则该类的实例对象最多有 12 个;再比如用一个类表示季节,则该类的实例化对象最多有 4 个。 针对这种特殊的类,Python 3.4 中新增加了 Enum 枚举类。也就是说,对于这些实例[详细]
-
什么叫做模块 Python模块化编程
所属栏目:[语言] 日期:2022-07-07 热度:167
Python 提供了强大的模块支持,主要体现在,不仅 Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块。通过这些强大的模块可以极大地提高开发者的开发效率。 那么,模块到底指的是什么呢?模块,英[详细]
-
Python输入模块 Python import用法
所属栏目:[语言] 日期:2022-07-06 热度:115
使用 Python 进行编程时,有些功能没必须自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库。比如说,在前面章节中,我们使用了一些数学函数,例如余弦函数 cos()、绝对值函数 fabs() 等,它们位于 Python 标准库中的 math(或 cmath)模块[详细]
-
Python @函数装饰器及用法 超级细说
所属栏目:[语言] 日期:2022-07-06 热度:66
前面章节中,我们已经讲解了 Python 内置的 3 种函数装饰器,分别是 @staticmethod、@classmethod 和 @property,其中 staticmethod()、classmethod() 和 property() 都是 Python 的内置函数。 那么,函数装饰器的工作原理是怎样的呢?假设用 funA() 函[详细]
-
什么是异常处理 Python常见异常类别
所属栏目:[语言] 日期:2022-07-06 热度:84
开发人员在编写程序时,难免会遇到错误,有的是编写人员疏忽造成的语法错误,有的是程序内部隐含逻辑问题造成的数据错误,还有的是程序运行时与系统的规则冲突造成的系统错误,等等。 总的来说,编写程序时遇到的错误可大致分为 2 类,分别为语法错误和运[详细]
-
Python try except异常处置详解
所属栏目:[语言] 日期:2022-07-06 热度:51
Python 中,用try except语句块捕获并处理异常,其基本语法结构如下所示: try: 可能产生异常的代码块 except [ (Error1, Error2, ... ) [as e] ]: 处理异常的代码块1 except [ (Error3, Error4, ... ) [as e] ]: 处理异常的代码块2 except [Exception]:[详细]
-
Python try except else解说
所属栏目:[语言] 日期:2022-07-06 热度:109
在原本的try except结构的基础上,Python 异常处理机制还提供了一个 else 块,也就是原有 try except 语句的基础上再添加一个 else 块,即try except else结构。 使用 else 包裹的代码,只有当 try 块没有捕获到任何异常时,才会得到执行;反之,如果 try[详细]
-
Python try except finally 资源复收
所属栏目:[语言] 日期:2022-07-06 热度:91
Python 异常处理机制还提供了一个 finally 语句,通常用来为 try 块中的程序做扫尾清理工作。 注意,和 else 语句不同,finally 只要求和 try 搭配使用,而至于该结构中是否包含 except 以及 else,对于 finally 不是必须的(else 必须和 try except 搭配[详细]
-
Python raise用法 超级详细 瞧了无师自通
所属栏目:[语言] 日期:2022-07-06 热度:55
在前面章节的学习中,遗留过一个问题,即是否可以在程序的指定位置手动抛出一个异常?答案是肯定的,Python 允许我们在程序中手动设置异常,使用 raise 语句即可。 读者可能会感到疑惑,即我们从来都是想方设法地让程序正常运行,为什么还要手动设置异常呢[详细]
-
Python sys.exc_info 方法 得到异常信息
所属栏目:[语言] 日期:2022-07-06 热度:153
在实际调试程序的过程中,有时只获得异常的类型是远远不够的,还需要借助更详细的异常信息才能解决问题。 捕获异常时,有 2 种方式可获得更多的异常信息,分别是: 使用 sys 模块中的 exc_info 方法; 使用 traceback 模块中的相关函数。 本节首先介绍如何[详细]
-
Python traceback模块 取得异常信息
所属栏目:[语言] 日期:2022-07-06 热度:145
除了使用 sys.exc_info() 方法获取更多的异常信息之外,还可以使用 traceback 模块,该模块可以用来查看异常的传播轨迹,追踪异常触发的源头。 从输出结果可以看出,异常从 thirdMethod() 函数开始触发,传到 secondMethod() 函数,再传到 firstMethod()[详细]
-
Java计算课程结束的日期
所属栏目:[语言] 日期:2022-07-06 热度:174
假设,每周曰到周六为整的一周,每周从周日开始算起。其中每周的周一、周二、周五需要去学校上课,总共再上9天本学期就结束了。编写 Java 程序,计算上完 9 次课后的日期及星期,以及从当天起到本学期结束总共需要度过的天数。具体的程序代码如下: import[详细]
-
Java日期查询
所属栏目:[语言] 日期:2022-07-06 热度:182
本实例使用有关日期处理和日期格式化的类实现一个日期查询的功能,即查询指定日期所在周的周一日期、两个指定日期间相差的天数和指定日期为所在周的星期几的日期 3 个功能。 从功能上来看,本实例至少需要定义 3 个方法,分别完成:获取指定日期所在周的周[详细]
-
Java包装类、装箱和拆箱
所属栏目:[语言] 日期:2022-07-06 热度:76
在 Java 的设计中提倡一种思想,即一切皆对象。但是从数据类型的划分中,我们知道 Java 中的数据类型分为基本数据类型和引用数据类型,但是基本数据类型怎么能够称为对象呢?于是 Java 为每种基本数据类型分别设计了对应的类,称之为包装类(Wrapper Class[详细]
-
Java Object类详解
所属栏目:[语言] 日期:2022-07-06 热度:194
Object 是 Java 类库中的一个特殊类,也是所有类的父类。也就是说,Java 允许把任何类型的对象赋给 Object 类型的变量。当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 Object 类。因此,以下两个类表示的含义是一样的。 public class MyCla[详细]
-
Java Integer类详解
所属栏目:[语言] 日期:2022-07-06 热度:56
Integer 类在对象中包装了一个基本类型 int 的值。Integer 类对象包含一个 int 类型的字段。此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。 Integer 类的构造方法 Integer[详细]