python类和对象

深入理解 Python 类中的各种方法 实例方法:绑定到实例,通过 self 访问实例属性和方法。类方法:绑定到类,通过 cls 访问和修改类属性。静态方法:不绑定到实例或类,通常用于逻辑上属于类但不依赖实例或类属性的方法。特殊方法:以双下划线包围,由 Python 在特定情况下自动调用。属性方法:将方法转换为属性,提供定制的 getter、setter 和 deleter。__new__ 方法:用于创建实例,在 __init__ 之前调用。__call__ 方法:使实例可以像函数一样被调用。__del__ 方法。 阅读详情

1、类

类是一种抽象概念,它是用来创建对象的蓝图。它定义了对象拥有的属性和方法。对象是类的实例,它是类的具体实现。

定义类

类定义语法:

class 类名:

    类变量

    方法定义

class Person:
    x = 10  # 类变量
    def __init__(self, name, age):  # 构造函数
        self.name = name  # 实例变量
        self.age = age

    def say_hello(self):  # 方法
        print("这是方法")

2、对象

对象是类的实例化,是类的实际数据存储,具有类所定义的属性和方法。

变量 = 类名([参数])

说明

变量存储的是实例化后的对象地址

类参数按照初始化方法的形参传递

对象是类的实例,具有类定义的属性和方法。

通过调用类的构造函数来创建对象。

每个对象有自己的状态,但共享方法。

# 类定义:
class Person:         #Person是一个类
    x = 10  # 类变量
    def __init__(self, name, age):  # 构造函数
        self.name = name  # 实例变量
        self.age = age

    def say_hello(self):  # 方法
        print("这是方法")

# 实例化对象:
p1 = Person("张三", 20)  #p1就是另一个对象
p2 = Person("李四", 22)  #p2就是另一个对象

print(p1.x,id(p1.x))  # 10
print(p1.name,id(p1.name))  # 张三
print(p1.age,id(p1.age))  # 20
p1.say_hello()  # 这是方法

print(p2.x,id(p2.x))  # 10, 实例变量的地址是不一样的
print(p2.name,id(p2.name))  # 李四
print(p2.age,id(p2.age))  # 22

 

3、属性和方法

3.1实例属性

# 类定义:
class Person:
    x = 10  # 类变量
    def __init__(self, name, age):  # 构造函数
        self.name = name  # 实例变量
        self.age = age

    def say_hello(self):  # 方法
        print("这是方法")

p1 = Person("张三", 20)  # 实例化对象
print(p1.x)  # 访问类变量
p1.y = 20  # 添加实例变量
print(p1.y)  # 访问类变量

3.2实例方法

# 类定义:
class Person:
    def f(self, food):  # 方法
        print("我喜欢吃" + food)
    def f1(self, food):
        print("我不喜欢吃" + food)
    def f2(self, food):
        print("我爱吃" + food)
    def f3(self):
        print("我是一个人")
    def f4(a):    # 这里的a应该写成self,只是为了演示参数名可以任意,但一般习惯用self作为接收对象本身的参数名。
        print("我是一个好人")
# 实例化对象:
p1 = Person()
p1.f1("苹果")
p1.f2("香蕉")
p1.f3()
p1.f4()

#在调用方法时,会自动将对象作为第一个参数传入。
#p1.f3() 等价于 p1.f3(p1)
#所以,在定义方法时,必须要有参数来接收对象。
#所以,在定义方法时,第一个参数接收的是对象本身。
#如 def f4(a):  这里的 a 就是对象本身。
#接收对象本的参数名可以随意取名,但一般习惯用 self 作为参数名。

3.3类属性

  • 类属性是类的属性,此属性属于类,不属于此类的实例

  • 作用:

    • 通常用来存储该类创建的对象的共有属性

  • 类属性说明

    • 类属性,可以通过该类直接访问

    • 类属性,可以通过类的实例直接访问

# 类属性
# 类属性是指类本身的属性,它属于类本身,而不是对象。
# 类属性可以通过类名来访问,而不是对象。
# 类属性可以通过类名.属性名来访问。
# 类属性可以通过类名.属性名 = 值 来设置值。

class Person:
    name = "人类"  # 类属性
    x = 10  # 类属性
    def __init__(self, name):  # 构造方法
        self.name = name  # 对象属性

print(Person.name)  # 访问类属性;输出:人类

