class-method相关内容
我的课程如下: class MyClass(object): int = None def __init__(self, *args, **kwargs): for k, v in kwargs.iteritems(): setattr(self, k, v) def get_params(self): ret
..
在Ruby中,类是否可以通过某种方式知道它存在多少实例,并且可以列出它们? 这是一个示例类: class Project attr_accessor :name, :tasks def initialize(options) @name = options[:name] @tasks = options[:tasks] end def self.a
..
我真的不需要这样做,但我只是想知道,是否有一种方法可以将装饰器一般地绑定到类中的所有函数,而不是为每个函数明确声明. 我想它然后成为一种外观,而不是装饰器,它确实有点奇怪,但是在考虑诸如计时或身份验证之类的东西时,它会很整洁. 解决方案 执行此操作或对类定义进行其他修改的最简单方法是定义一个元类. 或者,只需在类定义的末尾应用装饰器即可: class Something:
..
有人可以向我解释python中@classmethod和@staticmethod的含义吗?我需要知道区别和含义. 据我了解,@classmethod告诉类它是一个应该继承到子类中的方法,或...某种方法.但是,这有什么意义呢?为什么不只定义类方法而不添加@classmethod或@staticmethod或任何@定义? tl; dr: 何时应使用它们,为什么应使用它们,如何我用它们吗
..
我有2个类,“父级"和“子级",并且“父级"有一个名为func的类方法. 现在,我想在func方法中获取Class实例,以区分哪个类是调用者. @interface Parent : NSObject + (void)func; @end @implementation Parent + (void)func { Class *class = howToGetClass();
..
我有一个返回CGSize的类方法,我想通过Objective-C运行时函数调用它,因为我将类和方法的名称指定为字符串值. 我正在XCode 4.2中使用ARC标志进行编译. 方法签名: +(CGSize)contentSize:(NSString *)text; 我尝试做的第一件事是像这样用objc_msgSend调用它: Class clazz = NSClassFr
..
是否可以从同一个类中的另一个方法中调用一个类方法? 例如: +classMethodA{ } +classMethodB{ //I would like to call classMethodA here } 解决方案 在类方法中,self表示要发送消息的类.因此,从另一个类方法(例如classMethodB)中,使用: + (void)classMethodB
..
我使用过几种不同的语言,例如Java,C#和Objective-C. 在大多数语言中,不需要对象实例的方法称为静态方法.但是,在使用Objective-C时,有些人在您将它们称为静态方法时会感到防御,他们希望您将其称为类方法. 为什么它们被称为类方法而不是静态方法?静态方法和类方法有什么区别? 解决方案 所以我的问题是为什么它们被称为类方法而不是 静态方法?静态方法和静态方
..
我需要能够确定是否调用了类方法. 我该如何使用OCMock? 解决方案 从OCMock 2.1版开始,此功能即刻受支持.现在,您可以以与存根实例方法相同的方式存根类方法.
..
我试图覆盖类的__str__和__repr__,如下面的代码所示.每当我调用instance_method时,都会调用新方法,但对class_method的对象调用保持不变(请参见下面的代码段和输出以清楚了解).有没有办法为@classmethod覆盖__str__和__repr__以便更改cls的值? 我还尝试将__str__和__repr__添加为@classmethod,但没有任何改变
..
我正在尝试在Objective C中编写类方法.当我声明该方法时,项目会正常运行.但是,每当我尝试调用该方法时,构建都会失败.这是我的代码. 头文件 #import @interface LoginViewController : UIViewController { //Declare Vars } - (IBAction) login: (
..
protocol NoteProtocol { var body: NSString? { get set } var createdAt: NSDate? { get set } var entityId: NSString? { get set } var modifiedAt: NSDate? { get set } var title: NSStri
..
可能重复: 为什么您需要明确拥有将"self"参数转换为Python方法? 我了解为什么self总是 类方法的第一个参数,这很有意义,但是如果总是这样,那么对于每个方法定义,为什么都要麻烦键入呢?为什么不做一些在幕后自动完成的事情? 是为了清楚起见,还是在某些情况下您可能不想将self作为第一个参数? 解决方案 因为显式优于隐式.通过使参数成为明确的要求,可以简化代码的理解,
..
我想做这样的事情: class X: @classmethod def id(cls): return cls.__name__ def id(self): return self.__class__.__name__ 现在为类或它的实例调用id(): >>> X.id() 'X' >>> X().id() 'X' 显
..
类方法和实例方法有什么区别? 实例方法是访问器(getter和setter)而类方法是几乎所有其他东西吗? 像其他大多数答案所说的那样,实例方法使用类的实例,而类方法只能与类名一起使用.因此,在Objective-C中对它们进行了定义: @interface MyClass : NSObject + (void)aClassMethod; - (void)anInstanceMet
..
我有以下代码段: FEED_TYPES = [ ('fan_mail', 'Fan Mail'), ('review', 'Review'), ('tip', 'Tip'), ('fan_user', 'Fan User'), ('fan_song', 'Fan Song'), ('fan_
..
我有一系列“策略"对象,我认为将这些对象方便地实现为一组策略类上的类方法.我为此指定了一个协议,并创建了要遵守的类(如下所示) @protocol Counter +(NSInteger) countFor: (Model *)model; @end @interface CurrentListCounter : NSObject +(NSInteger) co
..
如果您试图通过元编程创建类方法,这将非常有用: def self.create_methods(method_name) # To create instance methods: define_method method_name do ... end # To create class methods that refer to the ar
..
我有以下Python元类,为每个类添加了一个deco_with_args装饰器: def deco_with_args(baz): def decorator(func): ... return func return decorator class Foo(type): def __prepare__(name, bases):
..
我很难理解类方法对象在Python中是如何工作的,尤其是在元类和__new__中.在我的特殊情况下,当我遍历赋予__new__的members时,我想获得一个classmethod成员的名称. 对于普通方法,名称只是存储在__name__属性中,但是对于类方法,显然没有这样的属性.我什至看不到如何调用classmethod,因为也没有__call__属性. 有人可以向我解释类方法的工作
..