跟老齐学Python之用Python计算


Posted in Python onSeptember 12, 2014

一提到计算机,当然现在更多人把她叫做电脑,这两个词都是指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'>  #是长整数,也是一个整数

总结

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

Python 相关文章推荐
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
Aug 15 Python
Python中实现字符串类型与字典类型相互转换的方法
Aug 18 Python
Python拼接字符串的7种方法总结
Nov 01 Python
使用Django简单编写一个XSS平台的方法步骤
Mar 25 Python
python操作日志的封装方法(两种方法)
May 23 Python
python中 * 的用法详解
Jul 10 Python
利用matplotlib实现根据实时数据动态更新图形
Dec 13 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
解决Django no such table: django_session的问题
Apr 07 Python
python 获取字典键值对的实现
Nov 12 Python
Python中过滤字符串列表的方法
Dec 22 Python
Python 图片添加美颜效果
Apr 28 Python
跟老齐学Python之集成开发环境(IDE)
Sep 12 #Python
跟老齐学Python之Python安装
Sep 12 #Python
python里大整数相乘相关技巧指南
Sep 12 #Python
python里对list中的整数求平均并排序
Sep 12 #Python
python里将list中元素依次向前移动一位
Sep 12 #Python
python time模块用法实例详解
Sep 11 #Python
python+mysql实现简单的web程序
Sep 11 #Python
You might like
PHP 木马攻击防御技巧
2009/06/13 PHP
php foreach 使用&amp;(与运算符)引用赋值要注意的问题
2010/02/16 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
2013/04/13 PHP
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
PHP版本如何选择?应该使用哪个版本?
2015/05/13 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
php并发加锁问题分析与设计代码实例讲解
2021/02/26 PHP
JAVASCRIPT IE 与 FF中兼容问题小结
2009/02/18 Javascript
JavaScript的模块化:封装(闭包),继承(原型) 介绍
2013/07/22 Javascript
jquery性能优化高级技巧
2015/08/24 Javascript
深入理解Javascript中的valueOf与toString
2017/01/04 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
JS库 Highlightjs 添加代码行号的实现代码
2017/09/13 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
详解vue v-model
2020/08/31 Javascript
[49:08]Secret vs VP 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python中针对函数处理的特殊方法
2014/03/06 Python
python网络编程学习笔记(四):域名系统
2014/06/09 Python
python中日志logging模块的性能及多进程详解
2017/07/18 Python
轻松理解Python 中的 descriptor
2017/09/15 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
Python实现的基于优先等级分配糖果问题算法示例
2018/04/25 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
Python中的整除和取模实例
2020/06/03 Python
M1芯片安装python3.9.1的实现
2021/02/02 Python
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
商务英语应届生自我鉴定
2013/12/08 职场文书
高中学生期末评语
2014/04/25 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
基于JavaScript实现年月日三级联动
2021/06/22 Javascript
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android