python为什么用类_为什么要在python中使用类?

我是一个非常业余的Python学习者,最近我开始学习类的概念。我可以大致理解类的概念,但我不明白为什么我不能简单地编写一些函数而不是编写类?

例如,(我正在向Interactive python学习)给出的练习之一(我应该使用类编写)是:添加一个distanceFromPoint方法,其工作原理与distanceFromOrigin类似,只是它使用Point作为参数并计算该点与自身之间的距离。

将方法reflect_x添加到Point中,该方法返回一个新的Point,该方法是点关于x轴的反射。例如,Point(3, 5).reflect_x()就是(3, -5)。

他们使用如下类编写代码:import math

class Point:

""" Point class for representing and manipulating x,y coordinates. """

def __init__(self, initX, initY):

""" Create a new point at the given coordinates. """

self.x = initX

self.y = initY

def getX(self):

return self.x

def getY(self):

return self.y

def distanceFromOrigin(self):

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

def distanceFromPoint(self, otherP):

dx = (otherP.getX() - self.x)

dy = (otherP.getY() - self.y)

return math.sqrt(dy**2 + dx**2)

p = Point(3, 3)

q = Point(6, 7)

print(p.distanceFromPoint(q))

当我可以像这样简单地编写它们时,为什么要使用类:def distanceFromPoint(p,q): # they are tuples

y = (p[0]-q[0])**(2)+(p[1]-q[1])**(2)

return y**(1/2)

def reflectx(p):

return (p[0],-p[1])

p = (3,3)

q = (6,7)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值