Строки класса и функции печати - PullRequest
0 голосов
/ 07 июня 2018

Я работаю над текстовой игрой, и я сделал это до сих пор:

class Map():
    room1 = ('sampletext')

print(Map(room1))

, но затем я получаю ошибку:

Traceback (most recent call last):
  File "C:/Users/Owner/Downloads/Text.py", line 3, in <module>
    print(Map(room1))
NameError: name 'room1' is not defined

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

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Основная проблема в том, что вы не можете вызвать класс.Вы можете вызвать метод класса или вызвать метод для экземпляра класса.Синтаксис

Map(room1)

пытается создать экземпляр (объект) Map, учитывая аргумент инициализации room1, который должен быть локальной переменной.

С определением класса выя думаю, что правильный синтаксис -

print(Map.room1)

, который ссылается на значение атрибута класса room1.

0 голосов
/ 07 июня 2018

Попробуйте это:

class Map():
    room1 = ('sampletext')

print(Map.room1)

Вывод:

sampletext
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...