Skip to content

类与实例:定义、初始化与属性 ​

类的定义 ​

python
class Dog:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def bark(self):
        return f"{self.name} says Woof!"

# 创建实例
my_dog = Dog("Buddy", 3)
print(my_dog.bark())  # Buddy says Woof!
print(my_dog.age)     # 3

实例属性 vs 类属性 ​

python
class Circle:
    pi = 3.14159  # 类属性
    
    def __init__(self, radius):
        self.radius = radius  # 实例属性
    
    def area(self):
        return Circle.pi * self.radius ** 2

c1 = Circle(5)
c2 = Circle(10)
print(c1.area())  # 78.53975
print(Circle.pi)  # 3.14159(通过类访问)

方法 ​

python
class BankAccount:
    def __init__(self, balance=0):
        self.balance = balance
    
    def deposit(self, amount):
        self.balance += amount
        return self.balance
    
    def withdraw(self, amount):
        if amount > self.balance:
            return "Insufficient funds"
        self.balance -= amount
        return self.balance

account = BankAccount(100)
account.deposit(50)
print(account.balance)  # 150

练习 ​

  1. Person类:创建Person类,包含name和age属性,greet方法。
  2. Rectangle类:实现Rectangle类,计算面积和周长。
  3. 类属性计数器:用类属性统计创建了多少个实例。

答案:第四章答案

下一节:继承与MRO

用心记录每一步成长