# ====== 第9关:蛋仔对象库 - 对象与模块 ====== # 蛋仔本身就是一个"对象"——有属性也有方法! # 学会创建类,再用 import 导入模块 # --- 定义蛋仔类 --- class Egg: """这是一个蛋仔类!""" def __init__(self, name, color, level=1): """初始化蛋仔的属性""" self.name = name # 名字属性 self.color = color # 颜色属性 self.level = level # 等级属性 self.coins = 0 # 金币属性(默认0) def say_hi(self): """蛋仔打招呼的方法""" print(self.name, "说:你好呀!我是", self.color, "色的蛋仔!") def level_up(self): """蛋仔升级的方法""" self.level += 1 print(self.name, "升到了", self.level, "级!") def earn_coins(self, amount): """蛋仔赚金币的方法""" self.coins += amount print(self.name, "赚了", amount, "金币!现在有", self.coins, "金币") def show_status(self): """显示蛋仔状态""" print(f"--- {self.name}的属性卡 ---") print(f" 颜色:{self.color}") print(f" 等级:{self.level}") print(f" 金币:{self.coins}") # --- 创建蛋仔对象 --- print("=== 创建蛋仔 ===") egg1 = Egg("小黄蛋", "黄色", 15) egg2 = Egg("蓝蓝蛋", "蓝色", 8) # --- 使用蛋仔的方法 --- print() egg1.say_hi() egg2.say_hi() print() egg1.earn_coins(500) egg1.level_up() egg1.show_status() # --- 继承:特殊蛋仔 --- print() print("=== 特殊蛋仔:金蛋 ===") class GoldenEgg(Egg): """金蛋是特殊的蛋仔,继承自Egg""" def __init__(self, name, level=1): super().__init__(name, "金色", level) # 调用父类初始化 self.super_power = True # 金蛋有超能力 def use_power(self): """金蛋专属绝招""" print(self.name, "释放了金色光芒!全场震惊!") gold = GoldenEgg("金蛋大王", 50) gold.say_hi() gold.use_power() gold.show_status() # --- 导入模块 --- print() print("=== 使用模块 ===") import random import math print("随机皮肤:", random.choice(["海盗帽", "恐龙装", "草莓斗篷"])) print("随机等级:", random.randint(1, 99)) print("圆周率π:", math.pi) print("2的10次方:", math.pow(2, 10)) # ====== 小挑战 ====== # 1. 创建一个PetEgg类(宠物蛋仔),有名字、饥饿值、快乐值 # 写喂食(feed)和玩耍(play)的方法 # 2. 导入time模块,做一个蛋仔倒计时程序 # 在下面写你的代码: # 提示:class 定义类,__init__ 是初始化方法 # self 代表"这个对象自己",每个对象有自己的属性 # import 模块名 就能用模块里的函数了