本文主要是介绍takes 0 positional arguments but 1 was given (python错误记录),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
takes 0 positional arguments but 1 was given (python错误记录)
C=Circle(2)
print(C.Area())
R=Rectangle(2,4)
print(R.Perimeter())
实现的是一个关于圆和长方形的类的练习
报错的代码:print(C.Area())
TypeError: Area() takes 0 positional arguments but 1 was given
.
错误原因:在定义其中Area()函数时 写成了def Area() 应该是def Area(self)
初学,定义函数时老忘了加self
.
搞笑的是改的时候 顺便发现了我的__init__ 函数里 赋值语句self.length=int(length)
有的加了self. ,有的没加!
看来还是太不熟了 要多写写代码练练~
顺便附上代码和搞笑的调试过程
class GeometricObject():color = 'red'class Circle(GeometricObject):def __init__(self,radius):self.radius = radiusdef Area(self):#求面积self.area=round(int(self.radius)*3.14,2)return self.areaclass Rectangle(GeometricObject):def __init__(self,length,breadth):self.length=int(length)self.breadth=int(breadth)def Perimeter(self):#求周长self.P=round(self.length*2+self.breadth*2,2)return self.PC=Circle(2)
print(C.Area())
R=Rectangle(2,4)
print(R.Perimeter())
调试过程
原本以为简简单单的代码,改了好几次错,自己都想笑 哈哈哈 还是太菜
这篇关于takes 0 positional arguments but 1 was given (python错误记录)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!