【发布时间】:2017-12-22 11:41:53
【问题描述】:
我目前有一个模块my_module,其中包含classes.py:
from . import config
class Class1:
@staticmethod
def method_one(x)
return x + config.constant
@staticmethod
def method_two(y)
return x - config.constant
我的问题是我希望能够拥有多个具有不同 config.constant 值的模块实例。理想情况下,我会有一个名为 MyClass 的新类,其中常量将是一个实例变量,这样就可以工作:
instance1 = MyClass(5)
instance1.Class1.method_one(5) # 10
instance2 = MyClass(0)
instance2.Class1.method_one(5) # 5
有没有办法在不修改 my_module 中的类的情况下做到这一点?
【问题讨论】:
-
我在这里没有看到类,为什么你要创建一个模块的多个实例而不是一个类的多个实例?
-
模块有多个类,每个类都使用模块常量。我想创建一个功能与模块完全相同的类。即
my_module.some_class.some_method() = my_class.some_class.some_method()如果my_class的常量实例变量等于my_module的config_constant -
不过,您向我们展示的内容中没有课程。根据您似乎认为自己已经向我们展示了课程,以及您想如何做
instance1.module_class1之类的事情,我认为您可能误解了课程的实际含义。 -
编辑了帖子,希望现在更有意义。
标签: python class methods module