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

问题描述 投票:2回答:2

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

是否需要单击某些按钮以确保更改了类代码。

似乎对我唯一有效的方法是重新启动PyCharm。

python pycharm
2个回答
3
投票

[当您导入该类时,它会在当前时间按原样导入。如果之后进行更改,则需要再次导入。在这种情况下,您应该只能够终止外壳,然后重新启动它。

这不是错误或错误。


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

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

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.