【问题标题】:Class Strings and print functions类字符串和打印函数
【发布时间】:2018-06-06 23:04:00
【问题描述】:

我正在开发一个基于文本的游戏,到目前为止我已经完成了:

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

我不明白为什么变量中的字符串没有被打印,因为我正在调用该类,但它表示该变量在代码中未被识别为变量。我需要反馈,这样我才能完成这个游戏。

【问题讨论】:

  • 为什么() 周围有'sampletext'?如果你想用一个元素创建一个元组,你需要一个逗号:('sampletext',)

标签: python string class printing


【解决方案1】:

试试这个:

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

print(Map.room1)

输出:

sampletext

【讨论】:

  • 哎呀......这段时间又让我失望了
【解决方案2】:

主要问题是你不能调用一个类。您可以调用类方法,或调用类实例的方法。语法

Map(room1)

尝试创建Map 的实例(对象),给定初始化参数room1,它应该是一个局部变量。

根据您给出的类定义,我认为正确的语法是

print(Map.room1)

它引用了类属性room1的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 2012-08-14
    • 2018-11-25
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多