python - 在 Python 中的类中定义类的静态实例
问题描述
我在 Python 中遇到以下基本问题。我想在类本身中创建一个类的常量静态实例,以在类的方法中使用。
class MyClass(object):
def __init__(self, i : int):
self.i_c = i
newinstance = MyClass(0)
def method(self):
if self == newinstance:
return 'blaba'
else:
return self.i_c
当然在这个例子中,我可以在包含我的类的模块中单独定义实例,但是我不能在类的方法中使用它。
我不知道这是否可行,我只是不知道正确的语法,或者我不能这样做。
编辑:根据下面的评论,一种解决方法如下
class MyClass(object):
def __init__(self, i : int):
self.i_c = i
MyClass.newinstance = MyClass(0)
def func(thing):
if thing == MyClass.newinstance:
return 'blaba'
else:
return thing.i_c
这可行,但 func 现在不是 MyClass 类的方法。在我的情况下这并不是真正的问题,但我想我可能可以将 func 定义为 MyClass 的方法,我只是不知道如何。
好的,我明白了,最后感谢下面的评论。这有效
class MyClass(object):
def __init__(self, i : int):
self.i_c = i
def method(self):
if self == MyClass.newinstance:
return 'blaba'
else:
return self.i_c
MyClass.newinstance = MyClass(0)
解决方案
推荐阅读
- python - 1列的条件语句以创建具有算术函数的另一列
- python - Python按一列分组并计算另一列的百分比
- android - 突然我的 App.js 文件和所有其他文件格式都更改为 App.js.djvut 和 ReactNative 应用程序刚刚超过
- amazon-web-services - 为什么 Vagrant 需要云提供商的虚拟盒子?
- ruby-on-rails - 我的旧创建联接表如何在没有索引的情况下工作?
- r - R中带有正值和负值的堆积条形图
- xml - 找不到元素“书店”的声明
- gcc - 如何使用 GCC/clang 分析具有名称模式的函数?
- java - 转义字符被添加到 JSON 对象
- next.js - 有什么方法可以为 next.js 做透明 API?