将Python模块导入类变量

时间:2014-09-11 23:06:42

标签: python

我试图在Python中导入一个类,并在导入类之后设置一个类变量作为导入的类。我已经搜索过Google以及stackoverflow以获得答案,但是找不到它。

例如:

DB.py:

class DB:
    def __init__(self):
        #init sets up the db connection

    def FetchAll():
        #Fetchall fetches all records from database

Ex.py:

class Ex:
    def __init__(self):
        import DB.py as DB
        self.db = DB.DB()

    def FetchAll(self):
        result_set = self.db.FetchAll()

我希望能够通过变量从Ex类访问DB类中的FetchAll()。我知道在PHP中这可以通过使用"受保护的"一个班级中的关键词。

感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:0)

只需

import DB

您提供了一个模块名称(可以在当前模块搜索路径下找到),而不是文件名。

检查the tutorial以获取初学者对模块和导入如何工作的概述。

答案 1 :(得分:0)

您可以只使用类的名称作为类变量:

import DB

class Ex:
    # define methods
    # call FetchAll with DB.FetchAll()

或者使用'as'键创建一个新的类变量:

import DB as x

class Ex:
    # define methods
    # call FetchAll with x.FetchAll()

和其他人一样,导入脚本顶部的所有模块。