python---面向对象3--对象方法
1 # 方法 2 # 定义在类中的函数称为方法 3 # 通过调用方式的不同,分为对象方法、类方法、静态方法、魔术方法 4 5 6 class Point: 7 """ 8 表示平面坐标系里的一个点 9 """ 10 name = '点' # 类属性 11 12 # 定义在类里的普通函数就是对象方法 13 def my_point(self): 14 print('({}, {})'.format(self.x, self.y)) 15 16 def distance(self, p2): 17 return ((self.x - p2.x) ** 2 + (self.y - p2.y) ** 2) ** 0.5 18 19 # 1.对象方法 20 # 定义在类中的普通函数,一般通过对象去调用 21 22 # 调用对象方法 23 # 1.1 类名.方法名(参数) --- 不用 24 # 和普通的函数没有什么区别 25 # Point.x = 1 26 # Point.y = 2 27 # Point.my_point(Point) 28 29 # 1.2 对象.方法名(参数) --- 常用 30 # 创建一个实例 31 # 通过对象去调用对象方法时,会隐式的把对象本身传递给方法的第一个参数 32 # 所以对象方法会把第一个参数命名为self 33 34 35 p = Point() 36 p.x = 1 37 p.y = 2 38 p.my_point() 39 40 p1 = Point() 41 p1.x = 0 42 p1.y = 0 43 res = p.distance(p1) 44 print(res) 45 46 47 # """ 48 # 定义一个函数my_print, 它接受一个Point类的对象,如何打印这个对象的x和y坐标 49 # """ 50 # 51 # 52 # def my_point(point): 53 # print('({}, {})'.format(point.x, point.y)) 54 # 55 # 56 # ### 57 # """ 58 # 定义一个函数distance,它接收两个Point对象,然后返回这两个点的距离 59 # """ 60 # 61 # 62 # def distance(p1, p2): 63 # return ((p1.x - p2.x)**2 + (p1.y - p2.y)**2)**0.5 64 # 65 # 66 # p = Point() 67 # p.x = 1 68 # p.y = 2 69 # my_point(p) 70 # 71 # p2 = Point() 72 # p2.x = 0 73 # p2.y = 0 74 # 75 # res = distance(p, p2) 76 # print(res)