先看下背景问题:用面向对象编程思维来求两个点的距离。一个对象为Point,另外一个对象为:Line。
第一阶段。不用eval函数同样也可以实现。代码如下:
其中用到了python中一个知识点:面向对象的概念-组合。
什么是组合呢?
举个例子,组合用于“有一个”的场景中,继承是用于“是一个”的场景中。例如,水池中有一个乌龟,天上有一个小甲鱼,这些适用于组合。青瓜是瓜,女人是人,鲨鱼是鱼,这些就是使用了继承。例子如下:
那么在这个例子中具体是如何应用的呢?
我在Line中把两个点放在对象Line中。
好的,现在对对象进行调用。
L1=Line(a,b)
L1.getlen() 就可以得到结果了。
现在是该对这个问题做个升级了:我要输入两个点的坐标。然后进行计算。
于是用
a=eval(input('输入坐标'))
b=eval(input('输入另外一个坐标'))
那么为什么要用eval函数呢?因为输入的形式可能如下:
输入的方式可能为(1,2)、【1,2】、1,2,那么怎么才能使得我无论输入哪种,都能得到我想要的结果呢?就是eval函数。
eval函数介绍如下:
eval函数可以将str、list、int、float、tuple之间相互转化。eval函数很强大,快来试一试吧。
-----禅定时刻---------
贵有恒,何必三更起五更眠。
5万+

被折叠的 条评论
为什么被折叠?



