Python - 从其他内部类引用内部类

2024-01-01

我试图从另一个内部类引用一个内部类。我都尝试过:

class Foo(object):

  class A(object):
    pass

  class B(object):
    other = A

and

class Foo(object):

  class A(object):
    pass

  class B(object):
    other = Foo.A

以及各自的结果:

Traceback (most recent call last):
  File "python", line 1, in <module>
  File "python", line 6, in Foo
  File "python", line 7, in B
NameError: name 'A' is not defined

and

Traceback (most recent call last):
  File "python", line 1, in <module>
  File "python", line 6, in Foo
  File "python", line 7, in B
NameError: name 'Foo' is not defined

这可能吗?


这是不可能的,因为您在类中定义的所有内容仅在该类的实例中才成为有效成员,除非您定义一个方法@staticmethod,但是类没有这样的属性。

所以,这也行不通:

class Foo(object):
    x = 10

    class A(object):
        pass

    class B(object):
        other = x

This will工作,但这不是你想要的:

class Foo(object):
  x = 10

  class A(object):
    pass

  class B(object):
    def __init__(self):
        self.other = Foo.A

f = Foo()
print(f.B().other)

输出是:

<class '__main__.Foo.A'>

这样做的原因是方法(在本例中__init__) 在创建对象时进行评估,而在对象之前进行赋值__init__在阅读和解释课程时进行评估。

通过简单地在自己的模块中定义所有类,您可以获得与您想要的相同的效果。导入模块使其成为一个对象,其字段是您在其中定义的类。

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

