为了账号安全,请及时绑定邮箱和手机立即绑定

Python 在单独的文件中跨类调用方法

Python 在单独的文件中跨类调用方法

qq_笑_17 2022-08-16 16:29:43
我有一个python tkinter应用程序,它以多个文件的形式分开。两个文件保存类,并且都导入到创建每个类的一个实例的文件中。但是,我需要一个类的方法来调用另一个类的方法。如何在不在子文件中创建实例并导入这些实例的情况下执行此操作?由于每个类都是一个 tkinter Frame 并且需要一个父类,因此我无法在子类各自的文件中实例化子类。parent这是我试图做的一个简单的版本:父文件:Master.pyimport Child1import Child2child1 = Child1()child2 = Child2()子 1 文件:Child1.pyclass Child1():    def __init__(self):        text1 = 'I am Child 1'    def get_called(self):        print(text1)子 2 文件:Child2.pyclass Child2():    def __init__(self):        text2 = 'I am Child 2'    def call_child1(self):        # need to call get_called method of Child1 here在最终版本中,将通过tkinter按钮调用并运行一堆其他代码以及调用child1的方法。call_child1我正在运行Python 3.8.1一个Windows 10。任何帮助是值得赞赏的。
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

您可以将实例作为参数传递到您的实例中:child1child2


# parent file: Master.py


import Child1

import Child2


child1 = Child1()

child2 = Child2(child1)


# Child 1 file: Child1.py


class Child1():

    def __init__(self):

        text1 = 'I am Child 1'


    def get_called(self):

        print(text1)


# Child 2 file: Child2.py


class Child2():

    def __init__(self, ch1):

        text2 = 'I am Child 2'

        self.child1 = ch1


    def call_child1(self):

        self.child1.get_called()

        # need to call get_called method of Child1 here


查看完整回答
反对 回复 2022-08-16
  • 1 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号