Python基础语法:变量与常量、标识符命名规则、关键字、注释、缩进与代码块、语句与表达式、数据类型概述

Python 作为一门简洁而强大的编程语言,其基础语法是构建一切程序的基石。对于准备参加计算机二级考试的考生而言,深刻理解变量与常量的本质、掌握标识符的命名规范、熟悉关键字与注释的用法、理解缩进所定义的代码块逻辑,以及清晰认识五大基本数据类型,是后续学习流程控制、函数与文件操作的前提。本章将系统拆解这些核心概念,并结合二级考试的高频考点,帮助你建立严谨的语法认知框架。

Python 基础语法核心 变量与常量 变量可重新赋值 常量约定全大写 标识符与关键字 字母/下划线开头,区分大小写 35个保留字不可占用 注释与缩进 # 单行注释,三引号多行 缩进定义代码块层级 语句与表达式 语句执行动作,表达式产生值 五大基本数据类型 int 整数 float 浮点 str 字符串 bool 布尔 NoneType 代码块与作用域 if/for/while/def/class 统一缩进级别构成块 语法规范 → 代码可读性 → 程序健壮性 二级考试重点:命名规范 + 缩进逻辑 + 类型判断

变量与常量:程序中的数据容器

核心原理:变量是程序中用于存储数据的内存区域的名称引用。在 Python 中,变量不需要显式声明类型,解释器会根据赋值自动推断。常量在 Python 中并没有语法级别的强制定义,而是通过命名约定(全大写字母)来标识“不应被修改”的值。

变量赋值机制:Python 采用“对象引用”模型。执行 a = 10 时,首先在内存中创建整数对象 10,然后让变量名 a 指向该对象。当执行 a = 20 时,变量 a 转而指向新的整数对象 20,原对象 10 若无其他引用则被垃圾回收。

判断方法:区分变量与常量的关键在于“是否允许在程序运行期间改变值”。变量在程序执行过程中可以多次赋值,而常量一旦设定后不应再被修改。Python 社区约定:使用全大写字母和下划线命名常量,如 MAX_SIZE = 100。

# 变量示例
student_name = "张三"
student_name = "李四"  # 合法,变量可以重新赋值
score = 95

# 常量约定(全大写)
PI = 3.14159
MAX_RETRIES = 5
DEFAULT_TIMEOUT = 30

实战场景:在二级考试中,常出现“判断下列哪个是合法变量名”或“指出代码中变量的数据类型”等题型。例如:

x = 10          # int
y = 3.14        # float
name = "Python" # str
is_valid = True # bool
result = None   # NoneType

常见误区:初学者常误以为 Python 变量需要声明类型,实际上 Python 是动态类型语言,变量类型由赋值决定。另外,常量并非真正不可修改,只是约定不修改,若强行修改也不会报错,但违反编程规范。

对比维度变量常量
命名规范小写字母,单词间用下划线全大写字母,单词间用下划线
是否可修改可以多次赋值约定不修改
典型示例user_age, total_scoreMAX_VALUE, BASE_URL
内存机制引用可改变引用应保持不变

标识符命名规则与关键字

核心原理:标识符是程序员自定义的名称,用于命名变量、函数、类、模块等。Python 对标识符有明确的语法规则,同时预留了 35 个关键字(保留字),这些关键字具有特殊语法含义,不能被用作标识符。

命名规则清单:

  1. 由字母(a-z, A-Z)、数字(0-9)和下划线(_)组成。
  2. 不能以数字开头,如 1var 非法。
  3. 不能包含空格、连字符、@、$ 等特殊字符。
  4. 区分大小写,Name 和 name 是两个不同的标识符。
  5. 不能与 Python 关键字重名。
  6. 建议使用有意义的名称,遵循 snake_case(小写+下划线)风格。

风险提示:二级考试中常出现“下列哪个是合法标识符”的题目。注意 _abc 合法(下划线开头),2abc 非法(数字开头),if 非法(关键字),my-var 非法(含连字符)。

关键字全览:Python 3.x 共有 35 个关键字,包括 False, True, None, and, or, not, if, elif, else, for, while, break, continue, def, return, class, import, from, as, try, except, finally, raise, with, lambda, pass, yield, global, nonlocal, del, in, is, assert, async, await。

