1.1 交互式解释器
在终端中,输入python3,会出现>>>
提示符,然后就开始进行交互式操作。
1.3 数和表达式
解释器中可以直接进行计算器运算:
2 + 2
所有常见算术运算符的工作原理都与你预期的一致。
除法运算的结果为小数,即浮点数。执行整除运算,可使用双斜杠
%
是取模运算,x % y等价于x - ((x // y ) * y)
python的除法都是向下取整的。取余的时候与被除数符号一致。
>>> 10 // -3
-4
>>> 10 // -3.0
-4.0
>>> 10 % -3
-2
>>> -10 % 3
2
乘方(求幂)运算符是**
,乘方运算符的优先级比求负(单目减)高,因此-3**2等价于-(3**2)。如果你要计算的是(-3)**2,必须明确指出。
十六进制数也是以0x开头,八进制以0o开头,二进制以0b开头。
1.4 变量
使用Python变量前必须给它赋值,因为Python变量没有默认值。
变量名只能由字母、数字和下划线_
构成,且不能以数字打头。
1.6 获取用户输入
input函数:
>>> input("The meaning of life: ")
The meaning of life: 42
'42'
这里输入的数字是以字符串形式返回,如果想要操作数字需要强制类型转换。
>>> x = input("x: ")
x: 34
>>> y = input("y: ")
y: 42
>>> print(int(x) * int(y))
1428
1.7 函数
>>> pow(2, 3)
8
我们通常将pow等标准函数称为内置函数
。示例中使用函数称为调用
函数。
int()函数直接截去小数部分
floor()得到最接近原数但是小于原数的部分,返回值是整数
round()得到最接近原数的整数(返回为浮点类型,并不是四舍五入,会受到计算机精度的影响)
ceil()与floor相反,返回大于等于给定数的最小整数
1.8 模块
导入模块使用命令:import
我们使用import导入模块,再以module.function的方式使用模块中的函数。
如果确定不会从不同模块导入多个同名函数,你可能不想每次调用函数时都指定模块名。在这种情况下,可使用命令import的如下变种:
>>> from math import sqrt
>>> sqrt(9)
3.0
通过使用命令import的变种from module import function,可在调用函数时不指定模块前缀。
1.8.1 cmath和复数
>>> sqrt(-1)
nan #nan具有特殊含义,指的是“非数值”(not a number)
Python标准库提供了一个专门用于处理复数的模块——cmath
>>> import cmath
>>> cmath.sqrt(-1)
1j
1j是个虚数,虚数都以j(或J)结尾。Python本身提供了对复数的支持。
1.9 保存并执行程序
让脚本像普通程序一样
只需将下面的代码作为脚本的第一行,就可轻松运行脚本:
#!/usr/bin/env python
要像普通程序一样运行脚本,还必须将其变成可执行的:
$ chmod a+x hello.py
python中,使用#
作为注释符号
1.10 字符串
1.10.1 单引号字符串以及对引号转义
单引号与双引号的作用完全相同,python同时支持两种引号为了方便嵌套。可以用转义符号反斜杠(\)
进行转义。
1.10.2 拼接字符串
连续的字符串可以自动拼接,但是这并非通用方法,因为变量无法拼接。
正常的方法是使用+
进行拼接。
1.10.3 字符串表示 str 和 repr
- str是类,以合理的方式将值转换为用户能够看懂的字符串。
- repr是函数,通常会获得值的合法Python表达式表示
>>> print(repr("Hello,\nworld!"))
'Hello,\nworld!'
>>> print(str("Hello,\nworld!"))
Hello,
world!
1.10.4 长字符串、原始字符串和字节
在Python3中,所有的字符串都是Unicode字符串。
1.长字符串
要表示很长的字符串(跨越多行的字符串),可使用三引号(而不是普通引号),单双引号均可。
常规字符串也可横跨多行。只要在行尾加上反斜杠,反斜杠和换行符将被转义,即被忽略。
2.原始字符串
>>> print(r'C:\Program Files\fnord\foo\bar\baz\frozz\bozz')
C:\Program Files\fnord\foo\bar\baz\frozz\bozz
原始字符串用前缀r表示。看起来可在原始字符串中包含任何字符,这大致是正确的。一个例外是,引号需要像通常那样进行转义,但这意味着用于执行转义的反斜杠也将包含在最终的字符串中。
另外,原始字符串不能以单个反斜杠结尾。换而言之,原始字符串的最后一个字符不能是反斜杠,除非你对其进行转义。基本技巧是反斜杠单独作为一个字符串进行拼接。
指定原始字符串时,可使用单引号或双引号将其括起,还可使用三引号将其括起。