我想在类中导入一些函数而无需导入整个类。
我有一些课程如下
class MyClass:
def __init__(self):
pass #Some init stuff
def some_funcs(self):
pass #Some other funcs
@staticmethod
def desired_func():
pass #The func i want to import
from MyClassFile import MyClass.desired_func
或
from MyClassFile.MyClass import desired_func
我尝试导入这种方式但是没有用,有什么方法可以做到吗?
答案 0 :(得分:4)
扮演魔鬼的拥护者:
# MyScript.py
desired_func = __import__('MyClassFile').MyClass.desired_func
更严重的是,听起来你的staticmethod
实际上只是一个模块级功能。 Python is not Java。
如果您坚持使用静态方法,请选择以下选项之一:
f = MyClass.desired_func
MyClassFile.py
中,在类定义块之后,将模块级函数别名为staticmethod,然后直接导入该名称。