ipython和无声错误

2024-04-20 10:27:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python和ipython不太熟悉,并且经常遇到无声错误:除非在scope中运行,否则不会在控制台上显示的错误。也许我设置错了,但问题是:

class test:
  def __init__(self):
    self.only_map = { 'a' : 1 }
  def run (self):
    print 'start'
    self.only_map['c'] = self.only_map['a'] + self.only_map['b']
    print 'done'

obj = test()
obj.run()

这张照片:

开始

没有错误,似乎一切正常。但当我逐行运行时,发现了错误:

self=obj
print 'start'
self.only_map['c'] = self.only_map['a'] + self.only_map['b']
print 'done'

此打印:

开始

键错误:“b”

有人知道为什么会这样吗?你知道吗


Tags: runtestselfobjmaponlyinitdef
1条回答
网友
1楼 · 发布于 2024-04-20 10:27:56
  1. 内存中可能存储了变量。exit()并重新启动
  2. 在文本编辑器中编辑并使用%paste命令粘贴,以确保没有编辑问题
  3. %whos检查您声明为变量的内容

如果其他所有操作都失败,请运行下面的代码。它将打印出self的对象,这样您就可以验证您没有错误。。。你知道吗

class test:
  def __init__(self):
    self.only_map = { 'a' : 1 }
  def run (self):
    print 'start'
    print self.__dict__
    self.only_map['c'] = self.only_map['a'] + self.only_map['b']
    print 'done'

obj = test()
obj.run()

相关问题 更多 >