Starting From 0 Learning Python(The Fourth Day)
The Fourth Day(第四天)
2016Year 11 Month 30Day Wednesday(2016年11月30日 星期三)
Hello everybody!(大家好!)
Today is 我在书上正式学习 the fourth day of the Python(Python的第四天)。
2.4 数字
在编程中,经常使用数字来记录游戏得分、表示可视化数据、存储 Web 应用信息等。 Python 根据数字的用法以不同的方式处理它们。鉴于整数使用起来最简单,下面就先来看看 Python 是如何管理它们的:
2.4.1 整数
在 Python 中,可对整数执行 加(+) 减(-) 乘(*) 除(/) 运算。
在终端会话中, Python 直接返回运算结果。 Python使用两个乘号表示乘方运算:
Python 还支持运算次序,因此你可在同一个表达式中使用多种运算。你还可以使用括号来修改运算次序,让 Python 按你指定的次序执行运算,如下所示:
在这些示例中,空格不影响 Python 计算表达式的方式,它们的存在旨在你阅读代码时,能迅速确定先执行哪些运算。
2.4.2 浮点数
Python 将带小数点的数字都称为 浮点数 。大多数编程语言都使用了这个术语,它指出了这样一个事实:小数点可出现在数字的任何位置。每种编程语言都须细心设计,以妥善地处理浮点数,确保不管小数点出现在什么位置,数字的行为都是正常的。从很大程度上说,使用浮点数时都无需考虑其行为。你只需输入要使用的数字, Python 通常都会按你期望的方式处理它们。
但需要注意的是,结果包含的小数位数可能是不确定的:
所有语言都存在这种问题,没有什么可担心的。 Python 会尽力找到一种方式,以尽可能精确地表示结果,但鉴于计算机内部表示数字的方式,这在有些情况下很难。就现在而言,暂时忽略多余的小数位即可;
2.4.3 使用函数 str() 避免类型错误
你经常需要在消息中使用变量的值。Example(例如),假设你要祝人生日快乐,可能会编写类似于下面的代码:
你可能认为,上述代码会打印一条简单的生日祝福语:Happy 23rd birthday! 。但如果你运行这些代码,将发行它们会引发错误:
这是一个类型错误,意味着 Python 无法识别你使用的信息。在这个示例中, Python 发现你使用了一个值为整数 (int) 的变量,但它不知道该如何解读这个值(见上图第四行提示)。 Python 知道,这个变量表达的可能是数值 23,也可能是字符2 and 3 。像上面这也在字符串中使用整数时,需要显示地指出你希望 Python 将这个整数用作字符串。因此,可调用函数 str() ,它让 Python 将非字符串值表示为字符串:
这样, Python 就知道你要将数值23转换成字符串,进而在生日祝福消息中显示字符2 and 3.经过上述处理后,将显示你期望的信息,而不会引发错误:
大多数情况下,在Python中使用数字都非常简单。如果结果出乎意料,请检查 Python 是否按你期望的方式将数字解读为了数值或字符串。
2.4.4 Python 2 中的整数
在 Python 2 中,将两个整数相除得到的结果稍有不同:
在 Python 2 中,整数除法的结果只包含整数部分,小数部分被删除。请注意,计算整数结果时,采取的方式不是四舍五入,而是将小数部分直接删除。在 Python 2 中,若要避免这种情况,务必确保至少有一个操作为浮点数,这也结果也将为浮点数。从 Python 3 转而用 Python 2 时,这种除法行为常常令人迷惑。使用或编写同时使用浮点数和整数的代码时,一定要注意这种异常行为。
动手试一试
2-8 数字8:编写4个表达式,它们分别使用加法,减法,乘法,除法运
算,但结果都是8.为使用 print 语句来显示结果,务必将这些表达式用
括号括起来,也就是说,你应该编写4行类似下面的代码:
输出应为4行,其中每行都只包含数字9.
2-9 最喜欢的数字:将你最喜欢的数字存储在一个变量中,再使用这个变量创建
一条消息,指出你最喜欢的数字,然后将这条消息打印出来。
下面是我做的动手试一试的练习答案、如果有需要的朋友可以下载看看,如果我做的有错的地方请指点!谢谢!
链接:http://pan.baidu.com/s/1qY4JF9i 密码:1eq7
如果链接失效请联系我!
2.5 注释
在大多数编程语言中,注释都是一项很有用的功能。本书前面编写的程序中都只包含 Python 代码。但随着程序越来越大、越来越复杂,就应在其中添加说明,对你解决问题的方法进行大致的阐述。
注释
让你能够使用自然语言在程序中添加说明。细心的朋友会发现我基本在每行代码都添加了注释
2.5.1 如何编写注释
在 Python 中,注释用井号(#) 标识。井号后面的内容都会被Python解释器忽略,如下所示:
Python 解释器将忽略第1行,只执行第2行。
2.5.2 该编写什么样的注释
编写注释的主要目的是阐述代码要做什么,以及是如何做的。在开发项目期间,你对各个部分如何协同工作了如指掌,但过段时间后,有些细节你可能不记得了。当然,你总是可以通过研究代码来确定各个部分的工作原理,但通过编写注释,以清晰的自然语言对解决方案进行概述,可节省很多时间。要成为专业程序员或与其他程序员合作,就必须编写有意义的注释。当前,大多数软件都是合作编写的,编写者可能是同一家公司的多名员工,也可能是众多致力于同一个开源项目的人员。训练有素的程序员都希望代码中包含注释,因此你最好从现在开始就在程序中添加描述性注释。作为新手,最值得养成的习惯之一是,在代码中编写清晰、简洁的注释。如果不确定是否要编写注释,就问问自己,找到合理的解决方案前,是否考虑了多个解决方案。如果答案是肯定的,就编写注释对你的解决方案进行说明吧。相比回过头再去添加注释,删除多余的注释要容易得多。从现在开始,本书的示例都将使用注释来阐述代码的工作原理。
动手试一试
2-10 添加注释:选择你编写的两个程序,在啊每个程序中都至少添加一条注释。如果程序太简单,实在没有什么需要说明的,就在程序文件开头加上你的姓名和当前日期,再用一句话阐述程序的功能。
2.6 Python 之禅
编程语言 Perl 曾在互联网领域长期占领者统治地位,早期的大多数交互式网站使用的都是 Perl 脚本。彼时,“解决问题的办法有多个” 被 Perl 社区奉为座右铭。这种理念一度深受大家的喜爱,因为这种语言固有的灵活性使得大多数问题都有很多不同的解决之道。在开发项目期间,这种灵活性是可以接受的,但大家最终人数到,过于强调灵活会导致大型项目难以维护:要通过研究代码搞清楚当时解决复杂问题的人是怎么想的,既困难又麻烦,还会耗费大量时间。经验丰富的程序员倡导尽可能避繁就简。 Python 社区的理念都包含在 Tim Peters 撰(zhuàn)写的“Python 之禅”中。要获悉这些有关编写优秀 Python 代码的指导原则,只需在解释器中执行命令 import this 。这里不打算赘(zhuì)述整个“Python 之禅”,而只与大家分享其中的几条原则,让你明白为何它们对 Python 新手来说至关重要。
Python 程序员笃(dǔ)信代码可以编写得漂亮而优雅。编程是要解决问题的,设计良好、高效而漂亮的解决方案都会让程序员心生敬意。随着你对 Python 的认识越来越深入,并使用它来编写越来越多的代码,有一天也许会有人站在你后面惊呼:“哇,代码编写得真是漂亮!”
如果有两个解决方案,一个简单,一个复杂,但都行之有效,就选择简单的解决方案吧。这样,你编写的代码更容易维护,你或他人以后改进这些代码时也会更容易。
现实是复杂的,有时候可能没有简单的解决方案。在这种情况下,就选择最简单可行的解决方案吧。
即便是复杂的代码,也要让它易于理解。开发的项目涉及复杂代码时,一定要为这些代码编写有益的注释。
如果让两名 Python 程序员去解决同一个问题,他们提供的方案应大致相同。这并不是说编程没有创意空间,而是恰恰相反!然而,大部分编程工作都是使用常见解决方案来解决简单的小问题,但这些小问题都包含在更庞大、更有创意空间的项目中。在你的程序中,各种具体细节对其他 Python 程序员来说应易于理解。
你可以将余生都用来学习 Python 和编程的纷繁难懂之处,但这样你什么项目都完不成。不要企图编写完美无缺的代码;先编写行之有效的代码,再决定是对其做进一步改进,还是转而去编写新代码。等你进入下一章。开始研究更复杂的主题时,务必牢记这种简约而清晰的理念。如此,经验丰富的程序员将对你编写的代码心生敬意,进而乐意向你提供反馈,并与你合作开发有趣的项目。
动手试一试
2-11 Python 之禅:在 Python 终端会话中执行命令 import this
,并粗略的浏览一下其他的指导原则。
2.7 小结
在本章中,你学习了:如何使用变量;如何创建描述性变量名以及如何消除名称错误和语法错误;字符串是什么,以及如何使用小写、大写和首字母大写方式显示字符串;使用空白来显示整洁的输出,以及如何剔除字符串中多余的空白;如何使用整数和浮点数;使用数值数据时需要注意的意外行为。你还学习了如何编写说明性注释,让代码对你和其他人来说更容易理解。最后,你了解了让代码尽可能简单的理念。在第3章中,你将学习如何在被称为列表的变量中储存信息集,以及如何通过编写列表来操作其中的信息
Starting From 0 Learning Python(The Fourth Day)相关推荐
- python从0开始学编程第三天第9讲_【原创笔记1】Python从0学起——Starting from 0 learning Python(The First Day)...
本帖最后由 ShadowY 于 2017-1-11 16:33 编辑 The First Day(第一天)2016Year 11Month 27Day SundayHello everybody!(大 ...
- CloudSim4.0 Learning(1)
CloudSim4.0 Learning(1) 文章目录 *CloudSim4.0 Learning(1)* *Example1* *1 CloudSim初始化* *1.1 CloudSim.init ...
- lynda.com教程之Learning Python and Django_手把手零基础搭建Django项目
www.lynda.com作为全球一流的在线培训网站,一直以高质量的视频课程著称.其课程内容也是紧跟行业潮流,本人最近学了里面的一门课程Learning Python and Django, 分享一下 ...
- 【Day 5 of Learning Python 】列表
5.1 什么是列表 列表是装载任何元素的容器.元素之间可以无关系. 在Python中,我们用方括号 [ ] 来表示列表,用 , 分割列表中不同的元素. 例如: # 定义一个列表,名为name,并 ...
- Tomcat端口被占用:starting Tomcat8.0 server at localhost has encountered a problem
#8005,8009,8080端口被占用问题: starting Tomcat8.0 server at localhost has encountered a problem! Several po ...
- learning python学习小记(一)
python是一种高效的语言.尽管其运行效率比传统的语言差,但是由于其开发的高效性和简单性让程序员在开发过程中节省很多时间,所以python非常受欢迎.程序员的时间是非常有限的,提高程序员开发的效率非 ...
- Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级
前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...
- Learning Python 学习Python Lynda课程中文字幕
Learning Python 中文字幕 学习Python 中文字幕Learning Python Python–流行且易读性强的面向对象语言 - 既强大又易于学习 无论您是编程新手还是有经验的开发人 ...
- 为什么python编译fourth = raw.input(‘Year: ‘)[3]时会报错
最近在学习Python,我用的是教材是:Python基础教程(第二版)作者是[挪]Magnus Lie Hetland 由司维 增军崴 谭颖华翻译.我现在使用的Python版本为:Python 3.8 ...
最新文章
- Linux 安装Resin4.0.40
- 【转】Tomcat7启动的总过程 (有时间自己写下tomcat8的)
- 苹果wwdc2019_我从苹果中学到的东西拒绝了我获得WWDC的奖学金
- Scala学习笔记03:操作符
- 3-6Tensor的属性稀疏的变量的编程
- hdu 4027 Can you answer these queries?
- DELMIA软件:机器人抓手工具制作
- 2020中青杯B题股指与国家经济数学建模全过程文档及程序
- 小米8,全面屏手机判断是否显示虚拟键
- 什么是cc攻击以及个人网站遭到cc攻击的解决方法
- Windows端口 说明
- 记一次Oracle 11g xe 导出导入使用过程
- 建立arm linux运行环境,构建 arm-linux 仿真运行环境 (skyeye + arm-linux + NFS)
- 初学者如何开发一个好的J2EE项目
- 笔记 shell基础应用,texturePacker 命令批量打包打包
- mysql utf8mb4 bin_Mysql的utf8与utf8mb4区别,utf8mb4_bin、utf8mb4_general_ci与utf8mb4_unicode_ci的选择...
- Python3获取5000个元素的单字符表
- 初识whistle代理工具
- 适合小白的PPT基本操作
- pso算法matlab程序,基本PSO算法的matlab源程序
热门文章
- 芋道源码的周天(2018.06.06)
- Linux 内核升级全过程(2.4.20-8到2.6.18)
- 23.(cesium之家)cesium城市建筑物光效
- 服务器光口自协商协议,千兆光口自协商过程
- 首个微信小程序开发教程!
- 2,GuardedMain(大象无形9.2)
- 大象无形 01.Unreal主要的C++类
- linux火狐怎么查看源代码,Firefox查看源代码的快捷键是什么
- 奶爸日记16 - 突然懂事了
- Windows使用公网IPv6建站过程