python3类怎么学?可以应用于数学吗?
2023-03-20 15:36:15 时间
提到类网上对它的解释特别多,有长篇大论的,也有简单的定义概括,似乎都不能让人完全理解类到底是用来做什么的。刚入门的python小白最怕的就是一知半解,这样对以后的进阶学习很不利,小编当然不能让这种事情发生。所以找了一道数学题让大家练练手,在解题的过程中理解类的含义。
举个大家在中学都接触过的例子:解三角形。
我需要做一个模块,实现以下功能:输入三角形的三条边长a,b,c,然后计算并返回该三角形三个角的角度,以及该三角形的面积、周长。
你会说,这很简单啊,我们一般就这么做就行了,假如输入三角形的边长为6,7,8:
def ...: # 参照公式把五个函数定义出来,就不详细写了 ... def ...: ... # 然后调用定义好的函数,传入边长数据 angleA(6,7,8) # 计算角A ->0.8127555613686607 # 注意返回值为弧度 angleB(6,7,8) # 计算角B ->1.0107210205683146 angleC(6,7,8) # 计算角C ->1.318116071652818 square(6,7,8) # 计算面积 ->20.33316256758894 circle(6,7,7) # 计算周长,额,好像有个数字写错了 ->20 # 计算结果当然也就错了
这不就搞定了嘛,把计算需要用到的五个函数依次定义出来,然后调就好了。但大家仔细观察一下,这样写有什么不太好的地方?相信大家都发现了,这是同一个三角形,每次计算角度、面积、周长的时候,都要把三条边的长度传进去,一方面这很麻烦,另一方面,万一有一个不小心写错了,那么那条结果当然也就错了啊。
我们根据三角形全等的条件可以知道,三角形的三条边确定了,那么它的三个角、面积、周长,也就都确定了。所以对于同一个三角形,最好只需要传一次数据就可以了。
这不也简单嘛,把它们都写在一个函数里不就得了:
def calculate(a,b,c): angleA = ... angleB = ... angleC = ... square = ... circle = ... return {'角A':angleA, '角B':angleB, '角C':angleC, '面积':square, '周长':circle} result=calculate(6,7,8) result['角A'] ->0.8127555613686607 result['面积'] ->20.33316256758894
通过数学中的知识是不是很好能够理解python类是什么了呢?毕竟小编第一次去网上搜索资料后,看的还是云里雾里,好像明白了,但是要是有人问还是说不出个所以然。相信小伙伴们这次也能完全理解了吧。
相关文章
- 一步一步教你如何用Python操作MySQL
- 精通Python网络爬虫:核心技术、框架与项目实战.3.4 网页分析算法
- GC悲观策略之Parallel GC篇
- Aviator(表达式执行引擎)发布1.0.1
- 《Flink官方文档》Python 编程指南测试版(一)
- 《Flink官方文档》Python 编程指南测试版(二)
- 淘宝开源metaq的python客户端
- 精通Python网络爬虫:核心技术、框架与项目实战导读
- Storm-源码分析-Topology Submit-Task
- 如何用Nagios远程执行插件(NRPE)来检测服务器内存使用率
- Spark 源码分析 -- task实际执行过程
- 《HttpClient官方文档》HTTP验证4.4-4.7
- 《HttpClient官方文档》1.3 HTTP执行上下文
- 大数据开发—常见问题(4)
- 《HttpClient官方文档》1.1 执行请求(一)
- 《HttpClient官方文档》1.1 执行请求(二)
- 《Jersey用户指南》–序言
- 《循序渐进学Spark 》Spark 编程模型
- python 文件操作
- 《Python数据挖掘:概念、方法与实践》扩展你的数据挖掘工具箱