python_基础语法
编码
默认情况下,Python3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。
标识符
- 第一个字符必须字母(a-z,A-Z)或下划线_;
- 标识符的其他部分由字母、数字和下划线组成;
- 标识符对大小写敏感;
- 标识符对长度无硬性要求,建议简洁(20个字符以内);
- 禁止使用保留关键字,如if、for、class等不能作为标识符;
- python3允许用中文作为变量名。
保留关键字
https://www.runoob.com/python3/python3-keyword.html
- 常见保留关键字
| 类别 | 关键字 | 说明 |
|---|---|---|
| 逻辑值 | True | 布尔真值 |
| False | 布尔假值 | |
| None | 表示空值或无值 | |
| 逻辑运算 | and | 逻辑与运算 |
| or | 逻辑或运算 | |
| not | 逻辑非运算 | |
| 条件控制 | if | 条件判断语句 |
| elif | 否则如果(else if的缩写) | |
| else | 否则分支 | |
| 循环控制 | for | 迭代循环 |
| while | 条件循环 | |
| break | 跳出循环 | |
| continue | 跳过当前循环的剩余部分,进入下一次迭代 | |
| 异常处理 | try | 尝试执行代码块 |
| except | 捕获异常 | |
| finally | 无论是否发生异常都会执行的代码块 | |
| raise | 抛出异常 | |
| 函数定义 | def | 定义函数 |
| return | 从函数返回值 | |
| lambda | 创建匿名函数 | |
| class | 定义类 | |
| del | 删除对象引用 | |
| 模块导入 | import | 导入模块 |
| from | 从模块导入特定部分 | |
| as | 为导入的模块或对象创建别名 | |
| 作用域 | global | 声明全局变量 |
| nonlocal | 声明非局部变量(用于嵌套函数) | |
| 异步编程 | async | 声明异步函数 |
| await | 等待异步操作完成 | |
| 其他 | assert | 断言,用于测试条件是否为真 |
| in | 检查成员关系 | |
| is | 检查对象身份(是否为同一个对象) | |
| pass | 空语句,用于占位 | |
| with | 上下文管理器,用于资源管理 | |
| yield | 从生成器函数返回值 |
注释
- 单行注释:# 或者 ctrl+/
- 多行注释:# 或者 ctrl+/ 或者 ''' 或者 """
行与缩进
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句。
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \。
数字(number)类型
- 整数【int】:只有一种整数类型 int,表示为长整型
- 布尔型【bool】:如true
- 浮点数:如1.23,3E-2
- 复数:由实部和虚部组成,形式为 a + bj,其中 a 是实部,b 是虚部,j 表示虚数单位。如 1 + 2j、 1.1 + 2.2j
字符串
- Python 中单引号 ' 和双引号 " 使用完全相同。
- 使用三引号(''' 或 """)可以指定一个多行字符串。
- 单、双、三引号,都单独使用
- 单、双、三引号,都不能包含本身
- 单引号能包含双引号,不能包含单引号、三引号
- 双引号能包含单引号、三引号,不能包含双引号
- 三引号能包含单引号号,双引号,不能包含三引号
- 转义符 \。
- 反斜杠可以用来转义,使用 r 可以让反斜杠不发生转义。 如 r"this is a line with \n" 则 \n 会显示,并不是换行。
- 按字面意义级联字符串,如 "this " "is " "string" 会被自动转换为 this is string。
- 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
- Python 中的字符串有两种索引方式,从左往右以 0 开始【正索引】,从右往左以 -1 开始【负索引】。
- Python 中的字符串不能改变。
- Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
- 字符串切片 str[start:end],其中 start(包含)是切片开始的索引,end(不包含)是切片结束的索引。
- 字符串的切片可以加上步长参数 step,语法格式如下:str[start🔚step]
# 字符串
str='123456789'
print(str) #输出字符串
print(str[0:-1]) #输出第一个到倒数第二个的所有字符
print(str[-1:-3:-1]) #负索引搜索,要按顺序,加步长-1,从右往左搜索
print(str[-3:-1]) #由左往右搜索,不需要加步长
print(str[0]) #输出第一个字符
print(str[1:3]) #输出第二个开始到第3个的字符
print(str[4:]) #输出第5个字符开始后的所有字符 结束值空格代表所有
print(str[:4]) #输出第1个字符到第4个字符 开始值 空格 代表所有
print(str[1:5:2]) #输出从第2个开始到第5个且每隔一个字符(步长为2)
print(str[::2]) # ::代表所有
print(str[::-1]) # 反转
print(str*2) #输出字符串2次
print(str+'hello') #拼接字符串
print('hello\nrunoob') # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
# 这里的 r 指 raw,即 raw string,会自动将反斜杠转义
空行
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是 Python 语法的一部分。书写时不插入空行,Python 解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
记住:空行也是程序代码的一部分。
等待用户输入
- input() 函数接受一个标准输入数据,返回为 string 类型。
tstr = int(input('11:'))
print(tstr)
input("\n\n按下 enter 键后退出。")
# 以上代码中 ,\n\n 在结果输出前会输出两个新的空行。一旦用户按下 enter 键时,程序将退出。
同一行显示多条语句
Python 可以在同一行中使用多条语句,语句之间使用分号 ; 分割
多个语句构成代码组
缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
我们将首行及后面的代码组称为一个子句(clause)。
print输出
- print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="";
- print打印内容
- 直接打印数字
- 字符、汉字要加上单引号或双引号
- 查看打印内容的字符类型
print(type(内容))
导入 import 与 from...import
- 在 python 用 import 或者 from...import 来导入相应的模块。
- 将整个模块(somemodule)导入,格式为: import somemodule
- 从某个模块中导入某个函数,格式为: from somemodule import somefunction
- 从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
- 将某个模块中的全部函数导入,格式为: from somemodule import *

浙公网安备 33010602011771号