首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在类中启动多个类

在类中启动多个类
EN

Stack Overflow用户
提问于 2018-11-20 08:59:13
回答 1查看 71关注 0票数 0

我在多个文件中有多个类。例如,

档案1:

代码语言:javascript
复制
class gen_list ():
  def gen_list_spice(self):
    ...

档案2:

代码语言:javascript
复制
class gen_postsim ():
  def gen_postsim(self):
    ...

我想用另一个像这样的类来包装,

代码语言:javascript
复制
class char ()
   def __init__ (self, type):
     if (type == list):    
       ....... (load gen_list only<-- this part i do not know how to write)
     else 
       ....... (load both)

在最上面的包装器中,例如,如果我给list,我将能够使用gen_list_spice,否则,当我只需要调用object char时,就可以同时使用gen_list_spicegen_postsim

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-20 09:25:30

我不知道为什么要这样做,但是您可以在文件的任何部分导入一个文件。

文件1,应该命名为get_list.py

代码语言:javascript
复制
class ListGenerator():

    def gen_list_spice(self):
        pass

文件2,应该命名为gen_postsim.py

代码语言:javascript
复制
class PostsimGenerator():

    def gen_postsim(self):
        pass

在包装文件中:

代码语言:javascript
复制
class char():

    def __init__(self, type):
        if type == list:
            from gen_list import ListGenerator
            gl = ListGenerator()
            gl.gen_list_spice()
        else:
            from gen_postsim import PostsimGenerator
            from gen_list import ListGenerator
            gp = PostsimGenerator()
            gp.gen_postsim()

但这么做不是个好办法。您可以使用函数而不是类,并将它们导入文件头中。

文件中的gen_list.py

代码语言:javascript
复制
def gen_list_spice():
    print("get list")
    pass

文件中的gen_postsim.py

代码语言:javascript
复制
def gen_postsim():
    print("gen postsim")
    pass

在包装文件中

代码语言:javascript
复制
from gen_list import gen_list_spice
from gen_postsim import gen_postsim

class char():

    def __init__(self, type):
        if type == list:
            gen_list_spice()
        else:
            gen_list_spice()
            gen_postsim()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53389419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档