Я получаю, что объект 'str' не имеет атрибута 'name' при попытке доступа к свойствам экземпляра через переменную.
Пример:
Код: Выделить всё
class Location():
def __init__(self,name):
self.name = name
def __str__(self):
return name
forest = {
"name" : "Ye olde forest",
}
forest = Location(**forest)
print(forest.name) #ok
foo = "forest"
print(foo.name) #gives 'str' object has no attribute 'name'
Код: Выделить всё
print(forest.name)Код: Выделить всё
print(foo.name)Моя идея состоит в том, чтобы использовать код, который будет одинаковым независимо от того, в каком месте находится игрок, для проверки таких вещей, как: темно ли это место (т. е. нужна ли игроку горящая лампа) и т. д. Например:
Код: Выделить всё
current_location = "forest"
if current_location.light == 0:
#prevent player from seeing items at location
Подробнее здесь: https://stackoverflow.com/questions/798 ... -in-python
Мобильная версия