Python 编程骚操作连载(二)- 类与对象
2023-10-30 08:53:37
Python 编程骚操作连载(二)- 类与对象
面向对象编程(OOP)是一种编程范式,它将数据和行为组织成称为对象的概念。对象可以包含数据,也可以执行操作。类是对象的蓝图,它定义了对象的数据和行为。
1. 类和对象
在 Python 中,类使用 class
来定义。类名应该以大写字母开头。类中的数据称为属性,行为称为方法。
例如,我们可以定义一个 Person
类如下:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print(f"Hello, my name is {self.name} and I am {self.age} years old.")
在这个类中,__init__()
方法是构造函数,它在创建对象时被调用。name
和 age
是属性,它们存储了对象的数据。greet()
方法是一个方法,它可以被对象调用来执行操作。
要创建 Person
类的对象,我们使用 ()
运算符。例如,我们可以创建一个名为 alice
的 Person
对象如下:
alice = Person("Alice", 20)
现在,我们可以使用 .
运算符来访问 alice
对象的属性和方法。例如,我们可以使用 alice.name
来访问 alice
的姓名,或者我们可以使用 alice.greet()
来让 alice
打招呼。
2. 继承
继承是 OOP 中的一个重要概念。它允许我们创建新的类,这些类从现有的类继承数据和行为。
例如,我们可以创建一个 Student
类,它从 Person
类继承。Student
类可以拥有自己的数据和行为,但它也可以继承 Person
类的数据和行为。
class Student(Person):
def __init__(self, name, age, school):
super().__init__(name, age)
self.school = school
def study(self):
print(f"{self.name} is studying.")
在这个类中,__init__()
方法调用 super().__init__(name, age)
来调用 Person
类的构造函数。这将设置 name
和 age
属性。school
属性是 Student
类特有的。study()
方法也是 Student
类特有的。
要创建 Student
类的对象,我们使用 ()
运算符。例如,我们可以创建一个名为 bob
的 Student
对象如下:
bob = Student("Bob", 22, "MIT")
现在,我们可以使用 .
运算符来访问 bob
对象的属性和方法。例如,我们可以使用 bob.name
来访问 bob
的姓名,或者我们可以使用 bob.study()
来让 bob
学习。
3. 多态
多态是 OOP 中的另一个重要概念。它允许我们使用相同的代码来操作不同类型的对象。
例如,我们可以创建一个 greet()
函数,它可以接受任何 Person
类的对象作为参数。这个函数将打印该对象的姓名和年龄。
def greet(person):
print(f"Hello, my name is {person.name} and I am {person.age} years old.")
现在,我们可以使用 greet()
函数来打招呼任何 Person
类的对象。例如,我们可以使用 greet(alice)
来打招呼 alice
对象,或者我们可以使用 greet(bob)
来打招呼 bob
对象。
4. 封装
封装是 OOP 中的最后一个重要概念。它允许我们将数据和行为隐藏在对象中,从而保护它们不被外部代码访问。
在 Python 中,我们可以使用 private
关键字来将数据和行为隐藏在对象中。private
关键字将数据和行为标记为私有的,这意味着它们只能在对象内部访问。
例如,我们可以将 Person
类的 name
和 age
属性标记为私有的,如下所示:
class Person:
def __init__(self, name, age):
self.__name = name
self.__age = age
def greet(self):
print(f"Hello, my name is {self.__name} and I am {self.__age} years old.")
现在,我们无法再使用 .
运算符来访问 name
和 age
属性。我们只能使用 greet()
方法来访问这些属性。
5. 结论
类和对象是 Python 编程中的重要概念。它们允许我们将数据和行为组织成对象,从而使代码更具可读性、可维护性和可重用性。继承、多态和封装是 OOP 中的其他三个重要概念。它们允许我们创建更灵活、更强大的代码。