马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
要调用对象里的方法,为什么不能赋值给一个变量呢?零基础入门学python038里的例子如下,Point class如果不用init,应该怎么写呢?如果改成def dian()实例化point= Point(), 然后就不能把point.dian(1,1) 和point.dian(4,5)赋值给p1,p2来计算接下来的线段。如果赋值,p1,p2显示为None。那本题如果不用init应该怎样写呢?谢谢
import math
class Point():
def __init__(self, x=0, y=0): def dian(self, x =0, y =0):
self.x = x 如果改为 self.x = x
self.y = y -----------------------> 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
>>> p1 = Point(1, 1)
>>> p2 = Point(4, 5)
>>> line = Line(p1, p2)
>>> line.getLen()
5.0
- import math
- class Point():
- def dian(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
复制代码
- >>> p1 = Point()
- >>> p1.dian(1, 1)
- >>> p2 = Point()
- >>> p2.dian(4,5)
- >>> line = Line(p1,p2)
- >>> line.getLen()
- 5.0
复制代码
__init__()是初始化方法
不写也行
就是多一步赋值调用的操作
写了的话在实例化对象生成时自己就调用了
|