Python 2.7 为什么这个代码给了我一个错误
我什么都试过了,但总是出错。对不起,我是Python新手,有人能帮我吗?提前感谢。调用实例方法getArea: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):
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()