Установка атрибутов для модуля Python вместо имени файла

#python #package

#python #пакет

Вопрос:

Я новичок в упаковке Python, поэтому не уверен, какой поисковый запрос использовать.

Внутри моего пакета есть _checksum.py

 # _checksum.py

class Add():
     def __init__(self, x, y):
           self.x = x
           self.y = y
    
     def answer(self):
           return self.x   self.y
 

Поэтому, чтобы использовать их, мне пришлось бы импортировать имя файла

 import MYPACKAGE
import MYPACKAGE._checksum as checksum

test = checksum.Add(3, 4)
test.answer()    #7
 

Итак, мой вопрос в том, есть ли способ установить псевдоним MYPACKAGE._checksum , может быть, что-то вроде from MYPACKAGE import checksum ?

Комментарии:

1. Вы должны где-то использовать имя файла

2. Да, мой вопрос в том, есть ли способ установить атрибуты в каком-либо установочном файле, чтобы команда импорта не отображала имя файла?

Ответ №1:

Python во многом полагается на filename для импорта модуля, просто чтобы сделать его более интуитивно понятным. Однако, если это для пользователей пакета, вы, вероятно, можете сделать

 # MYPACKAGE/__init__.py
import ._checksum as checksum
 

Поэтому, когда ваши пользователи используют ваш пакет, они могут

 # Application code
from MYPACKAGE import checksum
 

Комментарии:

1. Спасибо, это действительно просто.