Tag: python datamodel

Python,我应该实现__ne __()运算符基于__eq__?

我有一个类,我想覆盖__eq__()运算符。 这似乎是有道理的,我应该重写__ne__()运算符,但它是有意义的基于__eq__实现__ne__这样? class A: def __eq__(self, other): return self.value == other.value def __ne__(self, other): return not self.__eq__(other) 还是有什么,我错过了Python使用这些运算符的方式,这不是一个好主意?

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

为了logging目的,我想检索一个Python对象的全限定类名。 (完全合格的我的意思是类名,包括包和模块名称。) 我知道x.__class__.__name__ ,但有一个简单的方法来获取包和模块?

在Python中获取实例的类名

我如何find在Python中创build对象的实例的类的名称,如果我这样做的函数是派生实例的类的基类? 在想,也许检查模块可能帮助我在这里,但它似乎并没有给我我想要的。 并没有parsing__class__成员,我不知道如何得到这个信息。

一切都大于无?

是否有一个Python内置的数据types, 除了None ,其中: >>> not foo > None True foo是哪种types的值? 那么Python 3呢?

获取定义方法的类

我怎样才能得到在Python中定义方法的类? 我想要下面的例子打印“ __main__.FooClass ”: class FooClass: def foo_method(self): print "foo" class BarClass(FooClass): pass bar = BarClass() print get_class_that_defined_method(bar.foo_method)

Python:在__getitem__中实现切片

我正在尝试为我创build的类创buildvector表示的切片function。 我有这个代码到目前为止,我相信会正确地实现切片,但每当我做一个像v[4]这样的调用,其中v是一个向量python返回一个关于没有足够的参数的错误。 所以我想弄清楚如何在我的类中定义getitem特殊方法来处理普通索引和切片。 def __getitem__(self, start, stop, step): index = start if stop == None: end = start + 1 else: end = stop if step == None: stride = 1 else: stride = step return self.__data[index:end:stride]

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

所以我在这里找的是像PHP的print_r函数。 这样我就可以通过查看有问题的对象的状态来debugging我的脚本。

在Python中如何实现'is'关键字?

…可以用于string中的相等的is关键字。 >>> s = 'str' >>> s is 'str' True >>> s is 'st' False 我尝试了__is__()和__eq__()但他们没有工作。 >>> class MyString: … def __init__(self): … self.s = 'string' … def __is__(self, s): … return self.s == s … >>> >>> >>> m = MyString() >>> m is 'ss' False >>> m is 'string' # <— Expected to […]

在python中获取方法参数名称

鉴于python函数: def aMethod(arg1, arg2): pass 我怎样才能提取参数的数量和名称。 IE浏览器。 考虑到我有一个函数的引用,我想func。[something]返回(“arg1”,“arg2”) 这种使用场景是我有一个装饰器,我希望使用方法参数的顺序,他们出现的实际function作为一个关键。 IE浏览器。 当我调用aMethod(“a”,“b”)时,装饰器将如何显示“a,b”

什么是Python中的元类?

什么是元类? 你用什么来做?