Python 2.7 为什么这个代码给了我一个错误

Python 2.7 为什么这个代码给了我一个错误,python-2.7,Python 2.7,我什么都试过了,但总是出错。对不起,我是Python新手,有人能帮我吗?提前感谢。调用实例方法getArea: class Square: def empty(): return print "What Is The Length And Width Of Your Square" total = raw_input() def _init_(self, size):

我什么都试过了,但总是出错。对不起,我是Python新手,有人能帮我吗?提前感谢。

调用实例方法getArea:

class Square:
        def empty():
                return
        print "What Is The Length And Width Of Your Square"
        total = raw_input()


        def _init_(self, size):
                self.size = total

        def getArea(self):
                area = self.size * self.size
                return area

mySquare = Square()
Square.getArea()
而不是

mySquare.getArea()

您的代码有几个错误,不仅仅是Paco提到的错误

试试这个:

Square.getArea()
试一试


而不是你写的东西,看看它是否有用。

类不应该考虑从用户那里获取输入来设置正方形的大小。更好的方法是将输入移到类之外,并将用户输入的大小作为Square构造函数的参数传递(您已经这样做了,但没有使用)。这样,您就可以重用这个类

mySquare = Square(4)
mySquare.getArea()
class Square:
def为空(自我):
回来
定义初始值(自身,大小):

self.size=size#heck是
def empty
的意思吗?它应该是
\uuuu init\uuuu
而不是
\uu init\uu
。另外,
x*x
可以写成
x**2
(这不是一个bug)。下面anto的答案要好得多。文件“area\u of_a\u square.py”,第13行,mySquare=square(size)TypeError:此构造函数不接受arguments@Sunny糟糕的是,Python中构造函数的正确定义是
def\uuu init\uuu(self)
(注意下面的2个下划线)。因此,它应该是
def\uuu init\uuu(self,size):
mySquare = Square(4)
mySquare.getArea()
class Square:
    def empty(self):
        return

    def __init__(self, size):
        self.size = size # <---

    def getArea(self):
        area = self.size * self.size
        return area

size = raw_input("What Is The Length And Width Of Your Square? ") # <---
mySquare = Square(size)
mySquare.getArea()