如何简化从外部py文件导入类中函数的调用方式?
嘿,我懂你想要更清爽的函数调用方式,这里有几个实用的方案,你可以根据自己的代码情况选:
1. 直接从类里导入目标函数
如果你的Function_name是静态方法或者类方法(不需要依赖实例就能运行),那可以跳过导入整个类,直接把函数单独导进来:
# 直接导入函数,不用先导入类 from FILE.CLASS import Function_name # 现在直接调用就行 Function_name()
要是你还是需要用到类的其他功能,也可以同时导入类和函数:
from FILE import CLASS from FILE.CLASS import Function_name
2. 绑定实例方法到变量(针对实例方法)
如果Function_name是必须依赖实例的实例方法,你已经实例化了var = CLASS(),那其实应该用var.Function_name()来调用(而不是CLASS.Function_name(),那样会因为缺少self参数报错)。要是觉得每次写var.麻烦,可以把实例的方法绑定到一个短变量:
from FILE import CLASS var = CLASS() # 把实例的方法赋值给一个变量 my_func = var.Function_name # 之后直接调用这个变量就行 my_func()
3. 把函数移到模块级别(最简洁的方案,如果合适的话)
如果这个函数根本不需要依赖类的状态或其他类成员,那完全可以把它从类里拆出来,直接放到FILE.py里当模块级函数。这样导入和调用都超简单:
from FILE import Function_name # 直接调用 Function_name()
简单总结下:你之前用CLASS.Function_name(),说明这个函数是类方法/静态方法,这时候用第一种方案直接导入函数最省事;如果是实例方法,记得用实例来调用,嫌麻烦就绑定到变量;要是函数和类没什么绑定关系,拆成模块函数是最清爽的选择~
内容的提问来源于stack exchange,提问作者Mariano
相关产品推荐
相关产品推荐

