类与实例:定义、初始化与属性
类的定义
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练习
- Person类:创建Person类,包含name和age属性,greet方法。
- Rectangle类:实现Rectangle类,计算面积和周长。
- 类属性计数器:用类属性统计创建了多少个实例。
答案:第四章答案
下一节:继承与MRO