【Python修仙笔记.7】 类与面向对象修仙 - 铸造你的仙体

举报
不惑 发表于 2025/10/20 22:34:50 2025/10/20
【摘要】 故事情节王麻子想创建自己的仙兽伙伴,老头说:“用类!像铸造仙体,定义属性和方法。”王麻子:“类?听起来像门派传承!”老头:“哈哈,class Immortal: def init (self, name): self .name = name ; def attack(self): print(‘攻击!’)”王麻子创建后:“我的仙兽军团来了!” 编程知识点讲解老头:“class Class...

故事情节

王麻子想创建自己的仙兽伙伴,老头说:“用类!像铸造仙体,定义属性和方法。”

王麻子:“类?听起来像门派传承!”

老头:“哈哈,class Immortal: def init (self, name): self .name = name ; def attack(self): print(‘攻击!’)”

王麻子创建后:“我的仙兽军团来了!”

编程知识点讲解

老头:“class ClassName: def init(self, params): self.attr = param ; def method(self): …”

继承: class Child(Parent): …

多态, 封装.

老头:“OOP像修仙体系,类是模板,对象是实例。”

实战代码示例

class Immortal:
    def __init__(self, name, power):
        self.name = name
        self.power = power

    def attack(self):
        print(f"{self.name} 攻击,威力 {self.power}!")

# 实例
xiaoming = Immortal("王麻子", 200)
xiaoming.attack()

# 继承
class SuperImmortal(Immortal):
    def fly(self):
        print(f"{self.name} 飞天!")

super_xiao = SuperImmortal("超级王麻子", 500)
super_xiao.attack()
super_xiao.fly()

趣味练习题

  1. 创建一个类Player, with init for name and power, method to increase power.

  2. 继承Player创建Wizard类, add magic method.

  3. 实例化几个对象,调用方法模拟战斗。

练习题答案与解释

  1. Player类:

    class Player:
        def __init__(self, name, power):
            self.name = name
            self.power = power
    
        def increase_power(self, amount):
            self.power += amount
            print(f"{self.name} 的灵力增加了 {amount},现在为 {self.power}")
    

    解释: 定义Player类,使用__init__初始化name和power,添加increase_power方法修改属性。这展示了基本类结构和方法。

  2. Wizard子类:

    class Wizard(Player):
        def cast_magic(self, spell):
            print(f"{self.name} 施放 {spell} 魔法!")
    

    解释: Wizard继承自Player,添加cast_magic方法。这演示了继承,Wizard有Player的所有功能加上新方法。

  3. 模拟战斗:

    player1 = Player("王麻子", 100)
    wizard1 = Wizard("法师", 150)
    
    player1.increase_power(50)
    wizard1.cast_magic("火球术")
    wizard1.increase_power(30)  # 继承的方法
    

    解释: 实例化对象,调用方法模拟交互。这展示了对象实例化、方法调用和继承的使用。

本章知识点总结

  • class定义类, __init__初始化.

  • 方法和属性.

  • 继承和多态.

  • OOP让代码像仙门,组织有序!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。