每次调用类方法时是否可以避免写“点”?

2024-09-27 18:19:18 发布

您现在位置:Python中文网/ 问答频道 /正文

抱歉,有点不清楚。实际上,我想知道在Python中,当您迭代调用类的方法时,是否有可能更不用说类名了?我的意思是写,而不是:

SomeClass.Fun1()
SomeClass.Fun2()
...
SomeClass.Fun100()

比如:

DoWith SomeClass:
    Fun1()
    Fun2()
    ...
    Fun100()

什么?你知道吗


Tags: 方法类名someclassfun2fun1fun100dowith
2条回答

是的,只要尝试from SomeClass import *(当然,在将SomeClass移到另一个文件之后)

有几种方法可以实现这一点(from SomeClass import *locals().update(SomeClass.__dict__())),但您所尝试的并不是真正合乎逻辑的:

在90%的情况下,调用的不是静态类方法,而是成员函数,它们需要一个实例来操作。您确实意识到,第一个,通常在方法上看到的self参数非常重要,因为它允许您访问实例的命名空间。因此,即使在方法中,也使用self.my_member而不是my_member。这是一个重要的python概念,您不应该试图避免它,因为本地名称空间和实例的属性之间存在差异。你知道吗

但是,您可以做的是使用短手柄,而不需要任何开销:

my_instance = SomeClass() #notice, this is an instance of SomeClass, not the class or type itself
__ = my_instance

那可以节省你很多打字时间。但是我更喜欢清晰而不是保存的类型(见鬼,vim有很好的Python自动完成插件)。你知道吗

相关问题 更多 >

    热门问题