Python基础教程(第2版)学习笔记_001
时间:2011-03-17 来源:谢晖
今天正式开始Python语言的学习,无法预测我会坚持到哪天、自己的水平会到哪个地方、对算法也不熟悉、对数据结构更是一无所知,自己也非常清楚自己哪些地方存在不足:①数据结构、算法一点基础也没有;②英语更是一塌糊涂;③学习过程中非常容
易见异思迁;④有太多的软件或事情会干扰我的学习过程。但凡事都有个开头,不开始做就永远也不会开始,所以就从今天开始我的Python之旅吧。
整体的打算是从头到尾将Python基础教程(第2版)认真的学习一遍,并且每天写一笔记学习笔记,每25页打印一次学习材料,然后将这25页尽力学习、掌握。
学习笔记主要是记录自己学习过程中对源程序的验证与拓展。
1.关于print命令:("#"开头的注释,其右边的一切均不被执行,而只当作注释用.)
#键入命令
print "Hello,World !" #输出Hello,World !
print ("Hello,World !") #一样也可以被执行,并输出同样结果
2.数字与表达式
(1)加号/减号/乘号的运用不再详述,重点要掌握Python中的除号的应用,与平常的思考不一样.
输入表达1/2会输出0,为什么呢?默认在Python中一个整数(无小数部分的数)被另一个整数除,计算结果的小数部分被截掉,只留下整数部分,而1/2的正确结果应是0.5,被截掉小数部分,自然只剩下整数部分了,但是普通的除法(平常的思考)如何出来呢?
书中提到有两种有效的解决方法,第1种很好理解,就是在输入1/2,改成1.0/2.0或只要分子或分母有一个为实数(Python中称为浮点数Float,或者Float-point Number)即可按普通的除法进行运算.
1.0/2.0或1/2.0或1.0/2或1/2.均可(注意最后一种表达式!!)
第2种我试着在程序中输入,但总提示错误,不知道什么原因,我刚才翻看了一下书的后面,好像有关于这个的解释,现在先把命令写在这儿,等后面再解释,书中提到在1.9.2节中会有深入的解释.
from _future_ import division
(2)取余运算符%
取余的总是除法运算的余数,很好理解,这个主要是用在判断诸如"每10分钟"检查一次的操作,直接检查时间%10的结果是否为0就可以了.
整数的取余运算很简单,关键是浮点数的运算:
2.75%0.5的结果是0.25,即0.5*5+0.25=2.75,故余数为0.25
(3)幂(就是乘方)运算符**
2**3表示2的3次方,所以不论几次方都可以写成类似的表达,如10的100次方就可以写成10**100
对于(1)/(2)/(3)三种情况,如果考虑优先级的话,可以通过加括号来改变优先级.一般来说括号的里面表达式优先级最高.
(4)长整形数
Python可以处理非常大的整数.普通整数不能大于2147483647(也不能小于-2147483648),如果需要大数,可以使用长整形数.
长整形数的书写方式和普通整数一样,但结尾有个L(用小写的l也可以,但是它看起来太像数字1,所以建议不要用小写l.)
(5)变量
x=3表示值3赋给了变量x.另外一个说法就是:将变量x绑定到了值(或者对象)3上面.在变量被赋值之后,就可以在表达式中使用变量.
x*3,直接输出6
注意,在使用变量之前,需要对其赋值,毕竟使用没有值的变量也没有意义.
变量的命名可以包括字母/数字/下划线(_),但不能以数字开头.
(6)语句
语句与表达式之间的区别在赋值时会表现的更加明显一些,因为语句不是表达,所以没有值可供交互式解释器打印出来:
输入x=3后,解释器无任何反应,只是回到提示符而已,但x=3语句是告诉Python:请将值3赋给变量x,就是这样.
语句特性的一般定义:它们改变了事物.比如,赋值语句改变了变量,print语句改变了屏幕显示的内容.
赋值语句可能是任何计算程序设计语言中最重要的语句类型,尽管现在还难以说清它们的重要性.
变量就像蜊时的”存储器”,它的强大之片就在于,在操作变量的时候并不需要知道它们存储了什么值.比如,即使不知道x和y的到底是多少,也会知道x*y的结果就是x和y的乘积.所以可以在程序中通过多种方法来使用变量,而不需要知道在程序运行的时候,最终存储(或引用)的值到底是什么.