01. 类与对象
类是对象的蓝图,对象是类的实例。Python 使用 class 关键字定义类。__init__ 是构造方法,在创建对象时自动调用。
python
class Dog:
species = "犬科"
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
return f"{self.name} says: 汪汪!"
def __str__(self):
return f"Dog(name={self.name}, age={self.age})"
dog1 = Dog("旺财", 3)
print(dog1.bark()) # 旺财 says: 汪汪!
print(Dog.species) # 犬科02. 继承与多态
继承允许子类复用父类的属性和方法。多态通过鸭子类型实现:如果对象看起来像鸭子、走路像鸭子,那它就是鸭子。
python
class Animal:
def __init__(self, name, sound):
self.name = name
self.sound = sound
def speak(self):
return f"{self.name} says: {self.sound}"
class Dog(Animal):
def __init__(self, name, breed):
super().__init__(name, "汪汪")
self.breed = breed
class Cat(Animal):
def __init__(self, name):
super().__init__(name, "喵喵")
def speak(self): # 方法重写
return f"{self.name} says: 喵~"
dog = Dog("旺财", "金毛")
cat = Cat("小花")
print(dog.speak()) # 旺财 says: 汪汪
print(cat.speak()) # 小花 says: 喵~03. 特殊方法
Python 类可以定义特殊方法(魔术方法),让自定义类支持内置操作,如 len()、print()、+ 运算符等。
python
class Vector:
def __init__(self, x, y):
self.x = x
self.y = y
def __repr__(self):
return f"Vector({self.x}, {self.y})"
def __add__(self, other):
return Vector(self.x + other.x, self.y + other.y)
def __abs__(self):
return (self.x2 + self.y2) ** 0.5
def __eq__(self, other):
return self.x == other.x and self.y == other.y
v1 = Vector(3, 4)
v2 = Vector(1, 2)
print(v1 + v2) # Vector(4, 6)
print(abs(v1)) # 5.0知识测验
第 1/5 题正确 0
Python 中 self 代表什么?
下一节
下一节 文件操作