Python基础语法
本文最后更新于 2024-12-17,文章内容可能已经过时。
Python基础语法
学习目标
掌握Python代码格式与风格
掌握Python标识符与关键字
掌握Python常量、变量
掌握解释器命名空间
熟悉内置函数、类与对象的概念以及应用
熟悉模块与文件对象的概念及应用
BG1-代码格式
缩进
“缩进”一般确定了Python代码之间的逻辑关系与层次关系,使用Tab键,或空格键控制缩进,见1-1Python的缩进。
Pythoncode1
Pythoncode2
Pythoncode3
1-1Python的缩进
代码缩进量不同改变代码语义,Python中同一代码块要求使用同样缩进量,见程序段1-2 if-else语句。
if True:
print("True")
else:
print("False")
程序段1-2 if-else语句
换行
Python官方建议每行代码不超过79个字符,若代码过长应该换行。Python中会将圆括号、方括号、和花括号中的行进行隐式链接,见程序段1-3Python行隐式链接。
print(['Hello',
'world'])
# 输出结果
['Hello', 'world']
程序段1-3Python行隐式链接
注释
单行注释
单行注释常以#开头,可作为单独一行放置在被注释代码之上,也可放置在被注释代码之后,见程序段1-4单行注释
# 使用print输出字符串你好
print("你好")
print("你好") # 使用print输出字符串你好
程序段1-4单行注释
多行注释
多行注释使用连续3个单引号‘’‘
或者连续3个双引号“”“
,可注释程序中的多行,也可注释一行,通常用来为Python文件、模块、类或函数等添加版权或者功能描述信息,见 程序段1-5多行注释。
'''这是单引号多行注释'''
"""这是双引号多行注释"""
'''
这是单引号多行注释
这是单引号多行注释
'''
"""
这是双引号多行注释
这是双引号多行注释
"""
程序段1-5多行注释
BG2-标识符与关键字
标识符
标识符就是对变量、常量、函数、类等对象起的名字,命名规则见图2-1。
- 由字符、数字、下划线组成。
- 不能以数字开头。
- 区分字母大小写。
- 以下划线开头的标识符拥有特殊意义。
- 不允许使用Python预定义标识符名,即不能使用关键字作为自定义标识符名。
图2-1 Python标识符命名规则
在python中,建议按照以下方式命名标识符。
(1)见名知意:name表示姓名;student表示学生。
(2)命名规范:常量名应使用大写的单个单词或者由下划线链接的多个单词命名-NAME_NAME;模块名、函数名应该使用小写的单个单词或由下划线连接的多个单词命名-low_with_under;类名应使用以大写字母开头的单个或者多个单词命名-Cat、CapWorld。
关键字
关键字是Python编程语言预定义的保留字。Python共定义35个关键字,见程序段2-2Python预定义标识符。
import keyword # 导入keyword模块
print(keyword.kwlist)
# 输出结果
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break',
'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global',
'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try',
'while', 'with', 'yield']
程序段2-2Python3关键字
通过“help”可查看关键字声明,见表2-2Python3关键字
关键字 | 含义 |
---|---|
True/False | 逻辑真/假 |
None | 空值 |
and/or/not | 逻辑与、或、非运算符 |
as | 在 import、except 或 with 语句中给对象起别名 |
assert | 断言,用来确认某个条件必须满足,帮助调试程序 |
async | 定义协程 |
await | 用于挂起阻塞的过程 |
break | 用在循环结构中,结束 break 所在层次的循环 |
class | 定义类 |
continue | 用在循环结构中,结束本次循环 |
def | 定义函数 |
del | 删除对象或其成员 |
elif | 用在选择结构中,是 else if 的缩写 |
except | 用在异常处理结构中,捕获指定类型的异常 |
else | 用在选择结构、循环结构或异常处理结构中 |
finally | 用在异常处理结构中,表示无论是否发生异常都会执行后面的代码 |
for | for 循环 |
from | 指明从哪个模块中导入什么对象,还可以与 yield 构成表达式 |
global | 定义或声明全局变量 |
if | 用在选择结构中,对条件进行判断 |
import | 导入模块或模块中的对象 |
in | 成员测试 |
is | 同一性测试 |
lambda | 定义小型匿名函数 |
nonlocal | 声明外部嵌套函数引用的对象不是局部变量,而是更外层函数的变量 |
not | 逻辑非运算符 |
or | 逻辑或运算符 |
pass | 占位语句,不做任何操作 |
raise | 引发异常 |
return | 结束函数,并可返回一个值 |
try | 定义异常处理的范围,可以嵌套 |
while | while 循环 |
with | 运行完一段代码后自动清理资源 |
yield | 生成器函数,用于生成一系列结果而不是单个返回值 |
表2-2Python3关键字
BG3-变量与常量
变量
变量是对内存单元数据、对象的引用,Python使用‘=’作为赋值运算符进行直接赋值,见程序段3-1
x=1 # 定义变量x并赋值1
程序段3-1变量赋值
以上代码定义的变量与内存数据之间的关系,见图3-1
图片绘制中
图3-1 变量与内存数据之间的关系
Python支持链式赋值,见程序段3-2
x=y=z=1 # 给x、y、z同时赋值为1
程序段3-2 Python链式赋值
Python支持解包赋值,即组合数据类型解包为相应数量变量赋值,见程序段3-3
x,y,z=1,2,3 # 1赋值给/ 2赋值y/ 3赋值z
x,y=y,x # y赋值给x/ x赋值给y
程序段3-3 Python解包赋值
常量
程序运行期间用到不可变的数据,Python使用标识符来标识数据不可变的内存单元。
Python已有常用内置常量:True(真)、False(假)、None(空值);也可自定义常量。
- 感谢你赐予我前进的力量