【发布时间】:2018-09-18 20:32:44
【问题描述】:
按照this answer的第一个例子,我将我的类的实现拆分在不同的模块中,类似于
class MyClass:
from impl0 import foo00, foo01
from impl1 import foo10, foo11
我现在想基于仅在实例化时才知道的参数导入某些方法的两种不同实现中的一种或另一种,例如,
class MyClass:
from impl0 import foo00, foo01
def __init__(self, par):
if par:
from impl1 import foo10, foo11
else:
from alternative_impl1 ipmort foo10, foo11
然而,像之前的 sn-p 一样,foo10 和 foo11 的可见性仅限于 __init__ 函数。有没有办法在类方面实现这一目标?
【问题讨论】:
-
par来自哪里?谁在设置它? -
我认为,可能是 OP 希望我们假设 MyClass 为 MyClass(arg)
-
@LutzHorn:我的意思是这个类是用其他地方的参数初始化的,那里使用了 MyClass。出于好奇,par 是物理模拟中的许多物理参数。用户从命令行传递它们,然后程序实例化类,将几个参数传递给构造函数。
标签: python class python-module