Python的类主要包含:
1. 定义类:
- 使用class关键字定义类
- 语法:
python class 类名: def __init__(self, 参数): self.属性 = 参数 # 初始化属性 def 方法名(self, 参数): 函数体 |
- __init__方法用于初始化对象的属性
- self代表类的实例
2. 实例化:
- 使用类名()创建实例对象
- 可以向__init__方法传参以初始化对象
3. 访问属性和方法:
- 使用.访问方法和属性
- 例如:对象名.方法名() 对象名.属性名
4. 继承:
- 使用(parent class)继承父类
- 子类继承父类的所有方法和属性
- 可以重写父类的方法
- 可以使用super()访问父类的方法和属性
5. 多继承:
- 使用(parent class1, parent class2)继承多个父类
- 如果父类有同名属性或方法,会产生名称冲突,需要重写或明确调用
6. 方法的类型:
- 实例方法:使用self参数,操作实例属性
- 类方法:使用@classmethod,操作类属性,使用cls参数代表类
- 静态方法:使用@staticmethod,不操作实例和类属性
示例
python # 定义类 class Person: def __init__(self, name, age): self.name = name self.age = age def say_hello(self): print(f'Hello, I am {self.name}.') # 实例化 p = Person('John', 30) # 访问属性和方法 p.name # John p.say_hello() # Hello, I am John. # 继承 class Student(Person): def __init__(self, name, age, id): super().__init__(name, age) self.id = id s = Student('Mary', 20, 101) s.name # Mary s.id # 101 # 类方法和静态方法 class Person: count = 0 def __init__(self, name): self.name = name Person.count += 1 @classmethod def get_count(cls): return cls.count @staticmethod def hello(): print('Hello!') |
类是Python面向对象编程的基础,要深入理解类的概念和用法。要在项目中合理定义类,提高代码的可重用性和扩展性。
要注意继承、多继承及其名称冲突的问题。要熟悉不同方法的类型及其定义方式和用途。
面向对象编程是现代软件架构的基石,通过学习可以构建包括封装、继承、多态在内的各种机制,实现强大的系统设计。要不断实践,熟练掌握。