我有一个类,我想覆盖__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使用这些运算符的方式,这不是一个好主意?
为了logging目的,我想检索一个Python对象的全限定类名。 (完全合格的我的意思是类名,包括包和模块名称。) 我知道x.__class__.__name__ ,但有一个简单的方法来获取包和模块?
我如何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)
我正在尝试为我创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我的脚本。
…可以用于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函数: def aMethod(arg1, arg2): pass 我怎样才能提取参数的数量和名称。 IE浏览器。 考虑到我有一个函数的引用,我想func。[something]返回(“arg1”,“arg2”) 这种使用场景是我有一个装饰器,我希望使用方法参数的顺序,他们出现的实际function作为一个关键。 IE浏览器。 当我调用aMethod(“a”,“b”)时,装饰器将如何显示“a,b”
什么是元类? 你用什么来做?