# 查看所有关键字
import keyword
print(keyword.kwlist)
print(len(keyword.kwlist))  # 输出 35

实战场景:编写一个学生成绩管理系统时,需要定义变量存储学生姓名、成绩、是否及格等信息。合理的命名如下:

student_name = "王小明"
chinese_score = 88
math_score = 92
is_pass = chinese_score >= 60 and math_score >= 60

常见误区:使用中文作为变量名虽然 Python 3 支持,但强烈不推荐,容易导致编码问题和可读性下降。另外,不要使用 l(小写 L)或 O(大写 O)作为变量名,容易与数字 1 和 0 混淆。

注释:代码的解释与文档

核心原理:注释是程序中不被解释器执行的文本,用于解释代码功能、记录修改历史、生成文档。Python 支持单行注释(#)和多行注释(三引号字符串)。

注释规范:

  • 单行注释:使用 # 开头,可独占一行或放在代码末尾。
  • 多行注释:使用三引号 '''...''' 或 """...""",常用于函数和类的文档字符串(docstring)。
  • 注释应说明“为什么”而非“是什么”,避免冗余。
# 计算圆的面积
radius = 5  # 半径(单位:厘米)
area = 3.14159 * radius ** 2  # 面积公式:πr²

def calculate_average(scores):
    """
    计算成绩列表的平均分。
    参数:
        scores: 包含数字的列表
    返回:
        平均分(浮点数)
    """
    return sum(scores) / len(scores)

实战场景:在二级考试的编程题中,阅卷系统会检查代码的可读性。适当添加注释不仅有助于自己理清思路,也能在人工复查时获得更好的印象分。

经验提醒:注释应保持与代码同步更新。修改代码时忘记更新注释,比没有注释更糟糕,因为会产生误导。

常见误区:过度注释(每行都加注释)会降低代码可读性;使用注释屏蔽代码(注释掉大段代码)应使用版本控制工具而非注释。

缩进与代码块:Python 的语法骨架

核心原理:Python 使用缩进来定义代码块,这是与其他语言(如 C、Java 使用花括号)最大的语法差异。同一层级的代码必须使用相同数量的空格或制表符缩进,通常约定使用 4 个空格。

判断方法:代码块由冒号(:)引导,下一行开始缩进的代码属于该块。缩进结束即代码块结束。常见的代码块结构包括:if 条件、for/while 循环、def 函数定义、class 类定义、try 异常处理等。

# 正确的缩进示例
age = 18
if age >= 18:
    print("成年人")      # 属于 if 块
    print("可以投票")    # 同一缩进级别,同属 if 块
print("程序结束")        # 缩进结束,不属于 if 块

# 错误的缩进示例(会报错)
if age >= 18:
print("成年人")  # IndentationError: expected an indented block

实战场景:编写一个判断成绩等级的程序,需要多层嵌套的缩进结构:

score = 85
if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 70:
    grade = "C"
else:
    grade = "D"
print(f"成绩等级: {grade}")

常见误区:混用空格和制表符会导致 TabError;缩进不一致会导致 IndentationError。在二级考试中,务必保持缩进的一致性,推荐使用 4 个空格。

代码块类型引导语法典型用途
条件块if / elif / else:分支判断
循环块for / while:重复执行
函数块def 函数名():封装功能
类块class 类名:面向对象编程
异常块try / except / finally:错误处理

语句与表达式:程序的基本执行单元

核心原理:语句(Statement)是执行特定操作的完整指令,如赋值语句、条件语句、循环语句。表达式(Expression)是由变量、常量、运算符和函数调用组成的、能够计算出一个值的组合。表达式本身也是语句的一部分。

判断方法:判断一段代码是语句还是表达式,关键看它是否产生值。表达式一定有返回值,而语句不一定。例如 x = 5 是赋值语句,不产生值;5 + 3 是表达式,产生值 8。

# 语句示例
total = 0          # 赋值语句
for i in range(5): # 循环语句
    total += i     # 赋值语句(增强赋值)

# 表达式示例
result = 10 + 20 * 3   # 算术表达式
is_ok = score >= 60    # 比较表达式
message = "Hello" + " " + "World"  # 字符串拼接表达式

实战场景:在二级考试中,常要求分析代码的输出结果。理解语句与表达式的区别有助于正确推导程序执行流程。例如:

x = 10
y = x * 2 + 5   # 表达式 x*2+5 计算后赋值给 y
print(y)        # 输出 25

常见误区:混淆赋值语句与比较表达式。在条件判断中,= 是赋值,== 是比较。误用 = 会导致逻辑错误。

数据类型概述:五大基本类型

核心原理:Python 内置了丰富的数据类型,其中五大基本类型是构建程序的基石。每种类型都有特定的表示方式、操作方法和适用场景。

五大类型详解:

  • int(整数):表示正整数、负整数和零,无大小限制(取决于内存)。支持加减乘除、取余、幂等运算。
  • float(浮点数):表示带小数点的数值,采用双精度(64位)存储。注意浮点数精度问题,如 0.1 + 0.2 != 0.3。
  • str(字符串):表示文本数据,使用单引号、双引号或三引号括起。支持索引、切片、拼接、格式化等操作。
  • bool(布尔值):只有 True 和 False 两个值,用于逻辑判断。注意 True 和 False 首字母大写。
  • NoneType(空值):只有一个值 None,表示“无值”或“空”。常用于变量初始化、函数默认返回值。
# 类型查看与转换
num = 42
print(type(num))        # <class 'int'>
pi = 3.14159
print(type(pi))         # <class 'float'>
text = "Python"
print(type(text))       # <class 'str'>
flag = True
print(type(flag))       # <class 'bool'>
nothing = None
print(type(nothing))    # <class 'NoneType'>

# 类型转换
int("123")      # 字符串转整数 → 123
float(10)       # 整数转浮点 → 10.0
str(3.14)       # 浮点转字符串 → "3.14"
bool(0)         # 整数转布尔 → False
bool("")        # 空字符串转布尔 → False

实战场景:编写一个计算 BMI(身体质量指数)的程序,需要综合运用多种数据类型:

# 输入身高(米)和体重(千克)
height = float(input("请输入身高(米):"))  # 字符串转浮点
weight = float(input("请输入体重(千克):"))
bmi = weight / (height ** 2)  # 浮点运算
print(f"您的 BMI 指数为:{bmi:.2f}")  # 格式化输出

# 判断健康范围
if bmi < 18.5:
    category = "偏瘦"
elif bmi < 24:
    category = "正常"
else:
    category = "偏胖"
print(f"健康评估:{category}")

常见误区:

风险提示:浮点数精度问题在二级考试中偶有出现。例如 0.1 + 0.2 == 0.3 的结果是 False,因为浮点数在二进制中无法精确表示。需要比较浮点数时,应使用 abs(a - b) < 1e-9 的方式。

类型判断与转换总结:

数据类型表示方式典型操作转换函数
int十进制、二进制(0b)、八进制(0o)、十六进制(0x)+ - * / // % **int()
float小数或科学计数法(如 1.5e3)+ - * / 等,注意精度float()
str'单引号' "双引号" '''三引号'''索引、切片、拼接、格式化str()
boolTrue / Falseand or not 逻辑运算bool()
NoneTypeNone身份比较 is None—

经验提醒:在二级考试中,type() 函数和 isinstance() 函数是判断数据类型的重要工具。isinstance(10, int) 返回 True,比直接比较 type() 更灵活,因为它支持继承关系。

总结复盘:本章内容构成了 Python 编程的语法基础。变量与常量是数据存储的载体,标识符命名规则保证了代码的可读性,关键字是语言保留的语法元素,注释增强了代码的可维护性,缩进定义了程序的逻辑结构,语句与表达式构成了执行单元,五大基本数据类型则是处理不同数据的基础工具。在二级考试中,这些知识点通常以选择题和基础编程题的形式出现,需要做到概念清晰、代码规范、类型判断准确。建议通过大量编写简单程序来巩固这些基础,例如编写一个“学生信息登记”小程序,综合运用变量、字符串、整数、浮点数和布尔值,并注意缩进和注释规范。