Python基础核心:格式化输出、循环与列表详解
作者:demo2026.11.07 01:16浏览量:0简介:本文面向Python初学者,系统梳理格式化输出的%占位符与f-string两种方式、and/or/not逻辑运算、for循环与range计数器、break与continue的流程控制要点,并深入讲解列表的增删改查、切片、排序、推导式与嵌套访问,同时辨析元组的不可变特性,帮助读者构建扎实的Python语法基础,快速迈过入门阶段最常卡住的知识门槛。
一、从零开始:这些基础为什么至关重要
Python之所以被广泛认为适合零基础学习者入门,核心原因在于其语法接近自然语言、数据结构直观易用。然而真正的入门并不止于“跑通第一行代码”,而在于扎实掌握三类最常用的能力:把数据以预期格式清晰呈现的格式化输出能力、用逻辑运算表达复杂判断的条件组合能力,以及用循环和列表组织批量数据的处理能力。这三条主线几乎贯穿了所有Python脚本、数据处理与自动化任务。无论在本地环境还是云端开发环境中搭建练习平台,成本都很低,学习者应把精力放在对这些基础机制的深入理解上,而非急于追求高级特性。
二、字符串格式化输出的两种主流方式
2.1 % 占位符方式
这是Python早期采用的格式化手段,思想源于C语言风格的格式化输出:先在字符串中“挖坑”,再用数据“填坑”。
- %s:字符串占位符,实际传入的绝大多数对象都会被自动转换为字符串形式;
- %f:浮点数占位符,默认保留6位小数;
- %.4f:在%f基础上指定精度,表示保留4位小数,并自动四舍五入。
name = "Python"score = 92.56789print("课程:%s,得分:%.2f" % (name, score))# 输出:课程:Python,得分:92.57
需要注意,占位符与后方数据必须一一对应,数量不匹配或类型严重不符都会导致报错。
2.2 f-string 格式化
f-string是更现代、更推荐的写法:在字符串前加字母f,把变量直接写进花括号{}中,花括号内还支持表达式和精度控制。
score = 92.56789print(f"得分:{score:.2f},翻倍后:{score * 2:.1f}")# 输出:得分:92.57,翻倍后:185.1
相比%方式,f-string可读性更强、不易出现参数错位,是新代码的首选;理解%占位符则有助于阅读大量存量代码。
三、逻辑运算符:and、or、not
条件判断离不开逻辑运算符,三者的语义可以概括为:
- and:逻辑与,两侧条件都满足时整体结果才为真;
- or:逻辑或,只要有一方满足,整体结果即为真;
- not:逻辑非,对结果取反,真变假、假变真。
age = 20has_id = Trueif age >= 18 and has_id:print("允许进入")if not age < 18:print("已成年")
实践中有两个细节值得注意:一是短路求值——and在左侧为假时不再计算右侧,or在左侧为真时不再计算右侧,合理利用可以让判断更简洁安全;二是Python中非空字符串、非零数字、非空列表都被视为“真值”,理解这一点能避免许多隐蔽的逻辑错误。
四、循环结构与流程控制
4.1 for 循环与 range 计数器
for i in 可迭代对象 的含义是:逐个取出可迭代对象中的值,赋给临时变量i,执行循环体,直到取完为止。字符串就是典型的可迭代对象,for循环可以挨个取出其中的字符:
for ch in "abc":print(ch) # 依次输出 a、b、c
range函数用来记录循环次数,相当于一个计数器,常用于“执行固定次数”的场景:
for i in range(5): # 0,1,2,3,4print(i)for i in range(1, 10, 2): # 1,3,5,7,9,步长为2print(i)
4.2 break 与 continue
- break:立即终止整个循环,程序继续执行循环之后的代码;
- continue:跳过本次循环中剩余语句,直接进入下一次循环。
必须强调的是:在while循环中使用continue时,改变循环变量的语句必须写在continue之前,否则变量永远得不到更新,程序会陷入死循环。for循环中变量由可迭代对象自动推进,风险较低,但这一原则在while场景中是高频踩坑点。
i = 0while i < 5:i += 1 # 必须在continue之前更新if i == 3:continueprint(i) # 输出 1,2,4,5
五、列表:最常用的可变序列
5.1 创建、切片与遍历
列表放在中括号里,元素之间用逗号分隔,允许不同数据类型共存:
li = [1, "python", 3.14, True]
列表支持切片操作,语法为[起始:结束:步长],遵循“左闭右开”原则;列表本身也是可迭代对象,可以直接用for循环遍历。
nums = [10, 20, 30, 40, 50]print(nums[1:4]) # [20, 30, 40]print(nums[::-1]) # 反转副本 [50, 40, 30, 20, 10]
5.2 添加元素:append、extend、insert
- append(元素):整体添加,把传入对象作为单个元素追加到列表末尾;
- extend(可迭代对象):分散添加,把可迭代对象中的元素逐个拆开并入列表;
- insert(下标, 元素):指定位置插入,若该位置已有元素,原有元素及其后元素整体后移。
li = [1, 2]li.append([3, 4]) # [1, 2, [3, 4]],整体作为一个元素li = [1, 2]li.extend([3, 4]) # [1, 2, 3, 4],逐个并入li.insert(1, 99) # [1, 99, 2, 3, 4]
三者的区别是初学者最容易混淆的地方,建议亲手运行上面的例子加以体会。
5.3 修改、判断与查询
修改元素直接通过下标赋值即可:li[0] = 100。判断某个元素是否存在用in运算符,返回布尔值。常用查询方法有两个:
- index(值):返回该值首次出现的下标,若不存在会报错,因此常与in配合使用;
- count(值):统计该值在当前列表中出现的次数。
li = [1, 2, 2, 3]print(2 in li) # Trueprint(li.index(3)) # 3print(li.count(2)) # 2
5.4 删除元素:del、pop、remove
- del 列表[下标]:直接按位置删除,也可删除整个变量;
- pop(下标):按位置删除并返回被删元素,不传参数时默认删除末尾元素;
- remove(值):按值删除,默认只删除列表中最先出现的那个匹配元素,值不存在则报错。
li = [1, 2, 3, 2]li.remove(2) # [1, 3, 2],只删第一个2li.pop() # 弹出末尾的2del li[0] # 删除下标0的元素
选择依据可概括为:知道位置用del或pop,知道值用remove,需要拿回被删数据用pop。
5.5 排序与反转
- sort():将列表按特定顺序原地排列,默认从小到大(升序),也可通过参数改为降序;
- reverse():将列表整体倒置,不涉及大小比较。
nums = [3, 1, 4, 1, 5]nums.sort() # [1, 1, 3, 4, 5]nums.reverse() # [5, 4, 3, 1, 1]
注意这两个方法都是原地修改且返回值为None,若希望保留原列表,应先以切片副本等方式备份。
5.6 列表推导式
列表推导式用一行代码完成“遍历—加工—收集”的过程,基本格式为:
[表达式 for 变量 in 列表或range函数]
squares = [x ** 2 for x in range(1, 6)] # [1, 4, 9, 16, 25]
推导式比等价的for循环更简洁,通常执行效率也更高,是Python风格化写法的重要体现;但当逻辑复杂时,应优先保证代码可读性。
5.7 嵌套列表
列表可以嵌套列表,形成二维结构,通过li[行][列]两层下标即可取出内层列表中的元素:
matrix = [[1, 2, 3], [4, 5, 6]]print(matrix[1][2]) # 6
嵌套列表配合for循环嵌套,可以实现矩阵遍历、二维表格处理等常见操作。
六、元组:不可变序列
元组与列表外观相似(使用圆括号),最本质的区别是不可变:元组创建后不能进行增加、删除、修改操作。这一特性带来两个好处:一是数据更安全,可防止程序意外改写;二是元组可应用于需要数据稳定性的场景(如作为字典的键)。凡是不需要中途变更的数据集合,优先使用元组是一种良好的编程习惯。
t = (1, 2, 3)# t[0] = 10 # 报错,元组不可修改
七、总结
本文围绕Python零基础阶段的三条主线展开:格式化输出解决“数据如何清晰呈现”的问题,%占位符与f-string各有适用场景;逻辑运算符与循环控制(for、range、break、continue)构成程序流程的骨架,其中continue与while变量更新的先后顺序是必须牢记的细节;列表作为最常用的可变序列,其增(append/extend/insert)、删(del/pop/remove)、改(下标赋值)、查(in/index/count)、排序(sort/reverse)、推导式与嵌套访问共同构成一套完整的数据操作工具箱,而元组则以不可变性提供了另一种数据组织选择。建议学习者按知识点逐一动手验证示例代码,在反复练习中把这些语法内化为真正的编程能力。

登录后可评论,请前往 登录 或 注册