p1 = Person("小明")  # 实例化对象
print(p1.name)  # 访问对象属性;输出:小明

Person.name = "动物"  # 修改类属性的值
print(Person.name)  # 输出:动物
print(p1.name)  # 输出:小明,对象属性的值没有变化


print(Person.x)  # 输出:10
print(p1.x)  # 输出:10,对象属性的值没有变化
p1.x = 20  # 给对象属性赋值
print(Person.x)  # 输出:10,类属性的值没有变化
print(p1.x)  # 输出:20,对象属性的值发生变化

Person.x = 30  # 修改类属性的值
print(Person.x)  # 输出:30
print(p1.x)  # 输出:20,对象属性的值没有变化

#实例化对象以后,类属性改变,对象属性不变。
#实例化对象以后,对象属性改变,类属性不变。

Person.x = 40  # 修改类属性的值

p2 = Person("小红")  # 实例化对象
print(p2.x)  # 输出:10,对象属性的值没有变化
#因为p2实例化前,Person类中x的值改变,所以p2的x属性值也为40。

3.4类方法

-类方法是用于描述类的行为的方法,类方法属于类,不属于该类创建的对象

 说明

类方法需要使用@classmethod装饰器定义
类方法至少有一个形参用于绑定类,约定为 $cls$
类和该类的实例都可以调用类方法
类方法不能访问此类创建的对象的实例属性

类方法示例1


    class A:
        v = 0
    
        @classmethod
        def set_v(cls, value):
            cls.v = value
    
        @classmethod
        def get_v(cls):
            return cls.v
    
    
    print(A.get_v())
    A.set_v(100)
    print(A.get_v())
    a = A()
    print(a.get_v())
    ```



    

类方法示例2


    class MyClass:
        class_attr = 0  # 类属性
    
        def __init__(self, value):
            self.instance_attr = value  # 实例属性
    
        @classmethod
        def modify_class_attr(cls, new_value):
            cls.class_attr = new_value
            print(f"类属性已修改为: {cls.class_attr}")
    
        @classmethod
        def try_modify_instance_attr(cls):
            try:
                cls.instance_attr = 10  # 事出反常必有妖
            except AttributeError as e:
                print(f"错误: {e}")
    
    
    # 创建类的实例
    obj = MyClass(5)
    
    # 调用类方法修改类属性
    MyClass.modify_class_attr(20)  # 输出: 类属性已修改为: 20
    MyClass.try_modify_instance_attr()	# 事出反常必有妖
    ```

3.5 静态方法

  • 静态方法定义在类的内部,作用域是类内部

  • 说明

    • 使用@staticmethod装饰器定义

    • 不需要self和cls参数

    • 通过类或类实例调用

    • 可以访问类属性,不能访问实例属性

  • 静态方法示例

class A:
    class_attr = 42  # 类属性

    def __init__(self, value):
        self.instance_attr = value  # 实例属性

    @staticmethod
    def myadd(a, b):
        # 只能访问传递的参数,不能访问实例属性
        return a + b

# 创建类实例
a = A(10)

# 调用静态方法
print(A.myadd(100, 200))  # 输出: 300
print(a.myadd(300, 400))  # 输出: 700

3.6 构造方法

构造方法__new__():

  • 负责对象的 创建 和内存分配的。

  • 在对象实例化时被调用,负责返回一个新的对象实例。

  • 通常不需要显式地定义 __new__() 方法,Python会调用基类 object 的 __new__() 方法。

class MyClass:
    def __new__(cls, *args, **kwargs):
        print("调用 __new__ 方法,创建对象")
        return super().__new__(cls)

    def __init__(self, value):
        print("调用 __init__ 方法,初始化对象")
        self.value = value


# 创建对象
obj = MyClass(10)

3.7 初始化方法

  • 一旦对象被创建,Python会调用 __init__() 来初始化对象的属性。

  • 语法格式:

class 类名(继承列表):
    def __init__(self[, 形参列表]):
        语句块
# [] 代表其中的内容可省略

接收实参到 __init__方法中

class MyClass:
    def __new__(cls, *args, **kwargs):
        print("调用 __new__ 方法,创建对象")
        return super().__new__(cls)

    def __init__(self, value):
        print("调用 __init__ 方法,初始化对象")
        self.value = value

# 创建对象
obj = MyClass(10)

3.8魔术方法

