class-method相关内容

检查函数是否使用@classmethod

TL; DR 如何确定某个函数是使用 @classmethod 定义的还是具有相同效果的东西? 我的问题 用于实施课程装饰器我想检查一个方法是否将类作为其第一个参数,例如通过 @classmethod $ b实现$ b def function(cls,...): 我找到了一种检查 @staticmethod 通过 types 模块( isinstance(fo ..
发布时间:2020-10-19 20:48:38 Python

为什么要在python中使用类方法?

我正在python中的某个类中编写一个函数,人们建议我向该函数添加 @classmethod 装饰器。 我的代码 导入随机 类Randomize : RANDOM_CHOICE ='abcdefg' def __init __(self,chars_num): self.chars_num = chars_num def _randomize(self,ran ..
发布时间:2020-10-19 20:42:13 Python

@classmethod用于构造函数重载

我通常使用 isinstance 进行构造函数重载,但人们也建议使用 @classmethod 进行重载。但是据我所知, @classmethod 共享变量。 下面是一个简单的类 abc类: def __init __(self,a = 0): self.a = a @classmethod def from_const(cls,b = 30): cls.b = b ..
发布时间:2020-10-08 19:54:37 Python

使用super()的子类构造函数-获取未绑定方法__init __()

我正在尝试为子类创建类方法构造函数,但无法正确初始化实例。 我在该网站上阅读了许多博客和答案,甚至完全尝试了其他人发布的内容,但仍无济于事。希望我缺少一些非常简单的东西。我正在尝试的基本示例: A类(对象): def __init __(self,foo) : self.foo = foo B类(A): @classmethod def make_new(cls ..
发布时间:2020-10-08 19:46:08 其他开发

使用自我课堂方法

我在ShareKit中遇到了这段代码,但我不理解作者在类方法中使用 self 的想法。有一个警告:不兼容的指针类型会将“ Class”发送到参数类型 id 。 我想清除这些警告,以便以后可以看到可能会造成伤害的警告。我能/应该做些什么不会破坏这个? 这是文件SHKFacebook.m,类名是SHKFacebook +(void)注销 { F ..
发布时间:2020-10-02 02:43:46 移动开发

为什么使用classmethod而不是staticmethod?

我知道他们在做什么,并且我已经看到了很多例子,但是我还没有找到一个单独的例子,我必须使用 classmethod 来代替并带有静态方法。 classmethod 我见过像这样用于创建类本身的新实例(非常简单的示例,没有使用atm方法。但是您知道了): class Foo: @classmethod def create_new(cls): return cls() ..
发布时间:2020-10-02 00:15:22 Python

__getattr__用于python中的静态/类变量

我有一个像这样的课程: class MyClass: Foo = 1 Bar = 2 无论何时调用MyClass.Foo或MyClass.Bar,我都需要在返回值之前调用一个自定义方法. Python可能吗?我知道创建类的实例并定义自己的__getattr__方法是可能的.但是我的scnenario涉及这样使用此类而不创建任何实例. 此外,我还需要在调用str( ..
发布时间:2020-06-16 18:47:13 Python

对象的工厂方法-最佳做法?

这是一个关于使用python从相同数据的不同形式创建类或类型的实例的最佳实践的问题.使用类方法好还是完全使用单独的函数好?假设我有一个用于描述文档大小的类. (注意:这只是一个例子.我想知道创建类实例的最佳方法,而不是描述文档大小的最佳方法.) class Size(object): """ Utility object used to describe the size o ..
发布时间:2020-06-14 19:09:17 Python

鸭子类型和类方法(或者,如何同时使用类和实例中的方法?)

我有一些代码想要互换地传递实例或类.我在该代码中要做的就是调用一个我希望类和实例都具有的方法(在下面的示例中,方法go()). 不幸的是,我无法使用与常规方法相同的名称来创建类方法.请参见下面的示例.我最初希望第二个调用产生一个a而不是一个b. 关于如何实现这一目标的任何建议? Type "help", "copyright", "credits" or "license" fo ..
发布时间:2020-06-12 19:34:26 Python

有没有一种方法可以从Ruby中的实例调用私有Class方法?

除了 self.class.send之外:方法,参数... 当然。我想在类和实例级别上提供一个相当复杂的方法,而不必复制代码。 更新: @Jonathan Branam:这是我的假设,但我想确保没有其他人找到解决方法。 Ruby中的可见性与Java中的可见性非常不同。您也很正确, private 不适用于类方法,尽管这会声明一个私有类方法: Foo 类 ..
发布时间:2020-06-04 18:46:16 其他开发