|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求助!
这题有两点不理解!
一、代码如下:
import math
class Point():
def __init__(self, x=0, y=0):
self.x = x
self.y = y
def getX(self):
return self.x
def getY(self):
return self.y
class Line():
def __init__(self, p1, p2):
self.x = p1.getX() - p2.getX()
self.y = p1.getY() - p2.getY()
self.len = math.sqrt(self.x*self.x + self.y*self.y)
def getLen(self):
return self.len
为什么我在pycharm里按照答案书写时发现, self.x = p1.getX()这里,我的p1. 之后没有出现getX()这个选项,需要自己写,请问这是bug还是什么原因
二、第二个问题! 请教一个一直没理解的问题
class Point():这种写法和 class Point:这种写法的类有什么不同呢?
这并不是 bug,这是因为编辑器无法确定 p1 的类型,所以没有出现相应的方法,
你可以加个注解:
import math
class Point():
def __init__(self, x=0, y=0):
self.x = x
self.y = y
def getX(self):
return self.x
def getY(self):
return self.y
class Line():
def __init__(self, p1: Point, p2: Point):
self.x = p1.getX() - p2.getX()
self.y = p1.getY() - p2.getY()
self.len = math.sqrt(self.x*self.x + self.y*self.y)
def getLen(self):
return self.len
|
|