我认为这是一个非常愚蠢/愚蠢的问题,但我正在使用PyCharm并不断向类添加方法或更改方法的主体。当我通过导入.py文件并启动类对象来测试类时,它似乎无法识别对类的更改。
我需要点击一些按钮以确保更改类代码。
对我来说唯一有用的是重启PyCharm。
答案 0 :(得分:3)
导入类时,它会在当前时间按原样导入。如果在此之后进行更改,则需要再次导入。在这种情况下,您应该能够终止shell,然后重新启动它。
这不是错误或错误。
答案 1 :(得分:0)
您提到的问题有很多变体。 我面临的一个问题是模块中有两个类-一个包含另一个对象。
例如
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
对此进行评估,然后跨过控制台进行确认。 这也适用于静态方法和对象方法。
希望这会有所帮助。