NameError: name ‘Robot’ is not defined

麻烦来了,随着继续看Byte-of-python 发现会遇到一些莫名其妙的问题:

[embed_snipt:Pll]

上面这段代码运行结果是:

Traceback (most recent call last):
File “F:\PJ\PythonPJ\objvar.py”, line 1, in <module>
class Robot:
File “F:\PJ\PythonPJ\objvar.py”, line 34, in Robot
droid1 = Robot(‘R2-D2’)
NameError: name ‘Robot’ is not defined

奇怪,只好再检查一次代码中有没有一些低级错误…暂时还没有什么发现…问题是拷贝PDF中提到的代码也是同样的错误…为什么Robot会没有define…

似乎是缩进的问题,调整了缩进之后的代码:

[embed_snipt:Plm]

这下可以initialize Robot了。可是问题又来,

(InitializingR2-D2)
Greetings, my masters call me R2-D2
Traceback (most recent call last):
File “F:\PJ\PythonPJ\objvar.py”, line 36, in <module>
Robot.howMany()
TypeError: howMany() takes exactly 1 positional argument (0 given)

**Note:本文中用Snipt.org输出的代码,在RSS阅读器中没法输出…

7 thoughts on NameError: name ‘Robot’ is not defined

  1. howMany() 调用时需要一个参数:-D

    这个插件居然把所有单引号都转成 ',罪过罪过

  2. 奇怪了…为什么howMany()会需要参数呢… 书上自己都没写 -__-

    另外,那个单引号我不知道是插件的问题还是我的Intype的问题 :-)

  3. 呵呵,howMany() 定义的时候就是要参数的,估计是作者笔误?
    def howMany(klass):

  4. @seaer
    你说的是哪个问题? 第一个么? 多半是因为你缩进不对。
    检查一下你的缩进格式先看看。

  5. 1.缩进问题

    2.参数问题

    认真点学啊 都基本

    参数该还有会有问题

发表评论

电子邮件地址不会被公开。 必填项已用*标注