前段时间在LearnStreet网络学习平台上学习了Python入门课程《Python for Beginners》,对Python语言有了一个初步的认识。接下来将以《Python基础教程》(第2版)为主要参考书,对Python语言进行更为深入地学习。《Python基础教程》读书笔记系列文章将针对每一章中重要的知识点进行记录和整理。文章中的编程练习是在基于Python2.7.3版本的交互式解释器中进行的。
第1章 基础知识
1. 双斜线操作符// (P9)
作用:实现整除操作,无论操作数是整数还是浮点数。
如:
>>> 7.0 / 2.0
3.5
>>> 7.0 // 2.0
3.0
>>> 7 // 2
3
注意:浮点数整除后结果显示还是浮点数,整数进行整除后结果仍为整数。
如:
>>> 7.0 // 2.0 / 2
1.5
>>> 7 // 2 / 2
1
2. 在Python中,取余运算符对浮点数也同样适用。(P9)
如:
>>> 3.5 % 2
1.5
>>> 3.5 % 2.5
1.0
3. 幂(乘方)运算符 (P9)
如:
>>> 2**3
8
>>> -3**2
-9
>>> (-3)**2
9
注意:幂运算符比取反的优先级高,所以-3**2等同于-(3**2)。
4. 一次可以对多个变量进行赋值。(附录A P444)
如:
>>> x,y,z = 1,2,3
>>> print x,y,z
1 2 3
>>> x,y = y,x
>>> print x,y,z
2 1 3
5. input语句的使用方法 (P12)
如:
>>> x = input("x: ")
x: 20
>>> y = input("y: ")
y: 3
>>> x*y
60
注意:本例中,20 和 3 是通过键盘输入的值。
6. 在交互式Python解释器内使用if语句,需要按两次回车,if语句才能执行。(P13)
7. 导入模块 (P14)
用import导入模块,然后按照“模块.函数”的格式使用这个模块的函数。此外,还可以使用变量来引用函数。
如调用math模块中的函数:
>>> import math
>>> math.floor(32.9)
32.0
>>> math.ceil(32.1)
33.0
>>> foo = math.sqrt
>>> foo(4)
2.0
8. 复数计算 (P15)
Python语言本身就提供了对复数的支持,其中虚数均以j(或者J)结尾。另外,Python中没有单独的虚数类型,它们被看作实数部分为0的复数。
例如:
>>> (1+3j) * (9+4j)
(-3+31j)
9. 单引号和双引号
Python中的单引号和双引号的作用没有本质区别,主要方便引号的嵌套使用。另外可以使用反斜线(\)对字符串中的引号进行转义。(P19)
如果需要写一个非常长的字符串,它需要跨多行,那么可以使用三个单引号(或三个双引号)代替普通引号。(P22)
10. 所有通过Python打印的字符串是被引号括起来的,这是因为Python打印值的时候会保持该值在Python代码中的状态。如果使用print语句,则结果就不同了。(P20)
11. str()、repr()和反引号(`)是将Python值转换为字符串的3种方法。(P21)
12. input和raw_input的区别
input会假设用户输入的是合法的Python表达式,而raw_input会把所有的输入当作原始数据(raw data)并将其放入字符串中。
除非对input有特别的需要,否则应该尽可能使用raw_input函数。(P22)
13. 如果一行之中最后一个字符是反斜线,那么,换行符本身就“转义”了,也就是被忽略了。(P22)
14. 原始字符串
原始字符串是在普通字符串前加字母r。原始字符串不会把反斜线当做特殊字符,其输出的每个字符都会与书写的方式保持一致。
原始字符串最后的一个字符(位于结束引号前的那个)不能是反斜线,除非对反斜线进行转义(转义后反斜线将成为字符串的一部分)。(P23)
15. Unicode字符串
Python中的普通字符串在内部是以8位的ASCII码形式存储的,而Unicode字符串则存储为16位Unicode字符,这样可以表示更多的字符集。
Unicode字符串使用u前缀。
在Python 3.0中,所有字符串都是Unicode字符串。(P24)