AttributeError:类型对象没有属性

2024-02-12

这是一个有效的多级继承程序。当我运行它时,它显示“AttributeError:类型对象'starts'没有属性'maths'”。我检查了类的关联,它们继承了。我是一个初学者,所以这对我的进步确实有帮助。

class starts:

    def __init__(self, ans, a, b):

        self.ans = input("Please type the operation to do the function as below \n 1. Sum \n 2. Subtract \n 3. multiply \n 4. divide \n")
        self.a = int(input("please enter the number you want to do the operation with : "))
        self.b = int(input("please enter the number you want to do the operation with : "))


class maths(starts):
    def __init__(self, sum, subtract, divide, multiply):

        self.sum = sum
        self.subtract = subtract
        self.divide = divide
        self.multiply = multiply

        def sum(self, a, b):
            print (self.a + self.b)
    #
        def subtract(self, a, b):
            print(self.a - self.b)
    #
        def divide(self, a, b):
            print(self.a / self.b)
    #
        def multiply(self, a, b):
            print(self.a * self.b)


class operations(maths):

    def __init__(self, class_a):

        #super(operations,self).__init__(self.ans, self.a, self.b)
        super().__init__(self.ans, self.a, self.b)

        self.ans = class_a.ans

        if class_a.ans == self.sum:
            print(starts.maths.sum(self.a, self.b))

        elif class_a.ans == self.subtract:
            print(starts.maths.subtract(self.a, self.b))

        elif class_a.ans == self.divide:
            print(starts.maths.divide(self.a, self.b))

        else:
            class_a.ans == self.multiply
            print(starts.maths.multiply(self.a, self.b))


starts.maths.operations()

Your operations类继承了maths类,它继承了starts类,因此所有实例变量都由__init__父类的方法可供子类使用,只需调用super().__init__():

class starts:

    def __init__(self):

        self.ans = input("Please type the operation to do the function as below \n 1. Sum \n 2. Subtract \n 3. multiply \n 4. divide \n")
        self.a = int(input("please enter the number you want to do the operation with : "))
        self.b = int(input("please enter the number you want to do the operation with : "))


class maths(starts):
    def __init__(self):
        super().__init__()

    def sum(self, a, b):
        return (self.a + self.b)

    def subtract(self, a, b):
        return(self.a - self.b)

    def divide(self, a, b):
        return(self.a / self.b)

    def multiply(self, a, b):
        return(self.a * self.b)


class operations(maths):

    def __init__(self):
        super().__init__()

        if self.ans == 'sum':
            print(self.sum(self.a, self.b))

        elif self.ans == 'subtract':
            print(self.subtract(self.a, self.b))

        elif self.ans == 'divide':
            print(self.divide(self.a, self.b))

        elif self.ans == 'multiply':
            print(self.multiply(self.a, self.b))

        else:
            print('Unknown operation: %s' % self.ans)

operations()

输入和输出示例:

Please type the operation to do the function as below 
 1. Sum 
 2. Subtract 
 3. multiply 
 4. divide 
