在 Python 中,面向对象编程(Object-Oriented Programming,OOP)是一种常用的编程范式,它使用对象和类的概念来组织代码。以下是 Python 中面向对象编程的基础知识:

1. 类和对象

  •  类(Class): 类是一个抽象的概念,它定义了对象的属性和行为。类是对象的模板。

class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def bark(self):
        print("Woof!")

  •  对象(Object): 对象是类的实例,它具有类定义的属性和行为。

my_dog = Dog(name="Buddy", age=3)
print(my_dog.name)  # 输出 "Buddy"
my_dog.bark()       # 输出 "Woof!"

2. 初始化方法 __init__

__init__ 方法用于初始化对象的属性。它在对象创建时被调用。
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person = Person(name="Alice", age=25)

3. 实例方法

实例方法是类中定义的函数,可以通过实例调用。实例方法的第一个参数通常是 self,表示实例本身。
class Circle:
    def __init__(self, radius):
        self.radius = radius

    def area(self):
        return 3.14 * self.radius ** 2

circle = Circle(radius=5)
print(circle.area())  # 输出 78.5

4. 继承

继承允许一个类继承另一个类的属性和方法。子类可以扩展或修改从父类继承的属性和方法。
class Animal:
    def __init__(self, name):
        self.name = name

    def speak(self):
        pass

class Dog(Animal):
    def speak(self):
        return "Woof!"

class Cat(Animal):
    def speak(self):
        return "Meow!"

dog = Dog(name="Buddy")
cat = Cat(name="Whiskers")

print(dog.speak())  # 输出 "Woof!"
print(cat.speak())  # 输出 "Meow!"

5. 封装

封装是一种将数据和方法包装在类中的机制,通过这种方式,可以限制对数据的直接访问。
class Car:
    def __init__(self, brand, model):
        self._brand = brand  # 单个下划线表示受保护的属性
        self.__model = model  # 双下划线表示私有属性

    def get_model(self):
        return self.__model

    def set_model(self, new_model):
        self.__model = new_model

car = Car(brand="Toyota", model="Camry")
print(car._brand)        # 输出 "Toyota"
# print(car.__model)      # 会引发 AttributeError
print(car.get_model())   # 输出 "Camry"
car.set_model("Corolla")
print(car.get_model())   # 输出 "Corolla"

这只是面向对象编程的基础知识。通过类和对象,可以更好地组织和管理代码,提高代码的可读性和可维护性。


转载请注明出处:http://www.pingtaimeng.com/article/detail/13335/Python 基础