python初学者021 发表于 2021-5-28 10:00:21

定义class,里面的def函数太多了,能不能把def函数拆分到其他文件中去?

大家好,我定义了GUI的class

然后自己写了一些def函数

然后我发现为了维护各种各样的想法,我在这个class中定义的def越来越多

这样让定义这个class的文件行数慢慢变多了

有没有什么办法,可以把class中的def拆到另外一个文件中去?
(然后在主class这个文件中调用)

麻烦大家帮忙,谢谢了!

hrp 发表于 2021-5-28 10:22:11

可以,要使用的话从那个文件导入就可以了

python初学者021 发表于 2021-5-28 10:59:19

hrp 发表于 2021-5-28 10:22
可以,要使用的话从那个文件导入就可以了

大概怎么弄啊?我一下没有明白

kogawananari 发表于 2021-5-28 11:55:01

python初学者021 发表于 2021-5-28 10:59
大概怎么弄啊?我一下没有明白



拆分前

class X
    def a
    def b
    def c

拆分后:
main模块
from A import MixA
from B import MixB
from C import MixC
class X(MixA,MixB,MixC)
    pass
X().a()


A模块里
class MixA:
    def a

B模块里
class MixB:
    def b

C模块里
class MixC:
    def c

hrp 发表于 2021-5-28 12:04:41

本帖最后由 hrp 于 2021-5-28 12:07 编辑

python初学者021 发表于 2021-5-28 10:59
大概怎么弄啊?我一下没有明白

比如你的主文件是a.py,现在你将函数func拆分到b.py中,那么b.py中就有一个函数def func(): return 0

如果你要在a.py中使用func,那你需要在a.py中写上from b import func,使用时直接调用: x = func();或者import b,使用时 x = b.func()。这样做一般要求func有独立的功能,不对a有太过复杂的依赖。

例子AwesomePyKit
interface文件夹存放ui布局相关代码,library文件夹存放有独立功能的类或函数,RunPyKit.py是与ui操作相关的逻辑代码,也是程序的入口。
页: [1]
查看完整版本: 定义class,里面的def函数太多了,能不能把def函数拆分到其他文件中去?