Python基础教程 1:快速上手:基础知识
- 表达式和语句:表达式是一些东西,而语句做一些事情。个人理解表达式执行后结果多为数学结果,而语句执行结果各种各样。
- 分号:如果某行一个语句后无其他语句,行末加不加无影响。
- 加减法、乘法没什么特殊要记的东西。
- 除法运算的结果为小数,即浮点数。整除://,向下取整。
>>> 10 // -3
-4
- 求余(求模)运算符:%,结果为执行整除时余下的部分,即x % y等价于x - ((x // y) * y)。
>>> -10 % 3
2
>>> -10 % -3
-1
- 乘方(求幂)运算符:**,注意,乘方运算符的优先级比求负(单目减)高,因此-3**2等价于-(3**2)。
- 十六进制数、八进制数和二进制数分别以下面的方式表示:
>>> 0x10
16
>>> 0o20
16
>>> 0b10000
16
- 变量,直接用,不用定义。在Python中,名称(标识符)只能由字母、数字和下划线(_)构成,且不能以数字打头。
- 获取用户输入:input()函数,返回值为字符串类型,可用int()或eval()将数字字符串转化为数值,eval()也可将字符串两侧引号去掉使其成为表达式并执行。
- 函数:Python提供了很多函数,通常将pow等标准函数称为内置函数
- 包:包是一种管理 Python 模块命名空间的形式,采用“点模块名称”。比如一个模块的名称是 A.B, 那么他表示一个包 A中的子模块B。
- 模块:模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。引入模块的方法:
- import <库名>,如果库名很长,可以用as关键字为该库名取一个简短的别名,相应用法为:import <库名> as <别名>,如:
import numpy as np
- from <库名> import <函数名,函数名,···>或from <库名> import *,如
from math import sin, cos
或from math import *
- 单行注释:#,多行注释:一对三引号。
- 字符串:用单引号或双引号括起来。有时候使用的是单引号和使用双引号的结果完全相同。既然如此,为何同时支持单引号和双引号呢?因为在有些情况下,这可能会有用。
>>> "Let's go!"
"Let's go!"
# 或者用反斜杠\对引号进行转义
>>> 'Let\'s go!'
"Let's go!"
>>> '"Hello World!", she said.'
'"Hello World!", she said.'
- 拼接字符串:+,如
>>> 'Hello, ' + 'world!'
'Hello, world!'
- Python直接打印所有的字符串时,都用引号将其括起,但print打印结果却没有引号。如果再加上表示换行符的编码\n,差别将更明显。
>>> 'Hello World!'
'Hello World!'
>>> print('Hello World!')
Hello World!
>>> 'Hello,\nWorld!'
'Hello,\nWorld!'
>>> print('Hello,\nWorld!')
Hello,
World!
- 字符串表示str 和repr:可通过使用函数str和repr直接使用这两种机制。使用str能以合理的方式将值转换为用户能够看懂的字符串。例如,尽可能将特殊字符编码转换为相应的字符。然而,使用repr时,通常会获得值的合法Python表达式表示。
>>> print(repr('Hello,\nWorld!'))
'Hello,\nWorld!'
>>> print(str('Hello,\nWorld!'))
Hello,
World!
- 要表示很长的字符串(跨越多行的字符串),可使用三引号(而不是普通引号)。
>>> print('''First line
Second line''')
First line
Second line
- 原始字符串不以特殊方式处理反斜杠,在编写正则表达式是很有用。在常规字符串中,反斜杠扮演着特殊角色:它对字符进行转义,让你能够在字符串中包含原本无法包含的字符。
- 原始字符串用前缀r表示。一个例外是,引号需要像通常那样进行转义,但这意味着用于执行转义的反斜杠也将包含在最终的字符串中。另外,原始字符串不能以单个反斜杠结尾。换而言之,原始字符串的最后一个字符不能是反斜杠,除非你对其进行转义(但进行转义时,用于转义的反斜杠也将是字符串的一部分)。
>>> path = 'C:\\Program Files\\fnord\\foo\\bar\\baz\\frozz\\bozz'
>>> path
'C:\\Program Files\\fnord\\foo\\bar\\baz\\frozz\\bozz'
>>> print(path)
C:\Program Files\fnord\foo\bar\baz\frozz\bozz
>>> print(r'C:\Program Files\fnord\foo\bar\baz\frozz\bozz')
C:\Program Files\fnord\foo\bar\baz\frozz\bozz
>>> print(r'This is illegal\')
File "<pyshell>", line 1
print(r'This is illegal\')
^
SyntaxError: EOL while scanning string literal