约 2743 字
约 14 分钟
创建类和对象的方式:
# 创建类,类是类型
class 类名:
# 构造函数,负责初始化对象
def __init__(self, 形式参数列表) -> None:
pass
# ... 类的其它内容
# 创建对象,对象是类的变量
变量名:类名 = 类名(实际参数列表) # 这里调用构造函数
类的 __init__
函数(前后各两个下划线)是构造函数,用于在创建对象时初始化该对象,它的第一个参数 self
会在调用时被传入对象本身。
类的函数成员也被称作 方法(method),相应的类的变量成员也被称作 属性(Attribute)。
__init__
一样,在类的内部创建函数即可,第一个参数为 self
__init__
中给 self
添加变量 class 类名:
# 构造函数,负责初始化对象
def __init__(self, 形式参数列表) -> None:
# 创建属性
self.属性1 = 初始值
self.属性2 = 初始值
self.属性3 = 初始值
# 创建方法
def method1(self, 形式参数列表) -> 返回值类型:
pass
def method2(self, 形式参数列表) -> 返回值类型:
pass
def method3(self, 形式参数列表) -> 返回值类型:
pass
例如:
class Refrigerator:
"""
冰箱类,用于模拟冰箱的开关门和存储内容物。
"""
def __init__(self):
"""
构造函数,负责初始化冰箱的状态
"""
# 使用两个下划线开头,是对象的私有变量
self.__contents = [] # 内容物,初始化为空列表
self.__is_open = False # 冰箱门是否开启,初始化为 False
def open(self):
"""
打开冰箱门
"""
self.__is_open = True
def close(self):
"""
关闭冰箱门
"""
self.__is_open = False
def store(self, goods) -> bool:
"""
存入物品
参数:
goods(Any): 要添加的物品。
返回值:
bool: 是否成功。
"""
if not self.__is_open: # 冰箱门没有打开返回 False
return False
self.__contents.append(goods) # 将物品加入内容物列表
return True
def take(self, index:int):
"""
存入物品
参数:
index(int): 要取出物品的位置。
返回值:
Any: 取出的物品。
"""
if not self.__is_open: # 冰箱门没有打开返回 None
return None
if len(self.__contents) <= index: # 物品不存在,返回 None
return None
goods = self.__contents[index]
self.__contents.pop(index) # 从列表中移除
return goods
# 创建冰箱对象,可以有多个冰箱,它们拥有的属性是独立的
refrigerator_A = Refrigerator()
refrigerator_B = Refrigerator()
refrigerator_A.open() # 开门,self 为 refrigerator_A 下同
refrigerator_A.store('大象') # 把大象装进去
refrigerator_A.close() # 关门
refrigerator_B.open() # 开门,self 为 refrigerator_B 下同
refrigerator_B.store('狮子') # 把狮子装进去
refrigerator_B.close() # 关门
goods = refrigerator_A.take(0) # 取出物品
print(goods) # 查看拿到了什么
refrigerator_B.open() # 开门
goods = refrigerator_B.take(0) # 取出物品
print(goods) # 查看拿到了什么
Loading...
创建于 2025/5/7 17:25:33
更新于 2025/5/7 21:14:54