Дочерний Python не может использовать модуль, импортированный родительским

У меня забавная ошибка импорта при использовании наследования в Python.

В родительском классе я импортирую модуль sqlite3, в дочернем классе я затем пытаюсь использовать функцию sqlite3, но получаю сообщение об ошибке «NameError: глобальное имя sqlite3 не определено». Почему это происходит и как это исправить?

2 класса находятся в отдельных файлах:

Parent.py

import sqlite3

class Parent:
    def __init__(self):

        self.create_database()

    def create_database(self):
        """ Virtual function to be overriden in child classes """
        pass

    ...more class functions that use sqlite3 functions

Child.py

import Parent

class Child( Parent.Parent ):
    def create_database(self):
        self.db = sqlite3.connect("test.db") # Error occurs HERE

c = Child()
14
задан sazr 22 January 2012 в 00:04
поделиться