我正在尝试在Python中定义一个类并在bpython中使用它,但是我发现的所有示例都没有成功运行,我无法弄清楚原因.
在fubar.py中:
class Fubar:
def fubar():
print 'fubar'
Run Code Online (Sandbox Code Playgroud)
在bpython中:
>>> import fubar
>>> Fubar()
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'Fubar' is not defined
Run Code Online (Sandbox Code Playgroud)
为什么选择bpython?因为它支持历史记录和制表符完成OOB.
我发现的每个python类定义的例子看起来都像我使用过的变种,这就是为什么我不明白为什么Fubar()未定义的原因.想法,评论?
Python 2.6.5(我不会选择使用的Python版本)bpython 0.9.5.2
我来自Ruby背景,如果这有助于解释任何人的困惑.
您当前的代码正在导入包含该类的模块 .但是,Python并没有隐含地知道这一点.相反,你必须明确告诉它在哪里.fubarFubarFubar
为此,请将代码设为:
fubar.Fubar()
Run Code Online (Sandbox Code Playgroud)
或者,将import-statement更改为:
from fubar import Fubar
Fubar() # This will now work
Run Code Online (Sandbox Code Playgroud)
这是关于导入的参考.
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |