我认为这是一个非常愚蠢的问题,但是我正在使用PyCharm并不断向类中添加方法或更改方法的主体。当我通过导入.py文件并启动类对象来测试类时,它似乎无法识别对该类所做的更改。
是否需要单击某些按钮以确保更改了类代码。
似乎对我唯一有效的方法是重新启动PyCharm。
[当您导入该类时,它会在当前时间按原样导入。如果之后进行更改,则需要再次导入。在这种情况下,您应该只能够终止外壳,然后重新启动它。
这不是错误或错误。
您提到的问题有很多变化。我面临的一个问题是模块中有两个类-一个包含另一个对象。
例如
class y:
@classmethod
def f1():
print('old')
class x:
def __init__(self):
self.ref_cls = y()
def test():
self.ref_cls.f1() # <-- "line to change"
现在,如果我在“要更改的行”上放置一个断点,并希望重新定义f1以打印“新”而不是“旧”,我将打开评估器并添加以下代码:
class new: # <-- if you write 'y' instead of new it does not work
@classmethod
def f1():
print('new')
self.ref_cls = new
请对此进行评估,然后跨过控制台进行确认。这也适用于静态方法和对象方法。
希望这会有所帮助。