出于教育目的,我想展示如何在Python中使用类。
我的演示是转到终端,使用Vim创建一个新文件classy.py
,然后在终端上运行Python。
我开始输入vi classy.py
,使用i
进入插入模式,然后输入:
# An example of a class
class Shape:
def __init__(self,x,y):
self.x = x
self.y = y
def area(self):
return self.x * self.y
def perimeter(self):
return 2 * self.x + 2 * self.y
def scaleSize(self,scale):
self.x = self.x * scale
self.y = self.y * scale
并保存。然后我通过终端输入Python2.7。我输入python
,然后输入提示
>>> import classy # import classy.py
>>> rectangle = Shape(10,10) # create instance of the Shape class
终端输出错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'Shape' is not defined
为什么会出现此错误?当然,实例化类rectangle = Shape(10,10)
应该没有问题。
答案 0 :(得分:2)
你做错了,要么你需要module.ClassName
来访问该类,要么使用from <module> import <Class>
示例 -
>>> import classy
>>> rectangle = classy.Shape(10,10)
或者
>>> from classy import Shape
>>> rectangle = Shape(10,10)
答案 1 :(得分:0)
rectangle = classy.Shape(10,10)