📜  Python中的面向对象编程1(类,对象和成员)(1)

📅  最后修改于: 2023-12-03 15:19:31.546000             🧑  作者: Mango

Python中的面向对象编程1(类,对象和成员)

Python是一种高级编程语言,支持多种编程范式,其中面向对象编程(OOP)是最常用的范式之一,它可以使代码更加模块化,易于维护和扩展。在本文中,我们将学习Python中的OOP,主要包括类,对象和成员。

类是OOP中最基本的概念,它定义了对象的属性和行为。在Python中,通过关键字class来定义类,其中类名通常采用驼峰命名法,如下所示:

class MyClass:
    pass

以上代码定义了一个名为 MyClass 的类,pass表示这个类还没有任何成员。

我们可以在类中定义成员,包括类变量,实例变量,类方法和实例方法等等。

对象

对象是类的实例,它具有类定义的属性和方法。在Python中,我们可以使用以下语法来创建对象:

my_object = MyClass()

以上代码创建了一个名为 my_object 的对象,它是 MyClass 类的一个实例。

创建对象后,我们可以使用以下语法来访问对象的成员:

my_object.my_member

其中,my_member 可以是类变量,实例变量,类方法或实例方法等等。

成员

类成员分为两种类型:数据成员和函数成员。

数据成员

数据成员分为类变量和实例变量两种类型。

类变量

类变量是指属于类的变量,在类中声明,作为类的一个属性存在,可以被所有的对象所共享。可以使用以下语法在类中定义类变量:

class MyClass:
    my_class_variable = 10

以上代码定义了一个名为 my_class_variable 的类变量,它被所有的对象所共享。

实例变量

实例变量是指属于对象的变量,在对象创建时声明,作为对象的一个属性存在,只能被该对象访问。可以使用以下语法在类中定义实例变量:

class MyClass:
    def __init__(self, my_instance_variable):
        self.my_instance_variable = my_instance_variable

my_object = MyClass("hello")
print(my_object.my_instance_variable)

以上代码在 MyClass 类中定义了一个构造函数 __init__,用于初始化实例变量 my_instance_variable。在创建对象 my_object 后,我们可以使用 my_object.my_instance_variable 访问实例变量。

函数成员

函数成员分为类方法和实例方法两种类型。

类方法

类方法是指通过类来调用的方法,在类中声明,使用@classmethod装饰器标识。类方法有一个约定的参数cls,它指代类本身,可以被子类所继承。可以使用以下语法在类中定义类方法:

class MyClass:
    my_class_variable = 10

    @classmethod
    def my_class_method(cls):
        print(cls.my_class_variable)

MyClass.my_class_method()

以上代码定义了一个名为 my_class_method 的类方法,在调用时可以使用类名来调用,如 MyClass.my_class_method()

实例方法

实例方法是指通过对象来调用的方法,在类中声明,使用self作为第一个参数。实例方法可以访问实例变量,但不能访问类变量。可以使用以下语法在类中定义实例方法:

class MyClass:
    def __init__(self, my_instance_variable):
        self.my_instance_variable = my_instance_variable

    def my_instance_method(self):
        print(self.my_instance_variable)

my_object = MyClass("hello")
my_object.my_instance_method()

以上代码定义了一个名为 my_instance_method 的实例方法,在调用时需要使用对象来调用,如 my_object.my_instance_method()

总结

本文介绍了Python中的OOP,包括类,对象和成员。类是OOP中最基本的概念,用于定义对象的属性和行为。对象是类的实例,具有类定义的属性和方法,可以通过对象来访问成员。成员包括数据成员和函数成员,数据成员包括类变量和实例变量,函数成员包括类方法和实例方法。了解并掌握Python中的OOP有利于编写高效,健壮且易于维护的代码。