嵌套构造函数。为什么需要它?

2024-01-10

class Character(Entity):
    def __init__(self, x, y, hp):
        Entity.__init__(self, x, y)
        self.hp = hp
        self.items = []

Character是父类的子类Entity. Entity类还有一个__init__功能。为什么需要同时写__init__功能?为什么不只写__init__()为了Character类,这将覆盖__init__() for Entity?


这取决于发生了什么Entity.__init__!如果(并且only if)它所做的一切都是设置的self.x and self.y,你可以这样做:

class Character(Entity):
    def __init__(self, x, y, hp):
        self.x = x
        self.y = y
        self.hp = hp
        self.items = []

但这已经长了一行,如果还要别的吗除了为实例属性设置参数之外,还可以在Entity.__init__(例如,self.items = [] in Character.__init__) your Character可能无法正常工作。

调用超类是一个很好的做法__init__方法,以确保所有需要完成的事情都能完成。

您可以使用以下命令使您的代码更加通用super:

class Character(Entity):
    def __init__(self, x, y, hp):
        super(Character, self).__init__(x, y)

所以如果你改变什么Character继承自你的__init__仍然有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌套构造函数。为什么需要它? 的相关文章

  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • SQLAlchemy 通过关联对象声明式多对多自连接

    我有一个用户表和一个朋友表 它将用户映射到其他用户 因为每个用户可以有很多朋友 这个关系显然是对称的 如果用户A是用户B的朋友 那么用户B也是用户A的朋友 我只存储这个关系一次 除了两个用户 ID 之外 Friends 表还有其他字段 因此
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 将数据从 python pandas 数据框导出或写入 MS Access 表

    我正在尝试将数据从 python pandas 数据框导出到现有的 MS Access 表 我想用已更新的数据替换 MS Access 表 在 python 中 我尝试使用 pandas to sql 但收到错误消息 我觉得很奇怪 使用 p
  • 如何在flask中使用g.user全局

    据我了解 Flask 中的 g 变量 它应该为我提供一个全局位置来存储数据 例如登录后保存当前用户 它是否正确 我希望我的导航在登录后在整个网站上显示我的用户名 我的观点包含 from Flask import g among other
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 如何使用 Ansible playbook 中的 service_facts 模块检查服务是否存在且未安装在服务器中?

    我用过service facts检查服务是否正在运行并启用 在某些服务器中 未安装特定的软件包 现在 我如何知道这个特定的软件包没有安装在该特定的服务器上service facts module 在 Ansible 剧本中 它显示以下错误
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 以编程方式停止Python脚本的执行? [复制]

    这个问题在这里已经有答案了 是否可以使用命令在任意行停止执行 python 脚本 Like some code quit quit at this point some more code that s not executed sys e
  • 如何使用 OpencV 从 Firebase 读取图像?

    有没有使用 OpenCV 从 Firebase 读取图像的想法 或者我必须先下载图片 然后从本地文件夹执行 cv imread 功能 有什么办法我可以使用cv imread link of picture from firebase 您可以
  • 如何在Python中获取葡萄牙语字符?

    我正在研究葡萄牙语 角色看起来很奇怪 我怎样才能解决这个问题 代码 import feedparser import random Vou definir os feeds feeds conf feedurl http pplware s
  • 在f字符串中转义字符[重复]

    这个问题在这里已经有答案了 我遇到了以下问题f string gt gt gt a hello how to print hello gt gt gt f a a gt gt gt f a File
  • 使用 \r 并打印一些文本后如何清除控制台中的一行?

    对于我当前的项目 有一些代码很慢并且我无法使其更快 为了获得一些关于已完成 必须完成多少的反馈 我创建了一个进度片段 您可以在下面看到 当你看到最后一行时 sys stdout write r100 80 n I use 80覆盖最终剩余的
  • 每个 X 具有多个 Y 值的 Python 散点图

    我正在尝试使用 Python 创建一个散点图 其中包含两个 X 类别 cat1 cat2 每个类别都有多个 Y 值 如果每个 X 值的 Y 值的数量相同 我可以使用以下代码使其工作 import numpy as np import mat
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并
  • 使用其构造函数初始化 OrderedDict 以便保留初始数据的顺序的正确方法?

    初始化有序字典 OD 以使其保留初始数据的顺序的正确方法是什么 from collections import OrderedDict Obviously wrong because regular dict loses order d O
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • Python 类继承 - 诡异的动作

    我观察到类继承有一个奇怪的效果 对于我正在处理的项目 我正在创建一个类来充当另一个模块的类的包装器 我正在使用第 3 方 aeidon 模块 用于操作字幕文件 但问题可能不太具体 以下是您通常如何使用该模块 project aeidon P
  • Statsmodels.formula.api OLS不显示截距的统计值

    我正在运行以下源代码 import statsmodels formula api as sm Add one column of ones for the intercept term X np append arr np ones 50

