-
运算符重载是什么,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 是一门支持多继承的面向对象编[详细] -
Python父类方法重写(入门必备)
所属栏目:[语言] 日期:2023-05-31 热度:2085
前面讲过在 Python 中,子类继承了父类,那么子类就拥有了父类所有的类属性和类方法。通常情况下,子类会在此基础上,扩展一些新的类属性和类方法。
但凡事都有例外,我们可能会遇到这样一种情况,即子类从父类继[详细] -
Python继承机制及其运用
所属栏目:[语言] 日期:2023-05-31 热度:9599
Python 类的封装、继承、多态 3 大特性,前面章节已经详细介绍了 Python 类的封装,本节继续讲解 Python 类的继承机制。
继承机制经常用于创建和现有类功能类似的新类,又或是新类只需要在现有类基础上添加一些成[详细] -
Python封装机制及完成方法
所属栏目:[语言] 日期:2023-05-31 热度:193
不光是 Python,大多数面向对象编程语言(诸如 C++、Java 等)都具备 3 个典型特征,即封装、继承和多态。其中,本节重点讲解 Python 类的封装特性,继承和多态会在后续章节给大家做详细讲解。
简单的理解封装(E[详细] -
Python属性()函数:属性的定义
所属栏目:[语言] 日期:2023-05-31 热度:1009
前面章节中,我们一直在用“类对象.属性”的方式访问类中定义的属性,其实这种做法是欠妥的,因为它破坏了类的封装原则。正常情况下,类包含的属性应该是隐藏的,只允许通过类提供的方法来间接实现对类属性[详细]
-
什么是描述符,Python描述符详细说明
所属栏目:[语言] 日期:2023-05-31 热度:1566
Python 中,通过使用描述符,可以让程序员在引用一个对象属性时自定义要完成的工作。
本质上看,描述符就是一个类,只不过它定义了另一个类中属性的访问方式。换句话说,一个类可以将属性管理全权委托给描述符类。[详细] -
Python类调用实例方式
所属栏目:[语言] 日期:2023-05-31 热度:3455
通过前面的学习,类方法大体分为 3 类,分别是类方法、实例方法和静态方法,其中实例方法用的是最多的。我们知道,实例方法的调用方式其实有 2 种,既可以采用类对象调用,也可以直接通过类名调用。
通常情况下,[详细] -
Python实例方法、静态方法和类方法详解(包括区别及用法)
所属栏目:[语言] 日期:2023-05-31 热度:7473
和类属性一样,类方法也可以进行更细致的划分,具体可分为类方法、实例方法和静态方法。
和类属性的分类不同,对于初学者来说,区分这 3 种类方法是非常简单的,即采用 @classmethod 修饰的方法为类方法;采用 @s[详细] -
Python类变量和实例变量(类属性及实例属性)
所属栏目:[语言] 日期:2023-05-31 热度:2265
无论是类属性还是类方法,都无法像普通变量或者函数那样,在类的外部直接使用它们。我们可以将类看做一个独立的空间,则类属性其实就是在类体中定义的变量,类方法是在类体中定义的函数。
前面章节提到过,在类体[详细] -
Python self用法解析
所属栏目:[语言] 日期:2023-05-31 热度:5916
在定义类的过程中,无论是显式创建类的构造方法,还是向类中添加实例方法,都要求将 self 参数作为方法的第一个参数。例如,定义一个 Person 类:
class Person:
def __init__(self):
print("正在执行[详细] -
Python类的实例化
所属栏目:[语言] 日期:2023-05-31 热度:5024
通过前面章节的学习,我们已经学会如何定义一个类,但要想使用它,必须创建该类的对象。
创建类对象的过程,又称为类的实例化。
Python类的实例化
对已定义好的类进行实例化,其语法格式如下:
类名(参数)[详细]