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,而不是一个特定的"如何称呼一个班级"的功能
| 归档时间: |
|
| 查看次数: |
108 次 |
| 最近记录: |