PYTHON 文件系统
PYTHON 标准库 

PYTHON 面向对像

在 Python 中,一切皆对象,这意味着所有的数据(如整数、字符串、函数)以及函数和类都是对象。面向对象编程(Object-Oriented Programming,简称OOP)是 Python 的一个重要特性,通过它可以更好地组织和管理代码。


Python中的对象


1、对象(Object):

  • 在Python中,对象是数据封装在一起的实体,每个对象都有自己的身份(identity)、类型(type)和值(value)。

  • 可以使用 id() 函数获取对象的唯一标识符,使用 type() 函数获取对象的类型。

x = 42
print(type(x))  # <class 'int'>
print(id(x))    # 140733989981120


2、类(Class):

  • 类是创建对象的蓝图或模板,定义了对象的属性(属性)和方法(行为)。

  • 使用 class 关键字定义类,类名通常以大写字母开头。

class Dog:
    def __init__(self, name):
        self.name = name
    def bark(self):
        print(f"{self.name} says Woof!")
my_dog = Dog("Buddy")
my_dog.bark()  # 输出:Buddy says Woof!


3、实例化(Instance):

通过类创建的具体对象称为实例。每个实例都有自己的属性,但方法(函数)通常在类中定义,实例共享方法的代码。

class Circle:
    def __init__(self, radius):
        self.radius = radius
    def area(self):
        return 3.14 * self.radius ** 2
my_circle = Circle(5)
print(my_circle.area())  # 输出:78.5


4、继承与多态:

继承允许一个类(子类)从另一个类(父类)继承属性和方法。子类可以重写父类的方法,实现多态性(Polymorphism)。

class Animal:
    def sound(self):
        pass
class Dog(Animal):
    def sound(self):
        return "Woof!"
class Cat(Animal):
    def sound(self):
        return "Meow!"
def make_sound(animal):
    print(animal.sound())
dog = Dog()
cat = Cat()
make_sound(dog)  # 输出:Woof!
make_sound(cat)  # 输出:Meow!


5、封装与访问控制:

  • 封装通过将数据(属性)和操作数据的方法(方法)捆绑在一起,隐藏对象的内部细节。

  • 在 Python 中,可以通过命名约定和属性方法(getter和setter)来模拟访问控制。

class Car:
    def __init__(self, speed):
        self.__speed = speed  # 私有属性
    def get_speed(self):
        return self.__speed
    def set_speed(self, new_speed):
        if new_speed > 0:
            self.__speed = new_speed
my_car = Car(100)
print(my_car.get_speed())  # 输出:100
my_car.set_speed(120)
print(my_car.get_speed())  # 输出:120


面向对象编程的优点

  • 模块化:代码更易于维护和重用。

  • 封装:隐藏了实现细节,提高了安全性和可靠性。

  • 继承:提高了代码的可扩展性和灵活性。

  • 多态:增加了代码的可读性和可理解性。


Python 的面向对象编程强调灵活性和简洁性,使得它成为开发复杂和大规模应用程序的强大工具。