Python基础语法核心是简洁、直观与一致性,强调“一切皆对象”;变量是名字绑定到对象,赋值不复制值而复制引用;运算符and/or返回实际对象;序列操作统一支持切片与in查找;条件与循环倾向表达式化写法。

Python基础语法的核心在于简洁、直观和一致性。掌握关键表达式不是死记硬背,而是理解其背后的设计逻辑——比如“一切皆对象”如何影响赋值、比较和函数调用。
变量与赋值:动态类型背后的实质
Python中变量本质是“名字”,赋值操作是将名字绑定到对象上,而非分配内存空间。同一个变量名可反复绑定不同类型对象,因为类型属于对象,不属于变量本身。
-
正确理解:
a = 5表示创建整数对象5,再让名字a指向它;a = "hello"是让a改指字符串对象,原整数对象若无其他引用会被自动回收 -
常见误区:误以为
a = b是“复制值”,实际是“复制引用”。对可变对象(如列表)修改会影响所有指向它的名字 -
实用技巧:用
id()查看对象身份,用type()确认当前绑定对象的类型,比单纯看变量名更可靠
运算符与表达式:优先级与短路逻辑要心中有数
Python运算符遵循明确的优先级规则(如**高于*高于+),但更需注意逻辑运算符and/or的返回值不是布尔型,而是实际参与运算的对象。
-
and示例:
0 and "abc"返回0(第一个假值),"x" and [1,2]返回[1,2](最后一个真值) -
or示例:
"" or None or "yes"返回"yes"(第一个真值) -
安全写法:需要布尔结果时显式转换,如
bool(x and y);需要默认值时用or惯用法:name = user_input or "anonymous"
序列操作:索引、切片与成员检测统一而高效
字符串、列表、元组等序列类型共享一套核心操作语法,这是Python“一致性”设计的体现。切片不是函数调用,而是独立语法结构,支持步长、负索引和越界容忍。
立即学习“Python免费学习笔记(深入)”;
-
切片要点:
s[1:4]取索引1到3(不含4),s[::-1]反转序列,s[100:200]不会报错,返回空序列 -
in操作符:对列表是O(n)线性查找,对集合/字典是O(1)平均查找——大数据量时优先用
set预存查找项 -
解包扩展:
a, *middle, c = [1,2,3,4,5]中middle自动接收中间所有元素(列表),无需手动切片计算长度
条件与循环:表达式化写法提升可读性
Python鼓励用简洁表达式替代冗余语句。三元操作符、生成器表达式、列表推导式不是炫技工具,而是降低嵌套、聚焦意图的实用语法。
-
条件表达式:
x = "yes" if flag else "no"比完整if-else块更紧凑,适用于简单分支 -
推导式本质:
[x*2 for x in nums if x > 0]等价于循环+条件+追加,但隐含了创建新容器的意图,不修改原数据 -
生成器表达式:
(x*2 for x in nums)不立即计算,节省内存,适合链式处理或大迭代场景
不复杂但容易忽略。把每个表达式当作一个“小契约”——它承诺做什么、返回什么、在什么条件下生效。写代码时多问一句“这个表达式此刻绑定了什么对象?它的真假值由什么决定?”,语法就自然内化了。