随机推荐

  • SQLite 不区分重音的搜索

    有没有办法在 SQLite 中执行不区分重音的 LIKE 查询 例如 这个查询 SELECT FROM users WHERE name LIKE Andre 会返回 Andr the Giant Andre Agassi etc 如果有什
  • 如何为Postman的binary类型的请求体构建RestTemplate?

    我正在尝试使用 RestTemplate 调用第三方服务 但是当我尝试通过 Java 代码调用该服务时 它会抛出 BadRequest 错误 由于我无法弄清楚如何为 API 构建 Resttemplate 因此我在这里请求有关如何为此类请求
  • 计算中常用值的预定义 - 它会改变什么吗?

    我自动生成 C 代码来计算大型表达式 并尝试通过简单的示例来弄清楚在单独的变量中预定义某些子部分是否有意义 举一个简单的例子 假设我们计算以下形式的内容 include
  • 如何在 html 中的 href 路径中使用变量

    我正在对我的 css 文件进行版本控制 以在需要时 强制浏览器 清除缓存
  • 如何使用 npm 在 64 位系统上构建 32 位二进制文​​件?

    我正在开发一个应用程序 我计划使用它来分发节点 webkit https github com rogerwang node webkit 它在 Windows 上仅具有 32 位二进制文 件 我的操作系统是 Windows 7 Ultim
  • 如何创建动态“包含或喜欢”表达式以与针对 OData 服务的 Linq 一起使用

    我尝试使用 System Linq Expressions Expression WPF c 4 0 创建动态查询工具 它针对 OData 服务运行 到目前为止 只要我限制构建 Equal GreaterThan 等选项的条件 一切都正常
  • Django APIClient 登录不起作用

    我在单元测试中使用 Django Rest Framework API 进行身份验证时遇到问题 通过浏览器访问系统时 系统按预期工作 然而 当我在以下端点向以下类发送 put 请求时 我收到 401 HTTP 状态 class UserDe
  • vb6 winhhtp:安全通道支持中发生错误

    我编写了一个 VB6 程序 它使用 winhttp dll 向远程服务器发送消息或从远程服务器接收消息 它在各种操作系统中都运行良好 Windows 2000 WinXP Win7 Win8 最近服务器提供商通知我他们将 逐步停止对 SHA
  • memcached可以用来加锁吗?

    memcached可用于缓存静态数据 这可以减少数据库查找 并且通常不会memcached get id and memcached set id 但是 将其用于锁定机制可以吗 做memcache set and memcached get
  • php 中的友元函数?

    php是否像c 一样支持友元函数 您很可能指的是类 变量范围 在 PHP 中 你有 public private 受保护的 But not friend能见度 这protectedwhile 当要使对象的成员仅对其他扩展 继承对象可见时使用
  • 这个 Objective-C/XCode 注释是什么 // [START_EXCLUDE]

    查看 iOS 上 GCM 通知的示例代码 https github com googlesamples google services blob master ios gcm GcmExample AppDelegate m L31 htt
  • 在 Yii 中何时使用组件以及何时使用扩展?

    我对 protected 中组件和扩展文件夹的用途有点困惑 请澄清 根据我对 Yii 的一点经验 组件是可以帮助您根据模型编写业务逻辑的类 您肯定不想在控制器中编写所有工作 那么您需要组件来分发代码并在控制器中调用它 扩展就像库一样 基本上
  • 使用 fxml (scenebuilder)制作的进度条来使用方法中的值[重复]

    这个问题在这里已经有答案了 我希望进度条显示返回双值的方法的值 但它不起作用 但我认为这不是主要问题 即使我只使用特定的数字 它也不起作用 请帮助我 提前致谢 这是一个具体的问题 所以我搜索了 cery 很长时间没有结果 所以如果你知道更好
  • nAnt 删除超过 7 天的文件

    我想创建一个目标来清理特定文件夹中超过 7 天的日志文件 当我尝试在文件集中放入 日期 元素时出现错误 我该怎么办
  • 更新单个表的多行

    我需要更新超过 60k 行的表的每一行 目前我正在这样做 public void updateRank Map
  • 超类型-子类型数据库设计

    我有一个关于关系数据库中超类型子类型设计的问题 如果我有一个带有两个子类型表的超类型 我会将与两个子类型表的 PK 相关的超类型的 PK 作为 FK 假设我有这样的事情 Type 类型 ID PK 超级类型 身份验证 类型ID FK Sub
  • CMake 中的布尔变量取反?

    假设我在 CMake 中设置以下变量 set foo TRUE 现在 我想定义一个bar具有相反布尔值的变量foo 换句话说 在这种情况下 我想要bar to be FALSE 或等价物 例如false or 0 完成此操作的一种方法是 i
  • 一起部署 DotNetNuke 和单独的 ASP.NET 应用程序 - 可能的问题?

    我这样做是为了积极主动地尝试阻止由此可能产生的任何潜在问题 情况是 我们正在为客户开发一个 ASP NET 应用程序 该应用程序将处理客户的在线订购 该应用程序将使用与其当前 WinForms 应用程序使用的相同数据库 这里没有真正的问题
  • python中的用户指针

    我正在尝试显示使用 v4l 捕获的网络摄像头的预览 下面是代码的大概样子 from ctypes import from v4l2 import from Image import fromstring from Tkinter impor
  • 嵌套构造函数。为什么需要它?

    class Character Entity def init self x y hp Entity init self x y self hp hp self items Character是父类的子类Entity Entity类还有一个