魔术方法是一种特殊的方法,用双下划线包裹,例如__init__,__str__,__add__等。这些方法允许您自定义类的行为,以便与内置Python功能(如+运算符、迭代、字符串表示等)交互。

3.8.1常用方法

  1. __init__(self, ...): 初始化对象,通常用于设置对象的属性。

  2. __str__(self): 定义对象的字符串表示形式,可通过str(object)或print(object)调用。例如,您可以返回一个字符串,描述对象的属性。

  3. __repr__(self): 定义对象的“官方”字符串表示形式,通常用于调试。可通过repr(object)调用。

  4. __len__(self): 定义对象的长度,可通过len(object)调用。通常在自定义容器类中使用。

  5. __getitem__(self, key): 定义对象的索引操作,使对象可被像列表或字典一样索引。例如,object[key]。

  6. __setitem__(self, key, value): 定义对象的赋值操作,使对象可像列表或字典一样赋值。例如,object[key] = value。

  7. __delitem__(self, key): 定义对象的删除操作,使对象可像列表或字典一样删除元素。例如,del object[key]。

  8. __iter__(self): 定义迭代器,使对象可迭代,可用于for循环。

  9. __next__(self): 定义迭代器的下一个元素,通常与__iter__一起使用。

  10. __add__(self, other): 定义对象相加的行为,使对象可以使用+运算符相加。例如,object1 + object2。

  11. __sub__(self, other): 定义对象相减的行为,使对象可以使用-运算符相减。

  12. __eq__(self, other): 定义对象相等性的行为,使对象可以使用==运算符比较。

  13. __lt__(self, other): 定义对象小于其他对象的行为,使对象可以使用<运算符比较。

  14. __gt__(self, other): 定义对象大于其他对象的行为,使对象可以使用>运算符比较。

  15. __call__(self, other) 是一个特殊的方法(也称为“魔法方法”),它允许一个对象像函数一样被调用。

3.8.2 案例参考

1.__str__():定义 print() 或 str() 函数调用时的输出字符串表示。

__str__() 方法用来定义当你调用 print() 或 str() 时对象应该返回的字符串。

该方法必须返回一个字符串,通常用于给用户可读的对象描述。

 class Person:
     def __init__(self, name, age):
         self.name = name
         self.age = age
 ​
     def __str__(self):
         return f"Person: {self.name}, Age: {self.age}"
 ​
 p = Person("Alice", 30)
 print(p)  # 输出: Person: Alice, Age: 30

作用:

使得你的对象在打印时更加友好和可读。

提供更好的调试输出。

2.__repr__():定义 repr() 函数的输出,通常用于开发和调试,给出对象的正式字符串表示。

示例:

 
class Person:
     def __init__(self, name, age):
         self.name = name
         self.age = age
 ​
     def __repr__(self):
         return f"Person('{self.name}', {self.age})"
 ​
 p = Person("Alice", 30)
 print(repr(p))  # 输出: Person('Alice', 30)

作用:

__repr__() 方法用于返回一个可以用来重新创建对象的字符串,理想情况下,返回的字符串应当是合法的 Python 表达式。

如果你没有定义 __str__(),那么 __repr__() 会被用来替代 str() 和 print()。

__repr__() 是供开发人员使用的,输出的字符串应该尽可能接近于可以创建该对象的代码。

在调试时使用 repr() 更加方便,它提供了一个清晰的对象表示。

3.__add__():定义 + 运算符的行为。

示例:

 class Point:
     def __init__(self, x, y):
         self.x = x
         self.y = y
 ​
     def __add__(self, other):
         return Point(self.x + other.x, self.y + other.y)
 ​
     def __repr__(self):
         return f"Point({self.x}, {self.y})"
 ​
 p1 = Point(1, 2)
 p2 = Point(3, 4)
 p3 = p1 + p2
 print(p3)  # 输出: Point(4, 6)

作用:

该方法允许你重载加法操作符 +,使其在两个对象之间执行加法时能够自定义行为。

允许你自定义 + 运算符的行为。

4.__len__():定义 len() 函数的行为。

示例:

 class MyList:
     def __init__(self, items):
         self.items = items
 ​
     def __len__(self):
         return len(self.items)
 ​
 my_list = MyList([1, 2, 3])
 print(len(my_list))  # 输出: 3

作用:

__len__() 方法允许你自定义 len() 函数的行为,返回对象的长度。

使得你的对象能够与 len() 函数兼容,返回对象的长度。

