PyCharm没有重新加载就无法识别新的类方法

时间:2015-09-30 12:56:51

标签: python pycharm

我认为这是一个非常愚蠢/愚蠢的问题,但我正在使用PyCharm并不断向类添加方法或更改方法的主体。当我通过导入.py文件并启动类对象来测试类时,它似乎无法识别对类的更改。

我需要点击一些按钮以确保更改类代码。

对我来说唯一有用的是重启PyCharm。

2 个答案:

答案 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

对此进行评估,然后跨过控制台进行确认。 这也适用于静态方法和对象方法。

希望这会有所帮助。