Здравствуйте, хотелось бы обратиться за помощью!
Я начал изучать Python 3.6. На данный момент остановился на классах, решаю большое количество задач.
Раньше, для отслеживания переменных, для отладки я всегда использовал print(), тем самым отслеживал где,какое значение, что и куда передается!
Но работая с классами, я их печатать не могу, выводится ошибка сл.типа:
<__main__.CentralCorridor object at 0x000000000223E7B8> итд
Вопрос: Как мне печатать переменную, в который передается объект?
Для решения этого вопроса использовал:
----------------
def __str__(self):
____return str(self.__class__) + ":" + str(self.__dict__)
----------------
но помогает не всегда.
Текущий компилятор: PyCharm Community Edition 2020.2.3, также пробовал отлаживать. Пример:
----------------
#Человек
class Human(object):
____def __init__(self,map):
________#Инициализирую объет
________self.map = map
____def display_info(self):
________#Связываю с методом method_house в House
________house = self.map.method_house()
________#Выводит <__main__.CentralCorridor object at 0x000000000264E7B8>
________#Как мне посмотреть что находится в переменной house ???
________print(house)
#К примеру, цен коридор. Хочу получить результат 'laser_weapon_armory' в переменную house
class CentralCorridor():
____def enter(self):
________return 'laser_weapon_armory'
#Дом
class House(object):
____def method_house(self):
________return CentralCorridor()
#Создаём объект private_house
private_house = House()
#Создаем объет morozov и передаем объект private_house
morozov = Human(private_house)
#Вызываем метод display_info. Цель - вывести 'laser_weapon_armory' из CentralCorridor
morozov.display_info()
----------------
Post #19
58