5.__getitem__():定义对象支持索引([])操作。

示例:

 
class MyList:
     def __init__(self, items):
         self.items = items
 ​
     def __getitem__(self, index):
         return self.items[index]
 ​
 my_list = MyList([1, 2, 3, 4])
 print(my_list[2])  # 输出: 3

作用:

__getitem__() 方法使得对象能够支持类似列表、元组那样的索引操作。

使对象能够支持索引操作,类似于内置的数据结构(如列表、字典)。

6.__setitem__():定义对象支持索引赋值操作([] =)。

示例:

 
class MyList:
     def __init__(self, items):
         self.items = items
 ​
     def __setitem__(self, index, value):
         self.items[index] = value
 ​
 my_list = MyList([1, 2, 3])
 my_list[1] = 10
 print(my_list.items)  # 输出: [1, 10, 3]

作用:

__setitem__() 方法允许你定义如何通过索引给对象赋值。

使对象能够支持索引赋值操作。

7.__del__():定义对象的析构方法,通常用于资源清理。

示例:

 class MyClass:
     def __init__(self, name):
         self.name = name
         print(f"对象 {name} 创建")
 ​
     def __del__(self):
         print(f"对象 {self.name} 被销毁")
 ​
 obj = MyClass("Test")
 del obj  # 输出: 对象 Test 被销毁

作用:

这个方法在对象销毁时调用,通常用于清理资源(如关闭文件、数据库连接等)。

用于对象销毁时进行资源清理。

8.__eq__():定义 == 运算符的行为。

示例:

 
class Point:
     def __init__(self, x, y):
         self.x = x
         self.y = y
 ​
     def __eq__(self, other):
         return self.x == other.x and self.y == other.y
 ​
 p1 = Point(1, 2)
 p2 = Point(1, 2)
 print(p1 == p2)  # 输出: True

作用:

该方法允许你自定义对象的相等比较行为,默认情况下,Python 会比较对象的内存地址。

使你能够自定义如何比较对象的相等性。

【Python入门】一篇就能让你完全掌握Python中的类和对象 本篇博客超级详细,阅读时请尽量使用电脑端结合目录。在编程中,类和对象是面向对象编程(OOP)的核心概念。Python 是一门支持面向对象编程的语言,这意味着你可以使用类和对象来组织代码,使其更加模块化、可维护和可扩展。 阅读详情

相关推荐

Python中的类(Class)和对象(Object)

类是创建对象的模板。它定义了一个对象的属性和方法。属性是在对象中存储的数据,而方法是可以在对象上执行的操作。在Python中,使用class关键字定义类。def __init__(self): # 构造函数,在创建新对象时自动调用self.attribute = "Hello" # 属性定义def method(self): # 方法定义本文详细介绍了Python中的类(Class)和对象(Object)的概念和应用场景。类是对象的模板或蓝图,而对象是类的实例。

这家伙很懒,什么都没有留下 6934

python 类与对象的详细用法

类的基本用法和实际案例,类的继承、类方法、静态方法

m0_61066945的博客 7616

Python中的类方法详解

类方法是一个绑定到类并且具有类作为其首个参数的方法。在Python中,我们可以使用类(class)来创建对象,对于一个类而言,我们可以定义许多不同的方法用于操作对象。在上面的代码示例中,我们定义了一个带有实例变量var的类MyClass,并在类级别上定义了一个名为class_var的类变量和一个名为class_method的类方法。类方法可以用于在类级别上操作类变量或调用其他类方法。类方法是绑定到类的方法,它的第一个参数是类本身。因此,类方法可以用于在类级别上操作类变量或调用其他类方法。

BUG?不存在的! 1607

python类方法、静态方法和实例方法的使用

python中类的方法有三种,分别为: 类方法,通过装饰器@calssmethod进行修饰。 静态方法,通过装饰器@staticmethod进行修饰。 实例方法,属于方法类型的函数。 为什么要分为三种不同的方法呢?他们之间有什么区别和差异呢?首先这三种方法的可以获取类的属性和变量范围不同,具体区别如下: 类方法:不能获取构造函数定义的变量,可以获取类的属性。 静态方法:不能获取构造函数定义的变量,也不可以获取类的属性。 实例方法:既可以获取构造函数定义的变量,也可以获取类的属性值。

sunny 1万+

运维与软件实施课表

