Python编程和数学有什么关系呢?Python的起源是怎样的呢?
我们先来简单认识一下Python,和Python交个朋友。
Python的全拼是P—Y—T—H—O—N,发音是Python,汉语解释是蟒蛇的意思。
我们再来看Python的图标,下图Python的图标,Python的图标看上去也是蛇。
同学们可能会感到比较奇怪,Python是一门编程语言,编程语言和蟒蛇有什么关系呢?
把编程语言和蟒蛇联系起来的是荷兰人吉多·范罗苏姆,英文读音是Guido van Rossum,他是一名计算机程序员。
在1989年的圣诞期间,吉多休假在家,吉多不是一个可以闲得住的人。他一直在考虑如何对ABC语言进行改进,ABC语言是由荷兰数学与计算机科学国家研究所研制的编程语言,它主要用于编程教学使用,吉多想对ABC语言进行改进,改进的语言不但能用于教学,而且可以用于应用开发。
于是他在1989年开始编写Python语言。到1991年第一个Python解释器诞生,吉多整整用了两年左右的时间研发Python语言。
对外发布新的编程语言,需要给编程语言起个名称,当时吉多迷上了英国肥皂剧《Monty Python飞行马戏团》,他就从这个肥皂剧的名称中选择了Python。Monty Python是英国六人喜剧团体,他们制作的肥皂剧在七、八十年代特别受欢迎,吸引了众多的粉丝,吉多就是其中的粉丝之一。因此,新的编程语言被吉多命名为Python,也就不足为怪了。
下图是Monty Python飞行马戏团的海报。
前面我们知道了Python的创始人是荷兰人吉多·范罗苏姆,Python语言是在ABC语言的基础上创建的新的编程语言,由此可见Python语言本身就与数学密切相关。
我们再来看一看编程与数学的关系。
1、数值计算与编程
同学们现在接触最多的数学知识就是四则运算,四则运算也称为数值计算,不过同学们现在接触的都是简单的数值计算,很容易利用笔算或口算来完成数值计算。
复杂的数值计算包括解多元方程组、积分、微分等运算,这些复杂的数值计算,同学们在高中和大学才能接触到。这类复杂计算有时依靠人的脑力很难计算,需要借助于计算机并编写计算程序才能完成,一些运算量比较大的简单四则运算也需要借助程序来完成运算。
下面我们来看一个随着n的增大,运算量越来越大的四则运算。
现在我们做个简单的乘法运算,我们先从2开始:
先做2X1运算,运算的值是2;
再做3X2X1运算,运算的值是6;
继续做4X3X2X1运算,运算的值是24;
再做5X4X3X2X1运算,运算的值是120;
一直到nX(n-1)X(n-2)X3X2X1的运算,这里的n是指自然数1、2、3、4、5、6、……
类似上面的运算也称为阶乘运算,阶乘运算是所有小于及等于该数的自然数的积。例如自然数6的阶乘运算是:
6 X 5 X 4 X 3 X 2 X 1 = 720
当n的值超过20时,依靠人力运算已经很困难了,这时就需要借助计算机程序来完成运算了。
下面的Python代码用于求阶乘运算,factorial(n)是求阶乘运算的函数,n是要求阶乘的自然数, n是指自然数1、2、3、4、5、6、……。
同学们可以先不用理解这段代码及factorial(n)函数,在后面的课程我们会详细讲述,在这里主要是理解用编程来实现数值计算的意义。
def factorial(n):fac = 1 for i in range(1,n + 1): fac = fac*i return fac
下图是在Python Shell窗口编写的factorial(n)函数代码,并利用factorial(n)函数分别计算了自然数6、10、20、100的阶乘。从计算结果可以看出,20的阶乘计算结果已经是天文数了,100的阶乘结果有上百位数,是一个非常大、非常大的数了。可见,复杂的数值计算或运算量很大的数值计算都需要通过编写计算机程序来完成计算。
2、数学模型与编程
同学们有没有想过,我们为什么要学习数学,学习数学的目的是什么呢?
学习数学仅仅是为了认识数字,会写会算吗?我相信大多数同学不会赞同我的回答。我们学习数学不只是要认识数字,会写会算,还要能通过学过的数学知识解决现实中存在的问题,将现实生活中的问题转化为数学问题并予以解决。
这就要求对现实生活中的问题进行数学建模,并验证模型的正确性。数学模型的实现与验证一般都是通过计算机编程来实现。
一个完整的数学建模过程主要有三部分组成:
1、用适当的方法对实际问题进行描述;
2、采用各种数学和计算机手段求解模型;
3、验证模型运行的正确性。
同学们来看一个简单的数学建模案例。
问题描述:给出任意一个年份,如2019年、2016年等,判断出该年份是否是闰年?
要解决这个问题,首先要找出年份与闰年的规律,即年份与闰年有什么规律可遵循,然后将规律转换为数学模型。规律已经被总结出来:一是年份可以被400整除的是闰年;二是年份被4整除但不能被100整除的是闰年。这就建立了数学模型,也就是求解模型。
有了数学模型,我们就可以利用数学模型来求解问题,也就是验证模型的正确性。
例如,我们来判断2016年是否是闰年,根据判断闰年的数学模型,首先判断2016是否能被400整除,2016不能被400整除。再判断2016是否能被4整除,并且不能被100整除,我们发现2016既能被400整除,并且不能被100整除,因此2016是闰年。
如果每次都需要人工运算,就比较麻烦了,可以通过编写程序来求解模型。
下面就是根据判断闰年的数学模型编写的Python代码,同学们现在暂时可以先不用理解代这段代码。
def leapyear(year):if year % 400 == 0: return "闰年" elif year % 4 == 0 and year % 100 !=0: return "闰年" return "不是闰年"
下图是在Python Shell窗口编写的leap(year)函数代码,并利用leap(year)函数分别判断2016年、2018年、2019年、2000年是否是闰年。
3、数学实验与编程
用编程可以求解数学模型,解决现实问题。同学们也可以通过编程建立数学实验,帮助同学们提高抽象思维和空间想象能力。
抽象能力和空间想象能力对学好数学非常重要,尤其对小学的同学们来说,是培养抽象能力和空间想象非常重要的阶段。
要提高抽象能力和空间想象能力,数学实验是很重要的方法。
例如:在我们不识数的时候,爸爸妈妈会让我们数指头,数苹果、数人数等等,这就是数学实验。通过数数我们逐渐理解了1、2、3、4、5、6等数字的概念,数字是个抽象的概念。说它抽象,是因为数字是看不见、摸不着的,虽然可以把数字的符号写在纸上,但这个数字符号并没有和我们所熟知的自然界的事物联系起来。
通过数数这个数学实验,同学们就会把数字符号和对应的几个苹果、几个手指、几个人等联系起来,也就自然理解了数字的概念。
现在不少初中要学的数学知识,已经提前渗透在了小学各个年级。例如:各类平面图形的认识、各类立体图形的认识、四边形的周长计算、旋转平移等,也会在这个阶段出现,这些数学知识都需要具备抽象思维和空间想象能力才能学好。
但在一些同学头脑当中,还根本没有建立起抽象思维和空间想象能力,这对于打好数学基础,进而在初中乃至高中学好数学,是十分不利的。
在这种情况下,数学实验就非常重要了。这是就需要借助计算机编程建立数学实验室,用图形、简单动画、计算过程步骤的展现来理解前面所说的数学知识。
给同学们看一个简单的物体平移的动画例子,来理解数学实验对学好数学的重要性。
笑脸当前在A点,现在让笑脸由A点移动到B点。通过动画,同学们很容易理解图形平移的概念。
这种图形的平移动画就是图形平移的数学实验。
同学们学会编程后,可以通过编程实现这样的动画,编写类似的数学实验。
编程是学好数学的重要工具
同学们,编程是学好数学的一个非常重要的工具。
通过编程可以提高人的逻辑思维和抽象思维,而逻辑思维和抽象思维是学好数学的前提。
同学们在学习数学的过程中,可以通过学到的编程知识,来求解和验证数学模型,也可以构建数学实验,将抽象的数学知识通过动画、图形展现出来,在感知和抽象中架起一座桥梁,用于更好地理解数学概念。
关于Python学习指南
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!
👉Python所有方向的学习路线👈
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python70个实战练手案例&源码👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉Python大厂面试资料👈
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉Python副业兼职路线&方法👈
学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。
👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取【保证100%免费
】
点击免费领取《CSDN大礼包》:Python入门到进阶资料 & 实战源码 & 兼职接单方法 安全链接免费领取