вызов класса / статического метода из переменной класса в python

Я пытаюсь создать класс ImageLoader обрабатывать загрузку и обработку ресурсов изображений следующим образом:

class ImageLoader:
    TileTable = __loadTileTable('image path', some other variable)

    @staticmethod
    def _loadTileTable(arg1, arg2):
        blah blah

однако при компиляции я получаю: NameError: имя '_loadTileTable' не определено

Если я заменю вторую строку на TileTable = ImageLoader. __loadTileTable ('image path', некоторая другая переменная) , тогда я получаю NameError: имя 'ImageLoader' не определено

Когда я перехожу с C # на Python, статические классы со статическими методами - вот что я буду использовать для реализации этого. Тем не менее, я открыт для того, чтобы сделать это в целом на Python (то есть Прочитав оба ответа, я понимаю, что то, что я пытаюсь сделать, вероятно, неправильно. Как мне внедрить ImageLoader, чтобы я мог это сделать:

Предполагая, что таблица плиток вернула массив

module1.py

aTile = ImageLoader.TileTable[1]

module2.py

anotherTile = ImageLoader.TileTable[2]

, в идеале я бы заполнял TileTable только один раз.

Обновление:

Спасибо за все ответы, я нашел свой последний ответ на заполнение TileTable только один раз в модулях python doco

«Модуль может содержать исполняемый файл. операторы, а также функция определения. Эти заявления предназначен для инициализации модуля. Выполняются только с первого раза модуль куда-то импортирован "

Что касается статического класса, я собираюсь отказаться от классов и просто сделать переменную уровня модуля.

7
задан Joe 16 February 2011 в 04:41
поделиться