运维与软件实施课表 课程 章节编号 章节 课程地址 软件及操作系统基础 ch01 软件及操作系统基础01 实施、运维工程师基本技能:https://blog.youkuaiyun.com/qq_28189423/article/details/82700539 老毛桃制作winPE镜像:https://blog.youkuaiyun.com/qq_2818942...

Mr.O~的博客 1万+

Webots+UR机械臂仿真全流程:手把手教你用Python实现Pick-and-Place轨迹规划

本文详细介绍了使用Webots和Python实现UR六自由度机械臂的Pick-and-Place轨迹规划全流程。从环境搭建、运动学正逆解计算到轨迹规划实战技巧,涵盖工业场景中的关节补偿、末端校准等实际问题解决方案,帮助开发者快速掌握机械臂精准控制技术。

weixin_29083649的博客 284

Python类和对象

类是创建对象的 ”模板”。数据成员:表明事物的特征。相当于变量方法成员:表明事物的功能。相当于函数通过class关键字定义类。

ZHINV_的博客 856

2026年AI编程工作流实战:Claude Code与Open Code深度对比

AI编程已从代码生成工具升级为IDE级智能工作流核心能力。其本质是将大语言模型深度嵌入开发环境,通过语义理解、上下文感知与行动闭环重构传统编码范式。Claude Code以企业级知识图谱和双轨Code Review为代表,强调合规性、可审计与深度集成;Open Code则依托Skill可组合性、本地优先模型与ocp协议,实现开源驱动的灵活扩展。二者共同推动IDE从‘编辑器’进化为‘数字搭档’——能理解RFC文档、记住PR评论、自动补全带重试的fetch逻辑,并在Promise链发呆时一键重构为async/a

weixin_33739523的博客 464

【Python学习教程】Python类和对象

转载于http://c.biancheng.net/python/ Python 语言在设计之初,就定位为一门面向对象的编程语言,“Python 中一切皆对象”就是对 Python 这门编程语言的完美诠释。 类和对象是 Python 的重要特征,相比其它面向对象语言,Python 很容易就可以创建出一个类和对象。同时,Python 也支持面向对象的三大特征:封装、继承和多态。 本章不仅会教你掌握 Python 类和对象的基本语法,还可以带你深入底层,了解 Python 面向对象的实现原理。 什么是面向对象,

qq_41854911的博客 1万+

DEXPI与Proteus XML:解锁过程工业P&ID数据互操作性的技术核心

本文深入探讨了DEXPI与Proteus XML在过程工业P&ID数据互操作性中的核心技术。通过解析DEXPI标准的开源特性和Proteus XML的架构设计,揭示了其在跨平台数据交换中的关键作用,并结合CADMATIC和西门子COMOS的实战案例,展示了如何实现高效的数据集成与转换。

weixin_29195615的博客 384

【系统架构设计师-2023年真题】综合知识-答案及详解

