当前位置: 首页 > 知识库问答 >
问题:

有没有办法将类实例传递给dunder init?[副本]

匡旭东
2023-03-14

“任务”类实例需要包含有关其先决任务的信息。

import typing

class Task:
    def __init__(
        self, 
        prerequisite: typing.Set(Task)
    ):
        self.prerequisite = prerequisite
File "test.py", line 3, in <module>
    class Task:
  File "test.py", line 6, in Task
    prerequisite: typing.Set(Task)
NameError: name 'Task' is not defined

共有1个答案

费和惬
2023-03-14

您可以使用和抽象

from abc import ABC
import typing

class TaskType(ABC):
    pass

class Task:
    def __init__(self, prerequisite: typing.Set(TaskType)):
        self.prerequisite = prerequisite
 类似资料:
  • 问题内容: 我有一个使用处理程序发布可运行实例的线程。它工作得很好,但是我很好奇我如何将参数传递给Runnable实例使用?也许我只是不了解此功能的工作原理。 为了避免出现“您为什么需要此问题”的问题,我有一个线程化的动画,必须调出UI线程来告诉它实际绘制的内容。 问题答案: 只需使用接受参数的构造函数实现的类就可以了, 您可以使用参数化构造函数创建Runnable类的实例。

  • 我在石英(Spring启动应用程序)有一个cron工作。我已经为调度器、触发器、cron作业和所有其他bean创建了bean。作业的目的是基于指定的cron表达式运行。但是对于作业的每个新执行,我希望传递一些特定于该作业的数据到作业详细对象。但是目前,当我试图在JobDetailFactory bean中传递这样的数据时,它只被创建一次(第一次),对于作业的所有进一步执行,传递的都是相同的陈旧数据

  • 问题内容: 特别是,我想做这样的事情: 哦,我想这样做而不必修改pom文件或设置任何环境变量。 问题答案: 我认为最适合您。参见此处:http : //maven.apache.org/configure.html 在Unix中: 添加环境变量以指定JVM属性,例如。此环境变量可用于向Maven提供其他选项。 在Win中,您需要通过对话框设置环境变量 通过打开系统属性()添加…环境变量,…在同一对

  • 问题内容: 我有一个导入unittest并带有一些TestCases的模块。我想接受一些命令行选项(例如,以下是数据文件的名称),但是当我尝试传递该选项时,会收到消息“ option -i not not found”。是否可以让unittest +为应用程序提供选项(注意:我正在使用optparse处理选项)?谢谢。 ===================== 后续:这是建议的解决方案的实现:

  • 问题内容: 我有2个实体:和。 。 问题出在我从数据库中获取accountRole并尝试保留我的。 至此,我刚刚创建了我的帐户,并且角色已经存在于db中。 仍然出现错误。 问题答案: 只需更换 与: 并允许合并级联: 因为合并会这样做: 如果您的实体是新实体,则与persist()相同。但是,如果您的实体已经存在,它将对其进行更新。

  • 我试图在java中使用Hibernate和TypedQuery。 我试图调用的方法有一个签名 我想像bellow一样调用它,但是用一个真实的实例替换null。 上面的代码经过编译,但显然带有空指针异常。 如果我对擦除的理解是正确的,那么只要我得到类对象的一个实例,这就行了,因为所有泛型类型信息在运行时都会丢失。 是否有任何方法,我可以得到一个类的实例,我可以分配给变量cls,使这个代码将工作?