获取模块名称:x.__module__ vs x.__class__.__module__

2023-11-26

我想获取Python对象所在的模块。两个都

x.__module__

and

x.__class__.__module__

似乎有效。这些完全是多余的吗?有什么理由更喜欢其中一种吗?


If x那么是一个类x.__module__ and x.__class__.__module__会给你不同的东西:

# (Python 3 sample; use 'class Example(object): pass' for Python 2)
>>> class Example: pass

>>> Example.__module__
'__main__'
>>> Example.__class__.__module__
'builtins'

对于没有定义的实例__module__直接使用类中的属性。

>>> Example().__module__
'__main__'

我认为你需要清楚你真正想了解什么模块。如果它是包含类定义的模块,那么最好明确这一点,所以我会使用x.__class__.__module__。实例通常不会记录创建它们的模块,因此x.__module__可能会产生误导。

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

获取模块名称:x.__module__ vs x.__class__.__module__ 的相关文章

随机推荐

  • 在 numpy.correlate 中指定滞后

    Matlab互相关函数xcorr x y maxlags 有一个选项maxlag 返回滞后范围内的互相关序列 maxlags maxlags 纳比的numpy correlate N M mode 有三种模式 但没有一种模式允许我设置特定的
  • 如何使用 Python Pillow 定义模糊半径?

    我正在尝试模糊图像Pillow using 图像过滤器如下 from PIL import ImageFilter blurred image im filter ImageFilter BLUR 这工作得很好 只是它的设定半径对我来说太小
  • 获取未旋转的旋转矩形的边界

    我有一个已经应用了旋转的矩形 我想获得未旋转的尺寸 x y 宽度 高度 这是当前元素的尺寸 Bounds at a 90 rotation height 30 width 0 x 25 y 10 以下是旋转设置为无后的尺寸 Bounds a
  • Go mgo 包中的连接池

    文章中与 go 并发运行 mongodb 查询说 mgo DialWithInfo 创建一个会话 维护与 MongoDB 的套接字连接池 但是当我在文献记录函数的拨号信息我没有找到与我谈论池连接的内容 只有我在DialFunction Di
  • ES6 地图垫片如何工作

    根据我对文档的理解 here and here 需要一个对内存地址的引用才能工作 const foo const map new Map map set foo 123 Can only be done if memory address
  • 通过通用父类访问子类中的 Java 静态成员

    这似乎是一个新问题 但上次我使用 Java 时 该语言没有泛型 我有一个类层次结构 名称更改为尽可能通用 public abstract class AbstractBase public class ConcreateSubA exten
  • 没有主目录的用户的 SSH 公钥

    我正在运行 Mac OS X Leopard Server 并且创建了一个新用户 但没有为该用户指定主目录 是否可以让该用户使用公钥进行身份验证 我知道当用户does有一个它所在的主目录 ssh authorized keys 我不想为该用
  • 在Android清单中使用largeheap是一个好的实践吗?

    我正在发展NDK 它挂在Galaxy S3 为了测试我把android largeheap true in Manifest 然后就不存在挂起的问题了 这是一个很好的做法吗largeHeap true 谷歌是否有可能因为这个标签而拒绝我的构
  • 让 Migrate.exe 正常工作

    我一直在努力执行 EF Migrate exe 来工作 我的解决方案有几个项目 迁移和实体位于项目数据中 控制器和视图位于 Web 中 我尝试使用 migrate exe 但是我很难让第一个参数 程序集 被接受 文件说 程序集 指定包含该程
  • 在后台运行exe

    我尝试过以下方法 Start Process powershell ArgumentList C Program Files Prometheus io prometheus exe WindowStyle hidden Invoke Co
  • 使用动态对象的 MongoDB C# 驱动程序序列化

    我有一个模型 看起来像 public class Record public Record Created DateTime Now public string Id get set public string ApplicationId
  • 使用 Mongoose 从 Decimal128 中提取小数 - MongoDB

    我正在使用 Mongoose 在 Nodejs 中查询 Mongo 并尝试提取存储为 Decimal128 的多个字段的数值 然而 该值奇怪地包含在查询结果中 我不确定如何通过 Mongo 或 Mongoose 提取它 data date
  • unsigned long long 与 uint64_t 冲突? [复制]

    这个问题在这里已经有答案了 我们对某些类型参数使用模板专门化 例如 class my template class
  • 与 Spring Data JPA 保持一对一关系

    我有接下来的两个实体 它们之间具有 OneToOne 关系 Entity Table name tasks public class Task OneToOne mappedBy task cascade CascadeType PERSI
  • 当内部函数返回可能为“None”的“Union”时,如何避免类型错误?

    我在Python中遇到了一些关于联合 当然还有可选 的奇怪问题 也就是说 静态类型检查器似乎针对联合的所有成员而不是联合的成员测试属性 即看起来过于严格 例如 请考虑以下情况 import pandas as pd def test dum
  • Windows 版 Caffe 中的未知图层类型(裁剪)

    我想使用以下卷积神经网络 http lmb informatik uni freiburg de people ronneber u net 与咖啡构建https github com BVLC caffe tree windows 适用于
  • 运行使用 Gradle2.0.0-alpha 插件编译的 Android(用 Kotlin 编写)项目时出错

    当用新的编译项目时gradle2 0 0 alpha我得到的插件 java lang RuntimeException Unable to instantiate application com android tools fd runti
  • 这两个函数调用约定有什么区别?

    可以通过多种方式调用函数 say 1 2 3 123 say 1 2 3 1 2 3 后者似乎通过了Positional 但除此之外我不知道它们还有什么不同 是否有任何需要了解的重要差异 您会在什么类型的情况下使用其中一种 jjmerelo
  • 如何在 Aspnet Core 2.1 中设置密码选项

    我已遵循所以示例代码和官方文档但是我在 Aspnet core 2 1 项目中更改了密码长度 但没有任何变化 我总是收到消息 密码长度必须至少为 6 个字符 最多为 100 个字符 In public void ConfigureServi
  • 获取模块名称:x.__module__ vs x.__class__.__module__

    我想获取Python对象所在的模块 两个都 x module and x class module 似乎有效 这些完全是多余的吗 有什么理由更喜欢其中一种吗 If x那么是一个类x module and x class module 会给你