python - 是否可以避免调用类方法时每次都写 'dot'?

标签 python

抱歉,问题有点不清楚。我实际上想知道在 Python 中是否可以在迭代调用类的方法时不提及类名?我的意思是写而不是:

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

类似于:

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

?

最佳答案

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

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

然而,您可以做的是拥有一个短句柄,而无需任何开销:

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

这可以为您节省大量的输入。但我更喜欢清晰度而不是保存的输入( hell ,vim 有很好的 Python 自动完成插件)。

关于python - 是否可以避免调用类方法时每次都写 'dot'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30669746/

相关文章:

python - python的多处理池的键盘中断

从安装程序打开时 Python 程序会崩溃,但如果从 Spyder IDE 运行脚本则不会崩溃

python - 字典 - 缩小一个值并打印属于它的键 - Python

python - 将二维数组读入Python的简单方法

python - Turbogears2 和 py.test

python - 与 Tensorflow 中的常规 LSTMCell 相比,使用 CudnnLSTM 训练时的不同结果

python - 如何处理奇怪的 Pandas 错误 "unable to open hashtable..."

python - 使用 Python 从字符串中删除前导数字?

python - Python 中的 Voronoi 分割

python - 我如何使用Python查找目录中是否有任何txt文件