我爱编程

第1章 基础知识

2018-04-12  本文已影响0人  程序员必修课
第1章 基础知识

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

>>> 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表示。看起来可在原始字符串中包含任何字符,这大致是正确的。一个例外是,引号需要像通常那样进行转义,但这意味着用于执行转义的反斜杠也将包含在最终的字符串中。

另外,原始字符串不能以单个反斜杠结尾。换而言之,原始字符串的最后一个字符不能是反斜杠,除非你对其进行转义。基本技巧是反斜杠单独作为一个字符串进行拼接。

指定原始字符串时,可使用单引号或双引号将其括起,还可使用三引号将其括起。

上一篇下一篇

猜你喜欢

热点阅读