python-datamodel相关内容

Python - 类 __hash__ 方法和集合

我正在使用 python 类的 set() 和 __hash__ 方法来防止在集合中添加相同的哈希对象.根据python 数据模型文档,set() 将相同的哈希对象视为相同的对象,只需添加一次. 但它的行为如下所示: class MyClass(object):def __hash__(self):返回 0结果 = 设置()结果.add(MyClass())结果.add(MyClass() ..
发布时间:2022-01-17 18:29:23 Python

python属性查找过程如何工作?

当我说“python 属性查找过程"时,我的意思是:当你编写 x.foo 时,python 做了什么?? 在网上搜索我没有找到太多关于此的文档,我发现的最好的论文之一将过程恢复到以下步骤(你可以看到完整的文章 这里) 如果 attrname 是 objectname 的特殊(即 Python 提供的)属性,则返回它. 检查 objectname.__class__.__dict__ ..
发布时间:2022-01-13 17:56:48 Python

是否有内置函数来打印对象的所有当前属性和值?

所以我在这里寻找的是类似于 PHP 的 print_r 函数. 这样我就可以通过查看相关对象的状态来调试我的脚本. 解决方案 你真的把两种不同的东西混在一起了. 使用dir(),vars() 或 inspect 模块以获取您感兴趣的内容(我使用 __builtins__ 作为示例;您可以使用任何对象代替). >>>l = dir(__builtins__)>>>d = __b ..
发布时间:2021-12-14 08:05:45 Python

防止在 __init__ 之外创建新属性

我希望能够创建一个类(在 Python 中),一旦用 __init__ 初始化,它不接受新属性,但接受现有属性的修改.我可以看到几种hack-ish方法来做到这一点,例如有一个 __setattr__ 方法,例如 def __setattr__(self, attribute, value):如果不是 self.__dict__ 中的属性:打印“无法设置 %s"% 属性别的:self.__dic ..
发布时间:2021-12-09 21:22:24 Python

一切都大于无吗?

是否有 Python 内置数据类型,除了 None,对于其中: >>>不是 foo >没有任何真的 其中 foo 是那种类型的值?Python 3 怎么样? 解决方案 None 总是小于 Python 2 中的任何数据类型(参见 object.c). 在 Python 3 中,这被改变了;现在对没有合理自然排序的事物进行比较会导致 TypeError.来自 3.0“新功能"更 ..
发布时间:2021-06-25 19:48:45 Python

在 Python 中获取对象的完全限定类名

出于记录目的,我想检索 Python 对象的完全限定类名.(完全限定是指类名,包括包和模块名.) 我知道x.__class__.__name__,但是有没有简单的方法来获取包和模块? 解决方案 用下面的程序 #!/usr/bin/env python进口富定义全名(o):klass = o.__class__模块 = klass.__module__如果模块 == '内置':ret ..
发布时间:2021-06-25 19:30:00 Python

获取定义方法的类

如何获取在 Python 中定义方法的类? 我希望以下示例打印“__main__.FooClass": class FooClass:def foo_method(self):打印“foo"类 BarClass(FooClass):经过bar = BarClass()打印 get_class_that_defined_method(bar.foo_method) 解决方案 import ..
发布时间:2021-06-25 19:22:32 Python

在 __getitem__ 中实现切片

我正在尝试为我正在创建的创建向量表示的类实现切片功能. 到目前为止,我有这段代码,我相信它会正确实现切片,但是每当我调用 v[4] 之类的调用时,其中 v 是向量 python 会返回关于没有足够参数的错误.所以我想弄清楚如何在我的类中定义 getitem 特殊方法来处理普通索引和切片. def __getitem__(self, start, stop, step):索引 = 开始如果停 ..
发布时间:2021-06-25 19:16:41 Python

__ne__是否应在Python中实现为__eq__的否定形式?

我有一个要覆盖 __ eq __ 方法的类.我也应该重写 __ ne __ 方法似乎很有意义.我应该这样实现 __ ne __ 作为对 __ eq __ 的否定,还是一个坏主意? A类:def __init __(自身,状态):self.state =状态def __eq __(自己,其他):返回self.state == other.statedef __ne __(自己,其他):不返回自己 ..
发布时间:2021-04-23 19:51:25 Python

如何在Python 2.x中对对象进行自省?

我正在使用Python 2.x,并且有一个要从以太召唤出来的对象;它上的文档不是特别清楚.我希望能够获得该对象的属性列表以及每个属性的类型. 同样,我也想获得该对象的方法列表,以及我可以在该方法上找到的任何其他信息,例如参数数量及其各自的类型. 我觉得我只是在Google搜索中缺少正确的术语.我并不是想破坏细节,而是Active Directory,所以总是很有趣. 解决方案 ..
发布时间:2020-11-30 04:58:48 Python

获取实例的类名?

如果我从中创建该对象的实例的基类是派生该实例的类的基类,那么如何找到在Python中创建对象实例的类的名称? 正在考虑检查模块可能对我有所帮助,但似乎并没有给我我想要的东西.除了解析__class__成员之外,我不确定如何获取此信息. 解决方案 您是否尝试过 __name__属性?即type(x).__name__将为您提供类的名称,我想这就是您想要的. >>> import ..
发布时间:2020-11-30 04:57:04 Python

如何获取方法参数名称?

给出Python函数: def a_method(arg1,arg2): pass 如何提取参数的数量和名称。即,考虑到我对 func 的引用,我希望 func。[something] 返回(“ arg1”,“ arg2”)。 使用情况是我有一个装饰器,我希望以与实际函数中的键相同的顺序使用方法参数。即,当我调用 a_method(“ a”,“ b”)“ a, ..
发布时间:2020-10-19 20:16:55 Python

是否有内置功能可以打印对象的所有当前属性和值?

所以我在这里寻找的是类似PHP的 print_r 函数。 因此,我可以通过查看问题对象的状态来调试脚本。 解决方案 您实际上是将两种不同的东西混合在一起。 使用 dir() , vars() 或 inspect 模块来获取您感兴趣的内容(我使用 __ builtins __ 作为示例;您可以使用任何对象代替。) >> l = dir(__ builtins__) >> d ..
发布时间:2020-10-19 04:39:10 Python