Python 世界的开端:四则运算

编者按:本文基于Python2.x,与Python3.x存在差异。时间仓促未能及时更新,请观看时注意分辨。我们将尽快更新。

用Python计算

一提到计算机,当然现在更多人把她叫做电脑,这两个词都是指computer。不管什么,只要提到她,普遍都会想到她能够比较快地做加减乘除,甚至乘方开方等。乃至于,有的人在口语中区分不开计算机和计算器。

那么,做为零基础学习这,也就从计算小学数学题目开始吧。因为从这里开始,数学的基础知识列为肯定过关了。

复习

还是先来重温一下伟大时刻,打印hello world.

打开电脑,让Python idle运行起来,然后输入:

>>> print 'Hello, World'
Hello, World

细心的看官,是否注意到,我在这里用的是单引号,上次用的是双引号。两者效果一样,也就是在这种情况下,单引号和双引号是一样的效果,一定要是成对出现的,不能一半是单引号,另外一半是双引号。

四则运算

按照下面要求,在ide中运行,看看得到的结果和用小学数学知识运算之后得到的结果是否一致

>>> 2+5
7
>>> 5-2
3
>>> 10/2
5
>>> 5*2
10
>>> 10/5+1
3
>>> 2*3-4
2

上面的运算中,分别涉及到了四个运算符号:加(+)、减(-)、乘(*)、除(/)

另外,我相信看官已经发现了一个重要的公理:

在计算机中,四则运算和小学数学中学习过的四则运算规则是一样的

要不说人是高等动物呢,自己发明的东西,一定要继承自己已经掌握的知识,别跟自己的历史过不去。伟大的科学家们,在当初设计计算机的时候就想到列为现在学习的需要了,一定不能让后世子孙再学新的运算规则,就用小学数学里面的好了。感谢那些科学家先驱者,泽被后世。

下面计算三个算术题,看看结果是什么

  • 4 + 2
  • 4.0 + 2
  • 4.0 + 2.0

看官可能愤怒了,这么简单的题目,就不要劳驾计算机了,太浪费了。

别着急,还是要在ide中运算一下,然后看看结果,有没有不一样?要仔细观察哦。

>>> 4+2
6
>>> 4.0+2
6.0
>>> 4.0+2.0
6.0

不一样的地方是:第一个式子结果是6,后面两个是6.0。

现在我们就要引入两个数据类型:整数和浮点数

对这两个的定义,不用死记硬背,google一下。记住爱因斯坦说的那句话:书上有的我都不记忆(是这么的说?好像是,大概意思,反正我也不记忆)。后半句他没说,我补充一下:忘了就google。

定义1:类似4、-2、129486655、-988654、0这样形式的数,称之为整数
定义2:类似4.0、-2.0、2344.123、3.1415926这样形式的数,称之为浮点数

比较好理解,整数,就是小学学过的整数;浮点数,就是小数。如果整数写成小数形式,比如4写成4.0,也就变成了浮点数。

爱学习,就要有探索精神。看官在网上google一下整数,会发现还有另外一个词:长整数(型)。顾名思义,就是比较长的整数啦。在有的语言中,把这个做为单独一类区分开,但是,在Python中,我们不用管这个了。只要是整数,就只是整数,不用区分长短(以前版本区分),因为区分没有什么意思,而且跟小学学过的数学知识不协调。

还有一个问题,需要向看官交代一下,眼前可能用不到,但是会总有一些人用这个来忽悠你,当他忽悠你的时候,下面的知识就用到了。

整数溢出问题

对于其它语言,整数溢出是必须正视的,但是,在Python里面,看官就无忧愁了,原因就是Python为我们解决了这个问题。

ok!看官可以在IDE中实验一下大整数相乘。

>>> 123456789870987654321122343445567678890098876*1233455667789990099876543332387665443345566
152278477193527562870044352587576277277562328362032444339019158937017801601677976183816L

看官是幸运的,Python解忧愁,所以,选择学习Python就是珍惜光阴了。

上面计算结果的数字最后有一个L,就表示这个数是一个长整数,不过,看官不用管这点,反正是Python为我们搞定了。

在结束本节之前,有两个符号需要看官牢记(不记住也没关系,可以随时google,只不过记住后使用更方便)

  • 整数,用int表示,来自单词:integer
  • 浮点数,用float表示,就是单词:float

可以用一个命令:type(object)来检测一个数是什么类型。

>>> type(4)
<type 'int'> #4是int,整数
>>> type(5.0)
<type 'float'> #5.0是float,浮点数
type(988776544222112233445566778899887766554433221133344455566677788998776543222344556678)
<type 'long'> #是长整数,也是一个整数

几个常见函数

在这里就提到函数,因为这个东西是经常用到的。什么是函数?如果看官不知道此定义,可以去google。貌似是初二数学讲的了。

有几个常用的函数,列一下,如果记不住也不要紧,知道有这些就好了,用的时候就google。

求绝对值

>>> abs(10)
10
>>> abs(-10)
10
>>> abs(-1.2)
1.2

四舍五入

>>> round(1.234)
1.0
>>> round(1.234,2)
1.23

>>> #如果不清楚这个函数的用法,可以使用下面方法看帮助信息
>>> help(round)

Help on built-in function round in module __builtin__:

round(…)
round(number[, ndigits]) -> floating point number

Round a number to a given precision in decimal digits (default 0 digits).
This always returns a floating point number. Precision may be negative.

幂函数

>>> pow(2,3) #2的3次方
8

math模块(对于模块可能还有点陌生,不过不要紧,先按照下面代码实验一下,慢慢就理解了)

>>> import math #引入math模块
>>> math.floor(32.8) #取整,不是四舍五入
32.0
>>> math.sqrt(4) #开平方
2.0

总结

  • Python里的加减乘除按照小学数学规则执行
  • 不用担心大整数问题,Python会自动处理
  • type(object)是一个有用的东西

————

本文完,如果你想继续学习,可以点击下面的链接,继续看:

相关新闻

历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、云原生、Go、Python开发专业人才培训机构!