class-method相关内容

如何创建类属性?

在 python 中,我可以使用 @classmethod 装饰器向类添加方法.是否有类似的装饰器可以向类添加属性?我可以更好地展示我在说什么. class 示例(对象):the_I = 10def __init__( self ):self.an_i = 20@财产定义我(自我):返回 self.an_idef inc_i( self ):self.an_i += 1#这甚至可能吗?@clas ..
发布时间:2021-06-22 19:31:39 Python

从类方法访问属性?

为了使我的代码可测试,我创建了一个惰性初始化器;这样在我的单元测试中,我可以在调用 getter 之前模拟我想要的任何对象. 但是,当涉及到类方法时,我的类方法无法访问我定义的属性. 有没有办法让我的类方法可以访问这些属性? 如果没有,是否有任何方法可以创建在此类外部也可访问的静态变量,即可由我的单元测试类访问? @执行@synthesize webService;+ (voi ..
发布时间:2021-06-11 20:29:28 移动开发

通过类名与自身调用类方法

假设我们有一个名为 Calculator 的类.其中有一个类方法,称为runProgram.如果我想调用这个类的方法,在类的实现里面,这两者有什么区别: [计算器运行程序] 或 [自运行程序] 这两个是一样的吗? 解决方案 如果在实例方法中: [自运行程序] 这里的self表示对象实例本身,因此会产生运行时错误.你要使用 [[self class] runProgram] ..
发布时间:2021-06-11 20:06:21 移动开发

具有自类型的通用协议中的类方法,mypy 类型检查失败

一点背景知识,我基本上需要定义一个 int 包装器类型,比如 MyInt(在其他一些类中)和另一个通用的 Interval 可以接受 MyInt 对象以及其他类型的对象的类型.由于 Interval 可接受的类型不属于一个整洁的层次结构,我认为这将是实验 Protocol 的完美用例,在我的情况下需要几个方法和几个 @classmethod .所有的方法都返回一个“self-type",即 MyI ..
发布时间:2021-06-05 18:34:46 Python

classmethod 和 instancemethod 的名称相同

我想做这样的事情: X 类:@类方法定义 ID(cls):返回 cls.__name__定义 ID(自己):返回 self.__class__.__name__ 现在为类或其实例调用id(): >>>X.id()'X'>>>X().id()'X' 显然,这个确切的代码不起作用,但有没有类似的方法让它起作用? 或者任何其他解决方法来获得这种行为而没有太多的“hacky"东西? ..
发布时间:2021-06-02 21:19:09 Python

在目标c中访问类方法.使用的是self还是classname?

我正在学习iOS编程,并且对以下有关关键字self的使用的代码感到困惑. 根据我的理解, self 就像Java的 this .它指的是当前实例.当我想调用类方法时,通常的方法应该类似于 [PlayingCard validSuits]; ,但是也可以在实例上入侵类方法,对吗?就像 [self validSuits]; (我在课程中,self指的是PlayingCard的实例) 但是在 ..
发布时间:2021-04-23 20:03:23 移动开发

是在python 3中列出内置函数或类

>>>打印(列表(地图(列表,"abcde"))))[['a'],['b'],['c'],['d'],['e']] 以上是最可能的答案,也是正确的,但是我以不同的方式想到它. 由于map需要一个函数作为第一个参数,而list是一个类权限,那么map如何工作? 但是我听说列表也是一个内置函数,它返回一个列表对象.只有一个类可以返回一个对象,该对象不过是对象的创建.但是,如果它是一个类 ..
发布时间:2021-04-22 19:01:59 其他开发

在Python中查找动态方法的名称

我想通过网络代理API.我在字典中有API.我想用字典中的API方法创建一个类,以便可以像使用本地API一样使用该API.麻烦在于找到我动态创建的方法的名称. (我的方法基于class MainClass(object): def build_API(self): methods = dict(meth1='arg1', meth2='arg2') for key in methods.iterk ..
发布时间:2020-11-30 05:07:41 Python

类方法(红宝石)

这里的新手,很难理解Class方法以及为什么我无法获取属性以在实例中正确显示. class Animal attr_accessor :noise, :color, :legs, :arms def self.create_with_attributes(noise, color) animal = self.new(noise) @noise = noise ..
发布时间:2020-11-29 06:14:48 其他开发

什么是“可继承的替代构造函数"?

在这个答案中,我偶然发现了“可继承的替代构造函数"一词: https://stackoverflow. com/a/1669524/633961 链接指向解释classmethod的地方. 其他编程语言也具有此功能吗? 解决方案 使用具有类方法(或类似方法)的任何语言都可以做的一件事是提供替代构造函数.下面是一个人为设计的Python3示例: class Color(): ..
发布时间:2020-11-27 22:53:52 Python

Python-为什么我可以使用实例调用类方法?

是Python的新手,并且已经读了一些书,我在自定义类类方法中创建了一些方法,而不是实例方法. 所以我测试了我的代码,但是我没有更改某些方法调用以在类而不是实例中调用该方法,但是它们仍然有效: class myClass: @classmethod: def foo(cls): print 'Class method foo called with %s.'%( ..
发布时间:2020-11-27 22:26:21 Python

Python设置docstring并获取动态生成的类方法的方法名称

我试图按以下方式获取/设置动态创建的类方法的名称和文档字符串,但在弄清楚确切的操作方法上遇到了麻烦: 导入系统 导入检查 类测试(对象): 通过 @classmethod def genericFunc(cls,** kwargs): 打印“ function:”,(inspect.stack()[0] [3]) 打印“ kwargs:”,kwargs function ..
发布时间:2020-10-19 21:06:21 Python

创建可以看到当前类方法的装饰器

您可以在一个类中创建一个装饰器,该装饰器将看到类的方法和变量吗? 这里的装饰器看不到:self.longcondition() class Foo: def __init __(self,name): self.name =名称 #装饰器,它将看到self.longcondition ??? class canRun(object): def __init __(sel ..
发布时间:2020-10-19 21:01:05 Python

可以在纯Python中实现staticmethod和classmethod装饰器吗?

这是一个学术问题,而不是实际问题。我正在尝试研究Python的基础,但我想知道:我可以实现 staticmethod 和 classmethod 装饰器吗 对于 staticmethod ,也许我可以保留对原始函数的引用并调用 对于 classmethod 也许我可以保留对原始函数的引用并称为传递第一个参数的类型,而不是参数本身? (我怎么处理直接在课堂上被调用的呢?) 再次,这 ..
发布时间:2020-10-19 20:59:31 Python