我应该如何调用python中的类?

Rot*_*ail 0 python class ipython

我在下面的步骤中使用python中的类但我无法成功:

首先,我在一个名为shape.py的文件中创建了一个类

class Shape:
    description = "This shape has not been described yet"
    author = "Nobody has claimed to make this shape yet"
    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 describe(self,text):
        self.description = text
    def authorName(self,text):
        self.author = text
    def scaleSize(self,scale):
        self.x = self.x * scale
        self.y = self.y * scale
Run Code Online (Sandbox Code Playgroud)

其次,我去终端打开python.

第三,我输入

import shape
Run Code Online (Sandbox Code Playgroud)

最后,我写道

rectangle = Shape(100, 45)
Run Code Online (Sandbox Code Playgroud)

它不起作用.有什么建议吗?

错误消息是 NameError: name 'Shape' is not define

mhl*_*ter 13

当你import shape,模块的所有函数,类和变量shape都被约束到那个"命名空间"

所以要从Shape类中实例化,你需要调用它shape.,如下所示:

import shape
rectangle = shape.Shape(100, 45)
Run Code Online (Sandbox Code Playgroud)

如果您希望Shape无需先键入即可访问shape.,可以在导入时执行此变体:

from shape import Shape
rectangle = Shape(100, 45)
Run Code Online (Sandbox Code Playgroud)

最清楚的是,这是一个功能import,而不是一个特定的"如何称呼一个班级"的功能