python设计一个名为point的类

Python016

python设计一个名为point的类,第1张

class Point(object):

    def __init__(self,x=0,y=0):

        self._x=x

        self._y=y

    @property

    def x(self):

        return self._x

    @x.setter

    def x(self, value):

        self._x = value

    @property

    def y(self):

        return self._y

    @y.setter

    def y(self, value):

        self._y = value

    def distance(p1,p2):

        return((p1.x-p2.x)**2+(p1.y-p2.y)**2)**0.5

    def isnearby(self,p):

        return((self.x-p2.x)**2+(self.y-p2.y)**2)**0.5

    def __str__(self):

        return '('+str(self.x)+','+str(self.y)+')'

#测试

p1=Point()   #不写x,y默认为0

print(str(p1))

print(p1.x,p1.y)

p1.x=3

p1.y=4

print(str(p1))

p2=Point(4,5)

print(Point.distance(p1,p2))   #p1,p2两点间距

print(p1.isnearby(p2))        #p1到p2的距离

def coordinate(x, y):

if x>0:

if y>0:

a = 1

else:

a = 2

else:

if y>0:

a = 3

else:

a = 4

return a #根据x,y返回aif __name__ == "__main":

print 'Please insert X,Y'

x = input('Please insert X')

y = input('Please insert Y')

print coordinate(x,y)