Есть python модуль module:
import requests
class module:
def __init__(self):
self._BASE_DOMAIN = 'xxx.ru'
def get_problem_by_id(self, id):
doujin_page = requests.get(f'{self._BASE_DOMAIN}/problem?id={id}')
return ...
...
if __name__ == '__main__':
module = module()
Когда я вызываю функцию из этого же файла все нормально:
import requests
class module:
def __init__(self):
self._BASE_DOMAIN = 'xxx.ru'
def get_problem_by_id(self, id):
doujin_page = requests.get(f'{self._BASE_DOMAIN}/problem?id={id}')
return ...
...
if __name__ == '__main__':
module = module()
print(module.get_problem_by_id('123'))
[нужный результат]
Process finished with exit code 0
Но когда я импортирую модуль из другого файла:
import module
print(module.module.get_problem_by_id('123'))
Происходит вот такая беда:
Traceback (most recent call last):
File "c:/.../test.py", line 3, in <module>
print(module.module.get_problem_by_id('123'))
TypeError: get_problem_by_id() missing 1 required positional argument: 'id'
Ладно, допустим сделаем как он хочет и напишем второй (ведь явно не нужный) аргумент, чтобы хоть что то изменилось:
import module
print(module.module.get_problem_by_id('123','123'))
Получаем:
Traceback (most recent call last):
File "c:/.../test.py", line 3, in <module>
print(module.module.get_problem_by_id('123','123'))
File "C:\...\AppData\Local\Programs\Python\Python37-32\lib\site-packages\module\__init__.py", line 37, in get_problem_by_id
f'{self._BASE_DOMAIN}/problem?id={id}')
AttributeError: 'str' object has no attribute '_BASE_DOMAIN'
Понимаю, что он по какой то причине принимает self за обыкновенный аргумент, и присваевает ему '123'. Я плохо знаком с классами и self'ом, поэтому окончательно запутался
Буду рад любой помощи!