如何在python中定义类?

时间:2013-12-30 19:46:41

标签: python

我正在尝试在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背景,如果这有助于解释任何人的困惑。

1 个答案:

答案 0 :(得分:7)

您当前的代码正在导入包含类fubar模块 Fubar。但是,Python并没有隐含地知道这一点。相反,您必须明确告诉它Fubar的位置。

为此,请将代码设为:

fubar.Fubar()

或者,将您的import语句更改为:

from fubar import Fubar
Fubar()  # This will now work

以下是importing的参考资料。