sum
please enter the number you want to do the operation with : 3
please enter the number you want to do the operation with : 7
10
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AttributeError:类型对象没有属性 的相关文章

  • 让 django 不插入某些字段

    我有一个针对 postgresql 数据库表的 Django 模型 我希望 Django 在对象创建期间不要插入 field 3 作为 DB 应该填写的时间戳字段 class AbcModel model id models AutoFie
  • Pip 损坏,给出 PermissionError: [WinError 32]

    我安装了python certifi win32模块 我太忙于解决这个问题 以至于我什至不记得我最初安装它的原因 不过 在安装之后 当我运行 pip 时 我开始收到此错误 下面是扩展错误代码 PermissionError WinError
  • python编写的类爬虫抛出属性错误

    用 python 编写一些代码后 我陷入了深深的麻烦 我是按照 Python 中的 OOP 设计编写代码的新手 我在代码中使用的 xpath 是完美的 当通过 page crawler 类的实例运行 info grabber 类中的 pas
  • 在 matplotlib 中使用轴绘制带有子点的图形时出现错误

    我尝试使用下面的代码绘制子图 但是我得到了 AttributeError numpy ndarray object has no attribute boxplot 但改变plt subplots 1 2 它正在用indexerror绘制箱
  • 尝试在Python3.6中实现`signal.CTRL_C_EVENT`

    我正在阅读有关信号的内容并尝试实施signal CTRL C EVENT 据我了解 如果用户在程序运行时按 CTRC C 将发送一个信号来终止程序 我可以将程序指定为参数吗 我尝试测试用法 import sys import signal
  • Sublime Text 3 内部图像查看器

    是否可以为 Sublime Text 3 创建一个内部图像查看器插件 我注意到在他们的论坛中 人们提到 ST2 不可能 因为 API 不允许访问 UI 和小部件 但只是想知道 ST3 是否仍然如此 Sublime Text 3 现在有内置的
  • Python 中的空填字游戏求解器

    我得到了一个包含填字游戏蓝图的矩阵 当然 它是空的 我们的目标是填补整个难题 这是 Checkio 的一项任务 我已经为此奋斗了相当长一段时间 根据我对复杂性的理解 这个问题没有完美的算法 不过 必须有最好的方法来做到这一点 对吧 我尝试了
  • 动态组装 Python 模块,动态导入

    我正在努力让自己熟悉importlib钩子 我想实现直接导入用其他语言编写的非Python文件并维护源映射的能力 因此提高SyntaxError带有行号的 s 仍然会给出有意义的堆栈跟踪 我加载外部文件的方法是组装 Pythonic 源代码
  • 从谷歌云存储桶加载数据

    这是一个从谷歌云存储桶加载数据的函数 action dataset folder path action data set zip path actions zip url http console cloud google com sto
  • Kubernetes Python 客户端连接问题

    我已经设置了官方 Kubernetes Python 客户端 https github com kubernetes client python https github com kubernetes client python 我正在运行
  • pandas 数据框列表的列表列表

    我有一个列表的列表 最外层列表的长度为 20 单独的类别 中间列表的长度可变 时间戳列表 内部列表的长度为 5 分割每个时间戳 例如 sTimestamps 0 5 Tue Feb 7 10 06 30 2017 Tue Feb 7 10
  • 列表子类的 Python 类型

    我希望能够定义列表子类的内容必须是什么 该类如下所示 class A list def init self list init self 我想包括打字 这样就会发生以下情况 import typing class A list typing
  • pyvenv-3.4 返回非零退出状态 1

    我在 Kubuntu 14 04 我想用 python3 4 创建一个 virtualenv 我之前在其他文件夹中使用过 python2 7 但是当我尝试时 pyvenv 3 4 venv 我有 Error Command home fmr
  • 在 Dash 中使用单选项目在图表之间切换

    我是 Dash 新手 我想制作一个带有在两个图表之间切换的单选项目的应用程序 但我不知道该怎么做 任何帮助将不胜感激 我已经写了一段代码 但我不知道我是否接近 如果可能的话 我想在最后制作的散点图和散点图2之间进行交换 import num
  • python3中“super”对象没有属性“__getattr__”

    如何覆盖 getattr 使用 python 3 和继承 当我使用以下内容时 class MixinA def getattr self item Process item and return value if known if item
  • Python Pandas:沿一列比较两个数据帧,并返回另一个数据帧中两个数据帧的行内容

    我正在处理两个 csv 文件并作为数据框 df1 和 df2 导入 df1 有 50000 行 df2 有 150000 行 我想将 df2 的 时间 与 df1 求时间差并返回所有列的值 对应相似的行 保存在df3中 时间同步 例如 35
  • 如何使用 win32com.client api 访问 MS Word 的脚注

    我正在尝试使用 win32com client api 访问 MS Word 文件的脚注 我已经用谷歌搜索过 但没能找到合适的方法 我使用 python docx 来实现上述目的 但我发现当前版本的 python docx 无法访问 MS
  • FastAPI/Pydantic 接受任意 post 请求正文吗?

    我想创建一个 FastAPI 端点 它只接受任意的 post 请求正文并返回它 如果我发送 foo bar 我想得到 foo bar 后退 但我也希望能够发送 foo1 bar1 foo2 bar2 并把它拿回来 我试过 from fast
  • 互补DNA序列

    我在编写这个循环时遇到问题 它似乎在第二个序列之后停止了 我想返回给定 DNA 序列的互补 DNA 序列 例如 AGATTC gt TCTAAG 其中 A T 和 C G def get complementary sequence dna
  • 使用 Boto3 进行 IAM 身份验证的 SQLAlchemy 可刷新凭证

    我使用 Boto3 生成的身份验证令牌通过 Sqlalchemy 连接到 Amazon RDS self client boto3 client rds region name eu central 1 self token self cl

随机推荐

  • 通过命令行获取制表符大小

    是否有一种自动方法来检索 matlab 编辑器和命令窗口的选项卡大小 是的 您可以打开首选项窗口并自行查找 但我希望它是自动化的 实际上我认为这可以推广到检索any下面的屏幕截图中显示了这些用户偏好 我很快找到了解决方案 经过深思熟虑后 最
  • C++ 创建 Windows 屏幕保护程序

    我使用 OpenGL 和 SDL 在 C 中创建了一个动画 它不使用 Windows 库 并希望将其用作 Windows 系统的屏幕保护程序 我读过一个例子 它描述了你只需更改 exe延伸至 scr 我已经这样做了并将动画作为屏幕保护程序运
  • 如何使用 php echo 显示长轮询结果

    我正在使用一个长轮询脚本 如果我附加任何文本进行测试 该脚本可以很好地工作 现在我想显示 user php 从数据 update php 收集的长轮询结果 我在 user php 页面使用了我的轮询脚本 在这里 如果我使用如下的 测试轮询
  • 作为另一个用户安装共享文件夹(vbox)[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 很抱歉在这里问这个问题 但我尝试了服务器故障 但 4 天都没有得到任何答复 那里的相关问题 https serverfault com questio
  • ASP.Net 5 类库包项目中的 dnxcore50 框架支持吗?

    我正在尝试开发我的第一个 ASP Net Web 应用程序 在我的解决方案中我有两个项目 AWeb Application and Class Library Package 并注意到 Web 应用程序的框架中有这个project json
  • 如何在 Dockerfile 中指定 ENTRYPOINT 的工作目录

    Docker 映像 基于 Windows 包含一个应用程序目录 位于C App 该目录内有几个子文件夹和文件 包括一个名为process bat Dockerfile 用于构建镜像 的结尾如下 ENTRYPOINT C App proces
  • DataGridView 可调整列大小,但最后一列无法调整得更大?

    For c 0 To grd Columns Count 1 grd Columns c Resizable DataGridViewTriState True Next c 这使得我的 DataGridView 中的所有列都可以调整大小
  • Azure 服务 TopicClient 线程安全且可重用吗?

    我们正在使用 Azure SDK 将消息发布到服务总线 在 Web API 调用中 我们对每个传入请求重复执行这些任务 MessagingFactory factory MessagingFactory CreateFromConnecti
  • 计算OWL本体中子类的深度

    我正在寻找一个 SPARQL 查询 它可以返回 OWL 层次结构中指定子类的位置 我研究了几个例子 但我能达到的最好结果是计算指定超类与其子类之间的相对路径 感谢约书亚 泰勒 https stackoverflow com a 230949
  • 连接到远程 mongoDB 服务器

    我有一台使用 SSH 连接到的远程计算机 我在上面安装了 mongoDB 并且我希望远程使用它 如何使用 nodejs 和 mongoDB compass 连接到它 本地主机是IP吗 const db mongodb what do I w
  • 如何使用 Jackson Mixins 将 json 映射到具有不同结构的 java 对象

    如何转换这个json name abc city xyz 使用 Jackson mixin 到员工对象 3rd party class public class Employee public String name public Addr
  • DataGridView 动态更改数据源

    基本上 当我创建这个 DataGridView 时 我有这段代码来填充它 public void fillDataGrid IQueryable
  • Python For 循环返回最后一个值 |解释

    我有一个简单的问题 我已经解决了 但如果有人能解释一下那就太好了whyfor 循环在 python 中执行此操作 如果有更优雅的方法 如果这是一个愚蠢的问题 真的很抱歉 我已尽力尝试多种方法并查看相关问题 但我仍然不确定为什么它不起作用 我
  • 我怎样才能在 C# 中得到这个正则表达式?

    我正在尝试匹配任何具有type Data 然后将其替换为我想要的文本 下面给出了一个示例输入 可以有一个或多个 layer name cifar type Data top data top label include phase TRAI
  • 如何传递Python args和kwargs?

    虽然我对 Python 的 args 和 kwargs 有一个大致的了解 我认为 但我很难理解如何将它们从一个函数传递到另一个函数 这是我的模型 from pdb import set trace as debug from django
  • 如何在选项卡页面之前添加内容页面或视图

    我想在之前添加页面 视图TabbedPage 我怎样才能做到这一点
  • jQuery 随机块引用

    在过去的两个小时里 我一直在寻找和测试这个问题的各种解决方案 但收效甚微 所以我只能寻求帮助 我想建立一个引用数组 每个引用都有引用和一个链接 可以随机提取 除了在页面刷新时更改它们之外 我不需要任何其他东西 不过 我有一些非常美味的 CS
  • 在数据库中存储枚举值的最佳方法 - String 或 Int

    我的应用程序中有许多枚举 在某些类中用作属性类型 将这些值存储在数据库中的最佳方式是什么 作为字符串还是整数 仅供参考 我还将使用 Fluent Nhibernate 映射这些属性类型 示例代码 public enum ReportOutp
  • dplyr::n() 返回“错误:不应直接调用此函数”

    If I do dplyr mutate MeanValue mean RSSI ReadCount n 一切正常 但是当我尝试限定该函数时 dplyr mutate MeanValue mean RSSI ReadCount dplyr
  • AttributeError:类型对象没有属性

    这是一个有效的多级继承程序 当我运行它时 它显示 AttributeError 类型对象 starts 没有属性 maths 我检查了类的关联 它们继承了 我是一个初学者 所以这对我的进步确实有帮助 class starts def ini