class-method相关内容
TL; DR 如何确定某个函数是使用 @classmethod 定义的还是具有相同效果的东西? 我的问题 用于实施课程装饰器我想检查一个方法是否将类作为其第一个参数,例如通过 @classmethod $ b实现$ b def function(cls,...): 我找到了一种检查 @staticmethod 通过 types 模块( isinstance(fo
..
我正在python中的某个类中编写一个函数,人们建议我向该函数添加 @classmethod 装饰器。 我的代码 导入随机 类Randomize : RANDOM_CHOICE ='abcdefg' def __init __(self,chars_num): self.chars_num = chars_num def _randomize(self,ran
..
我有一个对象层次结构,其中几乎所有方法都是类方法。看起来像以下内容: class ParentObject(object): def __init __(self): 通过 @classmethod def smile_warmly(cls,the_method): def wrapper(kls,* args,** kwargs): 打印“ -smile_warmly-”
..
我想做这样的事情: class SillyWalk(object): @staticmethod def is_silly_enough(walk): return(False,“它永远不会愚蠢”) def walk(self,appraisal_method = is_silly_enough): self.do_stuff() (was_good_enough,原因)=评估
..
我通常使用 isinstance 进行构造函数重载,但人们也建议使用 @classmethod 进行重载。但是据我所知, @classmethod 共享变量。 下面是一个简单的类 abc类: def __init __(self,a = 0): self.a = a @classmethod def from_const(cls,b = 30): cls.b = b
..
我正在尝试为子类创建类方法构造函数,但无法正确初始化实例。 我在该网站上阅读了许多博客和答案,甚至完全尝试了其他人发布的内容,但仍无济于事。希望我缺少一些非常简单的东西。我正在尝试的基本示例: A类(对象): def __init __(self,foo) : self.foo = foo B类(A): @classmethod def make_new(cls
..
我在ShareKit中遇到了这段代码,但我不理解作者在类方法中使用 self 的想法。有一个警告:不兼容的指针类型会将“ Class”发送到参数类型 id 。 我想清除这些警告,以便以后可以看到可能会造成伤害的警告。我能/应该做些什么不会破坏这个? 这是文件SHKFacebook.m,类名是SHKFacebook +(void)注销 { F
..
这是写类的一种合理而合理的方法吗,其中有一种语法糖@staticmethod用于外部交互? ### scrip1.py ### 导入SampleClass.method1作为method1 输出= method1(input_var) ### script2.py ### class SampleClass(对象): def __init __(self): s
..
在下面的示例中, Test 类有两个实例方法和一个类方法 在 set_cls_var_1 方法中,我设置了类 在 set_cls_var_2 方法中,我使用self调用类方法。 class Test(): #class变量 cls_var = 10 def __init __(self): obj_var = 20 def set_cls_var_1(
..
我正在查看 CocoaHTTPServer项目,更具体地说是 HTTPServer.m 文件,我只是不明白这一行: connectionClass = [HTTPConnection自身]; 这是做什么的(在任何地方都有记录)?怎么编译? connectionClass = [HTTPConnection class]; 解决方案 在这种情况下
..
假设我有一个带有静态方法的类,并且希望将一个类属性设置为该方法返回的值: A类: @静态方法 def foo(): 返回12 baz = foo() 但是这样做会出错: Traceback(最近一次呼叫最近): 文件“”,在中的第1行。 文件“”,A TypeError中的第5行:'staticm
..
我知道他们在做什么,并且我已经看到了很多例子,但是我还没有找到一个单独的例子,我必须使用 classmethod 来代替并带有静态方法。 classmethod 我见过像这样用于创建类本身的新实例(非常简单的示例,没有使用atm方法。但是您知道了): class Foo: @classmethod def create_new(cls): return cls()
..
module Country def location puts "location" end def self.included(base) def cities puts "cities" end end def self.extended(base) def animals puts "animals"
..
如果我像这样在rails活动模型方法上调用方法: class Foo
..
在Rails中发送邮件时,通常会执行以下操作: UserMailer.password_reset(user).deliver 但是,如果我们查看UserMailer的内部,我们会看到: def password_reset(user) # not self.password_reset # ... end 请注意,方法名称不带self前缀.看起来,您似乎需要首先实例化该对
..
Foo = Class.new Foo.class_eval do def class_bar "class_bar" end end Foo.instance_eval do def instance_bar "instance_bar" end end Foo.class_bar #=> undefined method ‘class_bar’ fo
..
我有一个像这样的课程: class MyClass: Foo = 1 Bar = 2 无论何时调用MyClass.Foo或MyClass.Bar,我都需要在返回值之前调用一个自定义方法. Python可能吗?我知道创建类的实例并定义自己的__getattr__方法是可能的.但是我的scnenario涉及这样使用此类而不创建任何实例. 此外,我还需要在调用str(
..
这是一个关于使用python从相同数据的不同形式创建类或类型的实例的最佳实践的问题.使用类方法好还是完全使用单独的函数好?假设我有一个用于描述文档大小的类. (注意:这只是一个例子.我想知道创建类实例的最佳方法,而不是描述文档大小的最佳方法.) class Size(object): """ Utility object used to describe the size o
..
我有一些代码想要互换地传递实例或类.我在该代码中要做的就是调用一个我希望类和实例都具有的方法(在下面的示例中,方法go()). 不幸的是,我无法使用与常规方法相同的名称来创建类方法.请参见下面的示例.我最初希望第二个调用产生一个a而不是一个b. 关于如何实现这一目标的任何建议? Type "help", "copyright", "credits" or "license" fo
..
除了 self.class.send之外:方法,参数... 当然。我想在类和实例级别上提供一个相当复杂的方法,而不必复制代码。 更新: @Jonathan Branam:这是我的假设,但我想确保没有其他人找到解决方法。 Ruby中的可见性与Java中的可见性非常不同。您也很正确, private 不适用于类方法,尽管这会声明一个私有类方法: Foo 类
..