Python - 从其他内部类引用内部类 的相关文章

  • 导入错误:无法导入名称“FFProbe”

    我无法获取ffprobe包 https github com simonh10 ffprobe在 Python 3 6 中工作 我使用 pip 安装它 但是当我输入import ffprobe it says Traceback most
  • 如何同时运行多个功能[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有以下代码 my func1 my func2 my func3 my func4 my func5 是否可以同时计算函数的数据 而
  • Python:json_normalize pandas 系列给出 TypeError

    我在 pandas 系列中有数万行像这样的 json 片段df json IDs lotId 1 Id 123456 date 2009 04 17 bidsCount 2 IDs lotId 2 Id 123456 date 2009 0
  • Python,Google Places API - 给定一组纬度/经度查找附近的地点

    我有一个由商店 ID 及其纬度 经度组成的数据框 我想迭代该数据框 并使用 google api 为每个商店 ID 查找附近的关键地点 例如输入 Store ID LAT LON 1 1 222 2 222 2 2 334 4 555 3
  • Scrapy 文件管道不下载文件

    我的任务是构建一个可以下载所有内容的网络爬虫 pdfs 在给定站点中 Spider 在本地计算机和抓取集线器上运行 由于某种原因 当我运行它时 它只下载一些但不是全部的 pdf 通过查看输出中的项目可以看出这一点JSON 我已经设定MEDI
  • Python3将模块从文件夹导入到另一个文件夹

    我的结构字典是 mainFolder folder1 init py file1 py file2 py folder2 init py file3 py file4 py setup py init py 我需要将 file4 py 从f
  • 使用 scikit 时 scipy.sparse 矩阵的缩放问题

    在使用 scikit learn 解决机器学习问题时 我需要在使用 SVM 进行训练之前对 scipy sparse 矩阵进行缩放 但在文档 http scikit learn org stable modules preprocessin
  • 获取 Keras model.summary() 作为表

    我在 Keras 中创建了相当大的模型 我正在用 LaTeX 写一篇关于它的文章 为了很好地描述 LaTeX 中的 keras 模型 我想用它创建一个 LaTeX 表 我可以手动实现它 但我想知道是否有任何 更好 的方法来实现这一点 我四处
  • 在 Python 中从 Excel 复制 YEARFRAC() 函数

    因此 我使用 python 来自动执行一些必须在 Excel 中执行的重复任务 我需要做的计算之一需要使用yearfrac 这在Python中被复制了吗 I found this https lists oasis open org arc
  • Eclipse/PyDev 中未使用导入警告,尽管已使用

    我正在我的文件中导入一个绘图包 如下所示 import matplotlib pyplot as plt 稍后我会在我的代码中成功使用此导入 fig plt figure figsize 16 10 然而 Eclipse 告诉我 未使用的导
  • Python脚本从字母和两个字母组合生成单词

    我正在编写一个简短的脚本 它允许我使用我设置的参数生成所有可能的字母组合 例如 b a 参数 单词 5 个字母 第三 第五个字母 b a 第一个字母 ph sd nn mm 或 gh 第二 第四个字母 任意元音 aeiouy 和 rc 换句
  • 如何从邻接表高效创建稀疏邻接矩阵?

    我正在与last fm http labrosa ee columbia edu millionsong lastfm数据集来自百万歌曲数据集 http labrosa ee columbia edu millionsong 数据以一组 j
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 在Python中使用pil读取tif图像时出现值错误?

    我必须读取尺寸的tif图像2200 2200并输入 uint16 我将 PIL 库与 anaconda python 一起使用 如下所示 from PIL import Image img Image open test tif img i
  • 如何创建增量加载网页

    我正在编写一个处理大量数据的页面 它会永远持续到我的结果页面加载 几乎无限 因为返回的数据太大了 因此 我需要实现一个增量加载页面 例如 url 中的页面 http docs python org http docs python org
  • 根据标点符号列表替换数据框中的标点符号[重复]

    这个问题在这里已经有答案了 使用 Canopy 和 Pandas 我有数据框 a 其定义如下 a pd read csv text txt df pd DataFrame a df columns test test txt 是一个单列文件
  • 将 Django 中的所有视图限制为经过身份验证的用户

    我是 Django 新手 我正在开发一个项目 该项目有一个登录页面作为其索引和一个注册页面 其余页面都必须仅限于登录用户 如果未经身份验证的用户尝试访问这些页面 则必须将他 她重定向到登录页面 我看到 login required装饰器会将
  • SQLAlchemy 与 count、group_by 和 order_by 使用 ORM

    我有几个函数需要使用 count group by 和 order by 进行一对多连接 我使用 sqlalchemy select 函数生成一个查询 该查询将返回一组 id 然后我对其进行迭代以对各个记录执行 ORM 选择 我想知道是否有
  • py2exe ImportError:没有名为 的模块

    我已经实现了一个名为 myUtils 的包 它由文件夹 myUtils 文件 组成 init py 和许多名称为 myUtils 的 py 文件 该包包含在 myOtherProject py 中 当我从 Eclipse 运行它们时可以找到
  • 超过两个点的Python相对导入

    是否可以使用路径中包含两个以上点的模块引用 就像这个例子一样 Project structure sound init py codecs init py echo init py nix init py way1 py way2 py w

随机推荐

  • 如何在 C# 中将 Null 值赋给 Non-Nullable 类型变量?

    正如我所声明的 双x 现在我想分配 x NULL 我该怎么做 我看过其他一些答案 但无法理解它们 这就是打开此线程的原因 您必须将其声明为可为空类型 double x x null 不可为 null 的类型 例如 double 不能为 nu
  • 为什么我必须提供默认ctor?

    如果我想创建我类型的对象数组 为什么必须提供默认构造函数 感谢您的解答 因为它们必须被初始化 考虑一下是否情况并非如此 struct foo foo int void bar void foo a 10 foo f a 0 not defa
  • JQuery - 添加 onclick 到动态生成的 img 标签

    我正在使用以下代码动态创建多个图像 function refresh gallery galleryidentifier albumid ajax type POST url Photos Thumbnails albumid data s
  • Python 2.7 - 使用 Xvfb 进行 Selenium 无头测试不起作用

    注意我已经查看了以下来源 easyprocess EasyProcessCheckInstalledError cmd Xvfb help OSError Errno 2 没有这样的文件或目录 https stackoverflow com
  • 无法在 Azure 中访问我的 X509Certificate 2 私钥

    我将我的 X509Certificate 存储在数据库中 在byte 以便我的应用程序可以检索证书并使用它来签署我的 JWT 我的 x509Certificate 是通过我在计算机上生成的 pfx 文件传递 的 但现在它作为字节字符串位于数
  • 通过 AirDrop 发送即时创建的 QR 码 UIImage 失败

    我正在动态创建一个 QR 码并将其存储为 UIImage 现在我希望能够使用 UIActivityViewController 发送它 但不知何故它失败了 func generateQRCode from string String gt
  • PHP:如何防止代码的多次执行(如果它已经在处理中)

    解释 通常需要 10 20 秒响应的 API 调用 对另一个服务 存储在数据库中 存储后 系统会立即尝试使用API 将结果显示给用户 但可能会失败 并显示失败 但我们会自动重试 因此还有一个Cron Job设置为每 30 秒运行一次并再次尝
  • RavenDB 对列表属性进行 Map/Reduce

    刚刚学习 Map Reduce 我错过了一个步骤 我读过这篇文章 使用 NET 客户端的 RavenDB Map Reduce 示例 https stackoverflow com questions 4253334 ravendb map
  • 命名参数什么时候有用?

    C 代码中是否存在位置参数不够用的情况 我真的没有看到命名参数有任何好处 相反 我可以看到过度使用命名参数会使代码难以阅读 所以我的问题是 为什么有人会使用它们以及它如何帮助编写更好的代码 因为我确信它们不是毫无理由地实现的 这对我来说看起
  • 如何在 WSO2 APIM 中处理外部/第三方 API 的外部身份验证

    我正在使用 WSO2 APIM 2 5 0 和 IS 5 6 0 它们都是集成的并且运行良好 现在 如果我在 API 管理中加入第三方 API 并使用 oauth 令牌 我就可以访问它 但问题是如何处理具有自己的身份验证的任何外部或第三方
  • const_cast 和 UB

    5 2 11 7 注 取决于 对象的类型 写操作 通过指针 左值或指针 到由 a 产生的数据成员 const cast 抛弃 a const 限定符68 may生产 未定义的行为 7 1 5 1 本节 C 03 的措辞令我惊讶 令人惊讶的是
  • 两次时间差

    我想以 hh mm 格式显示两个时间之间的差异 第一个时间来自数据库 第二个时间是系统时间 时差每秒更新一次 我怎样才能做到这一点 目前 我正在使用两个手动时间 如果效果完美 那么我会将其实施到我的应用程序中 public class Ma
  • 将星星添加到 p 值

    我计算了多个变量均值差异的 Anova F 检验 p 值 现在我想添加 星星 来指示 p 值的显着性水平 我希望 表示 10 水平的显着性 表示 5 水平的显着性 表示 1 水平的显着性 我的数据如下所示 structure list Va
  • 如果未安装应用程序,如何获取 Facebook 应用程序链接

    如果用户点击 Facebook 应用程序中的深层链接时未安装我的应用程序 如何获取应用程序链接数据 令人惊讶的是 Facebook 关于这个问题的文档很少 我有一个深层链接https fb me 635533123230265 返回 HTM
  • 在 ASP.NET MVC 组织帐户中访问 Azure AD Graph API

    我正在尝试根据登录用户的 AD 组限制页面访问 我对以下代码有问题 var tenantId incomingPrincipal FindFirst GraphConfiguration TenantIdClaimType Value cr
  • 如何在 Eclipse 中为编辑器创建大纲视图?

    我在 eclipse 中创建了一个自定义编辑器 其大纲视图显示大纲不可用 我尝试搜索此内容 发现了以下链接 常见问题解答 如何为我自己的语言编辑器创建大纲视图 http wiki eclipse org FAQ How do I creat
  • 在 Ruby 中生成高斯(正态分布)随机数的代码

    在 ruby 中生成正态分布随机数的代码是什么 注 我回答了我自己的问题 但我会等几天再接受 看看是否有人有更好的答案 EDIT 为了搜索这个 我查看了两次搜索产生的 SO 上的所有页面 正态分布 红宝石 and 高斯 随机红宝石 蟒蛇的随
  • 使用 [NSDate date] 获取当前日期和时间

    我的系统的日期时间是 5 月 26 日 22 55 但是当我与 NSDate date 日期时间是 5 月 27 日 02 35 是因为时区的原因吗 如果是 如何解决这个问题 当我得到日期时间时 给我系统的日期并且不检查时区 NSLocal
  • yii:尝试获取非对象的属性

    嗯 我发现this https stackoverflow com questions 18335513 trying to get property of non object error in yii 但我看不到与我的错误的关系 我是新
  • Python - 从其他内部类引用内部类

    我试图从另一个内部类引用一个内部类 我都尝试过 class Foo object class A object pass class B object other A and class Foo object class A object