36得票2回答
Python数据模型与内置函数之间的关系是什么?

在 Stack Overflow 上阅读 Python 的答案时,我经常看到一些人建议用户直接使用数据模型的特殊方法或属性。 然后我看到有相反的建议(有时是来自我自己),说不要那样做,而是要直接使用内置函数和运算符。 这是为什么呢? Python 数据模型的特殊“dunder”方法和属性与...

10得票3回答
有没有办法区分一个函数对象是Lambda还是Def?

考虑下面这两个函数:def f1(): return "potato" f2 = lambda: "potato" f2.__name__ = f2.__qualname__ = "f2" 除了 introspecting 原始源代码之外,还有没有其他方法可以检测出 f1 是 def...

128得票4回答
__ne__应该实现为__eq__的否定吗?

我有一个类,想要重写 __eq__ 方法。看起来我应该同时重写 __ne__ 方法。我是否应该将 __ne__ 实现为如下所示的 __eq__ 取反,还是这个想法不好?class A: def __init__(self, state): self.state = s...

1933得票12回答
获取实例的类名

我该如何在Python中查找用于创建对象实例的类名? 我不确定是否应该使用inspect模块还是解析__class__属性。

75得票2回答
一切都比None大吗?

除了None以外,是否存在Python内置的数据类型,满足以下条件:>>> not foo > None True 如果foo是那种类型的值怎么办?Python 3呢?

47得票5回答
如何检查Python方法是否绑定?

给定一个方法的引用,是否有办法检查该方法是否绑定到对象上?您还可以访问它绑定到的实例吗?

15得票4回答
在Python中遍历列表时删除元素

在Java中,我可以使用一个 Iterator ,然后使用迭代器的 .remove() 方法来删除迭代器返回的最后一个元素,就像这样:import java.util.*; public class ConcurrentMod { public static void main(St...

26得票1回答
Python属性查找过程是如何工作的?

当我提到“Python属性查找过程”时,我指的是:当你写x.foo时,Python执行的操作是什么?在搜索网络文档时,我没有找到太多关于此的资料。我找到的最好的一篇文章将这个过程总结为以下几个步骤(你可以在这里看到完整的文章)。 如果attrname是objectname的特殊属性(即Py...

11得票1回答
对象相等性 (`==`) 的默认行为在哪里定义?

根据 object.__eq__()文档,==的默认实现(即在 object 类中)如下: True if x is y else NotImplemented 仍然按照文档中NotImplemented的说明,我推断出NotImplemented意味着Python运行时将尝试以另一种方...

9得票3回答
在Python中获取对象的父命名空间?

在Python中,可以使用“.”来访问对象的字典项。例如: class test( object ) : def __init__( self ) : self.b = 1 def foo( self ) : pass obj = test() a = obj.foo...