python - Python 在另一个 Python .py 文件中定义一个类方法
问题描述
由于可视化的方式,我想定义我为类之外的类编写的方法 - 特别是在另一个 .py 文件中。至少这是我们大学老师教我们组织代码的方式
有人可以告诉我如何定义,然后在另一个文件中调用函数 output_func() 吗?
我知道在 C++ 中可以通过键入 classname::functionname(Parameter) 然后在类中声明它,但我不知道 Python 中的方式。
我确信这是一个非常普遍和基本的问题;然而,我无法通过我的个人研究找到任何解决方案。话虽这么说,对不起,如果我刚刚问了一个重复的问题:)
非常感谢!
示例代码:
class MainClass():
#The method that I would like to define in another file
def output_func():
print("Hello World!")
解决方案
这取决于你想怎么打电话output_func
。如果你希望它是一个静态类方法,你可以这样定义它:
@staticmethod
def output_func():
print("hello world")
from ModuleWithMainClass import MainClass
MainClass.output_func = output_func
# call like this
MainClass.output_func()
如果您想像output_func
常规实例方法一样操作并具有对对象的内部访问权限,您可以像这样定义它:
def output_func(self):
print(f"hello {self._name}")
from ModuleWithMainClass import MainClass
MainClass.output_func = output_func
# call like this
mc = MainClass()
mc.output_func()
跨多个文件拆分类定义是非常不符合 Python 的。我会重新考虑这是否是解决您问题的最佳方法。
推荐阅读
- arrays - 将列表的多变量离散列表转换为散点图
- c - UART_RX 返回什么
- typescript - 打字稿 .push 显示。“T[]”类型的参数不可分配给“T”类型的参数错误
- apache-spark - Spark:生成txt文件
- python - Escape Pods Google Foobar 挑战 | 最大流量问题
- python - 碰撞激活时如何使我的“游戏结束”文本保持不变?
- python - 用 selenium 和 python 抓取
- javascript - 如何清理画布并重新绘制
- c# - c# wpf应用程序中的两个xml请求
- java - org.springframework.validation.BeanPropertyBindingResult:5 个错误