You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中Rectangle类未定义报错问题求助

解决Python中Rectangle未定义的问题

嘿,我来帮你搞定这个报错!你遇到的NameError: name 'Rectangle' is not defined,本质原因很简单:你还没有告诉PythonRectangle这个类到底是什么,就直接去创建它的实例了。

咱们一步步来修正:

第一步:先定义Rectangle类

首先得把Rectangle类写出来,包含初始化长和宽的方法,以及计算面积、周长的方法——这正是任务要求的“完成两个方法”的核心部分:

class Rectangle:
    def __init__(self, length, width):
        # 把传入的长和宽存为实例属性,方便后续方法调用
        self.length = length
        self.width = width
    
    def calculate_area(self):
        # 计算面积的方法,返回长×宽的结果
        return self.length * self.width
    
    def calculate_perimeter(self):
        # 计算周长的方法,返回2×(长+宽)的结果
        return 2 * (self.length + self.width)

注意:方法名可以根据习惯调整(比如叫get_area也行),核心是要用self.来访问实例的长和宽,确保不会硬编码固定数值。

第二步:创建实例并测试

现在类定义好了,就可以按照任务要求创建实例、打印结果,同时完成后续测试:

# 创建任务要求的第一个实例:长6,宽8
rect = Rectangle(6, 8)
# 打印面积和周长
print(f"该矩形的面积:{rect.calculate_area()}")
print(f"该矩形的周长:{rect.calculate_perimeter()}")

# 额外的3个测试实例(这里举例子,你可以替换成任务指定的测试值)
test_rect1 = Rectangle(3, 4)
print(f"测试实例1:面积={test_rect1.calculate_area()},周长={test_rect1.calculate_perimeter()}")

test_rect2 = Rectangle(5, 10)
print(f"测试实例2:面积={test_rect2.calculate_area()},周长={test_rect2.calculate_perimeter()}")

test_rect3 = Rectangle(7, 2)
print(f"测试实例3:面积={test_rect3.calculate_area()},周长={test_rect3.calculate_perimeter()}")

几个关键细节提醒

  • 大小写敏感:Python里类名通常首字母大写(比如Rectangle),别写成小写的rectangle,否则会触发同样的未定义错误
  • 代码顺序:必须先写类的定义代码,再写创建实例的代码,不能反过来执行
  • 避免硬编码:咱们通过调用方法计算结果,而不是直接写48或28这类固定值,这样不管实例的长和宽是什么,都能自动算出正确结果,完全符合任务要求

内容的提问来源于stack exchange,提问作者Hannah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:00:12