我试图在 Python 中定义一个类并在 bpython 中使用它,但是我发现的所有示例都没有成功运行,我也不知道为什么。
在 fubar.py 中:
class Fubar:
def fubar():
print 'fubar'
在 bpython 中:
>>> import fubar
>>> Fubar()
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'Fubar' is not defined
为什么选择 bpython?因为它支持历史记录和制表符补全 OOB。
我发现的每个 python 类定义示例看起来都像是我所用的变体,这就是为什么我不明白为什么 Fubar() 是未定义的。想法、评论?
Python 2.6.5(我无法选择使用的 Python 版本) bpython 0.9.5.2
如果这有助于向任何人解释困惑的话,我来自 Ruby 背景。
请您参考如下方法:
您当前的代码正在导入包含类 Fubar 的模块 fubar。然而,Python 并不知道这一点。相反,您必须明确告诉它 Fubar 在哪里。
为此,请将您的代码编写成这样:
fubar.Fubar()
或者,将您的导入语句更改为:
from fubar import Fubar
Fubar() # This will now work
这里是关于 importing 的引用.
