跟老齐学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使用psutil模块获取系统状态
Aug 27 Python
Python 安装setuptools和pip工具操作方法(必看)
May 22 Python
Python 编码规范(Google Python Style Guide)
May 05 Python
python实现彩票系统
Jun 28 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
Sep 04 Python
python3实现爬取淘宝美食代码分享
Sep 23 Python
程序员写Python时的5个坏习惯,你有几条?
Nov 26 Python
python 自动重连wifi windows的方法
Dec 18 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
Feb 18 Python
python regex库实例用法总结
Jan 03 Python
python 获取计算机的网卡信息
Feb 18 Python
进行数据处理的6个 Python 代码块分享
Apr 06 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之Smarty入门
2007/01/04 PHP
PHP调用MySQL的存储过程的实现代码
2008/08/12 PHP
ajax+php控制所有后台函数调用
2015/07/15 PHP
实例讲解php数据访问
2016/05/09 PHP
jquery 结合C#后台的数组对文章的关键字自动添加链接的代码
2011/07/15 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
2011/12/08 Javascript
判断是否安装flash player及当前版本的JS代码
2013/08/08 Javascript
js 数组操作之pop,push,unshift,splice,shift
2014/01/29 Javascript
属于你的jQuery提示框(Tip)插件
2016/01/20 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
JS中type=&quot;button&quot;和type=&quot;submit&quot;的区别
2017/07/04 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
[36:29]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs TNC
2018/04/02 DOTA
[01:04:20]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.29
2020/12/02 DOTA
零基础写python爬虫之使用Scrapy框架编写爬虫
2014/11/07 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
2019/08/14 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
python时间与Unix时间戳相互转换方法详解
2020/02/13 Python
BabyBjörn婴儿背带法国官网:BabyBjorn法国
2018/06/16 全球购物
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
作文评语集锦大全
2014/04/23 职场文书
酒店餐厅2014重阳节活动策划方案
2014/09/16 职场文书
社区党建工作汇报材料
2014/10/27 职场文书
党的群众路线专项整治方案
2014/11/03 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
go web 预防跨站脚本的实现方式
2021/06/11 Golang
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python
MySQL千万级数据表的优化实战记录
2021/08/04 MySQL
python实现双向链表原理
2022/05/25 Python