要实现多任务间的协同工作,操作系统必须提供任务间的通信手段。嵌入式操作系统一般都会提供多任务间通信的方法,其中()是任务间最直接、最明显的通信方法,也是访问共享的数据结构,即不同的任务都可以访问同一地址空间。()作为一种更高级的通信方式,能够在同一处理器的各个任务间传递任意长度(理论上只受物理内存和机器字长限制)的信息。(1)A. 共享内存 B. Socket C. 消息传递 D. 信号量(2)A. 共享内存 B. Socket C. 消息传递 D. 信号量【答案】A、C关于星型拓扑结构,下列说法正确的是(

数据知道的博客 1万+

【Python篇】Python 类和对象:详细讲解(上篇)

类是一个蓝图或模板,用来描述某一类对象的共同特征和行为。它定义了对象应该具有什么属性(变量)和行为(方法)。举个例子,如果你要创建一个汽车管理系统,你可能会定义一个Car类,其中包括汽车的品牌、颜色、速度等属性,以及启动、停止、加速等行为。在 Python 中,类使用class关键字来定义。class Car : # 类的属性和方法定义在这里 pass是类的定义,其中Car是类的名称。pass是一个占位符,表示目前类中没有任何内容,但这是一个合法的类定义。对象是根据类创建的具体实例。

半截诗的博客~ 3109

Burpsuite 使用教程

Burpsuite 使用教程

xiongIT的博客 8216

【Python篇】Python 类和对象:详细讲解(中篇)

在编程中,类和对象是面向对象编程(OOP)的核心概念。Python 是一门支持面向对象编程的语言,这意味着你可以使用类和对象来组织代码,使其更加模块化、可维护和可扩展。类的组合通过在一个类中包含另一个类的实例,来实现功能模块化。这种方法使得类的职责更加明确,也让代码更加易于维护。方法重写:通过在子类中定义与父类同名的方法,你可以重写父类的方法,从而定制子类的行为。重写方法时,子类的方法会覆盖父类的同名方法,这是实现多态性的重要方式。多继承:Python 支持一个类同时继承多个父类的属性和方法。

半截诗的博客~ 2065

【零基础入门unity游戏开发——3D篇】3D物理关节 —— Joint相关组件

【零基础入门unity游戏开发——3D篇】3D物理关节 —— Joint相关组件

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1202

6.10华为OD机试真题 新系统 - 查找温度记录统计信息 (Java/Py/C/C++/Js/Go)

6.10华为OD机试真题 新系统 - 查找温度记录统计信息 (Java/Py/C/C++/Js/Go)

算法大师! 436

【Python入门】类和对象

Python 是一种面向对象的编程语言,这意味着它允许你通过类和对象来组织代码。本篇博客将会介绍Python中如何创建和使用类和对象。

KevinRay_0854的博客 1043

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Python 的对象和类

在现实世界中,具体的实体被称为对象,观察这些对象的属性和行为,发现可以使用相同的特征去描述一类对象。对象属性和行为美国总统特朗普姓名、年龄、工作中国明星成龙姓名、年龄、工作上海中心大厦高度、业主、维护北京中信大厦高度、业主、维护可以使用 “姓名、年龄、工作” 等特征去描述特朗普和成龙这一类对象,使用 “高度、业主、维护” 等特征去描述上海中心大厦、北京中信大厦这一类对象。在编程领域,类是对一组具有相同属性和行为的对象的抽象。

1532

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

python学习之【类和对象】

python学习——类和对象的介绍(详细)

沃和莱特的博客 1520

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Python入门手册:类和对象

本文介绍了Python面向对象编程的核心概念,重点讲解了类和对象的定义与使用。主要内容包括:1)类作为对象模板的概念和对象的实例化过程;2)通过Car类示例展示属性和方法的使用;3)继承和多态的实现方式;4)封装和访问控制机制(公有、受保护、私有)。文章以通俗易懂的方式呈现了OOP的基本特性,包括代码复用、灵活性和数据保护等优势,为读者理解Python面向对象编程提供了清晰指引。

佩奇的技术笔记 1173

Python基础——类和对象

在 Python 中,类(Class)和对象(Object)是面向对象编程的核心概念。通过类和对象,可以组织和管理代码,使得代码更加模块化、可重用和易于维护。下面详细介绍类和对象的概念、定义方法和使用方法。

十二测试录 2844

Python的类和对象

面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。理解面向对象编程有助于你像程序员那样看世界,还可以帮助你真正明白自己编写的代码:不仅是各行代码的作用,还有代码背后更宏大的概念。 作为一名Python初学者,再加上之前没有任何编程语言的学习经验,在学习到Python的类和对象的时候,被各种概念折磨的死去活来。但是「世上无难事只...

python学习者的博客 2498

python基础:类和对象

本文介绍了面向对象编程中类和对象的核心概念。类作为对象的抽象模板,通过class关键字定义,包含属性和方法。属性分为实例属性(通过__init__初始化)和类属性(类共享)。方法包括:实例方法(操作实例属性)、类方法(@classmethod修饰,操作类属性)、静态方法(@staticmethod修饰,工具函数)以及构造方法__new__。重点讲解了魔术方法(如__add__、__str__等)如何实现对象特殊行为,以及工厂模式的应用。文章通过具体代码示例,展示了如何定义类、创建对象及使用各类方法,体现了面

2301_82065950的博客 2536

10 Python面向对象编程:类和对象以及和Java的对比

在Python中,你可以使用class关键字来定义一个类。例如,定义一个名为Person__init__方法是一个特殊的方法,称为构造器,用于初始化类的新实例。self参数代表类的实例本身,并且是类任何方法的第一个参数。类方法需要通过self来访问类属性。

避免专业名词,喜欢讲人话。 918
上一篇: python函数式编程
下一篇: OOP基本特性
M-YM
博客等级 码龄4年 173粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值