Tag: 类的方法

Python中的类方法是什么?

我自学Python,最近的一个教训是Python不是Java ,所以我花了一段时间把所有的Class方法变成了函数。 我现在意识到我不需要使用Class方法来处理Java中的static方法,但现在我不确定何时使用它们。 所有关于Python类方法的build议都是像我这样的新手应该避开它们的,而标准文档在讨论它们的时候是最不透明的。 有没有人有一个在Python中使用类方法的好例子,或者至less有人能告诉我何时可以合理使用类方法?

将一个装饰器附加到一个类中的所有函数中

我真的不需要这样做,但只是想知道,有没有办法将一个装饰器绑定到一个类中的所有函数,而不是明确地为每个函数声明它。 我想它会成为一种方面,而不是一个装饰者,它确实感觉有点奇怪,但是正在考虑像时间或authentication这样的东西,它会很整齐。

如何使一个类的财产?

在python中,我可以使用@classmethod修饰器将一个方法添加到类中。 有没有一个类似的装饰添加一个属性的类? 我可以更好地展示我在说什么。 class Example(object): the_I = 10 def __init__( self ): self.an_i = 20 @property def i( self ): return self.an_i def inc_i( self ): self.an_i += 1 # is this even possible? @classproperty def I( cls ): return cls.the_I @classmethod def inc_I( cls ): cls.the_I += 1 e = Example() assert ei == […]

通过函数指针调用C ++类的方法

如何获得类成员函数的函数指针,然后使用特定的对象调用该成员函数? 我想写: class Dog : Animal { Dog (); void bark (); } … Dog* pDog = new Dog (); BarkFunction pBark = &Dog::bark; (*pBark) (pDog); … 另外,如果可能的话,我想通过一个指针调用构造函数: NewAnimalFunction pNew = &Dog::Dog; Animal* pAnimal = (*pNew)(); 这是可能的,如果是这样,那么这样做的首选方法是什么?

@classmethod和@staticmethod对初学者的意义?

有人可以向我解释@classmethod和@staticmethod在python中的含义吗? 我需要知道其中的差异和意义。 据我所知, @classmethod告诉一个类,它是一种方法应该被inheritance到子类,或…东西。 但是,这是什么意思? 为什么不定义类方法而不添加@classmethod或@staticmethod或任何@定义? tl;博士:我应该什么时候使用它们, 为什么要使用它们,我应该如何使用它们? 我用C ++很高级,所以使用更高级的编程概念应该不成问题。 如果可能,请随意给我一个相应的C ++示例。