Python 基础速查:新手最常用的写法都在这里
2026/9/18 14:23:11 网站建设 项目流程

本文首发于 CSDN,转载请注明出处。

学 Python 的人常有一种错觉:语法看一遍就懂了,动手时却写不出来。原因不是记性差,而是看和写之间缺了一层练习——看完就以为掌握了,实际调用的次数是零。这篇把新手阶段真正高频的写法按类型整理成速查表,可以当作练习时的对照卡,写不出来时回来查一眼。

先确认版本这件事

在开始之前,花两分钟把版本关系搞清楚,能避免后面很多困惑:

版本状态说明
3.14当前稳定版新项目直接用,能用到最新语法特性
3.12 / 3.13稳定版主流第三方库兼容性已经充分验证
3.102026 年 10 月停止支持到期后不再有安全修复,建议尽快升级
2.x早已停止支持除了维护历史项目,没有必要再碰

系统里可能预装了 Python,但开发建议自己装一个独立版本并用虚拟环境隔离,避免不同项目之间的依赖互相污染。用python3 --version确认当前生效的是哪一个。

变量和数据类型怎么写?

写法说明
name = "Tom"字符串,单双引号等价
age = 18整数
price = 9.9浮点数
ok = True布尔值,首字母大写
items = []空列表
info = {}空字典
value = None空值,判断用is None而不是== None

类型转换是新手最容易出问题的地方:从命令行或表单拿到的输入永远是字符串,要做算术必须显式转换,int()float()str()分别对应三种常用转换。转换失败会直接抛异常,所以处理用户输入时要配合异常捕获。

列表、字典、字符串有哪些高频操作?

这三类的使用频率加起来能占到日常代码的一半以上。

列表

操作写法
追加元素items.append(x)
合并两个列表items.extend(other)
取最后一项items[-1]
切片items[1:5]items[::-1]反转
排序items.sort()(原地)或sorted(items)(返回新列表)
推导式[x * 2 for x in items if x > 0]

字典

操作写法
安全取值d.get("k", 默认值)
遍历键值for k, v in d.items():
合并字典`d1
判断键存在"k" in d
统计频次collections.Counter(序列)
设默认值d.setdefault("k", []).append(x)

字符串

操作写法
去首尾空白s.strip()
切分s.split(",")
拼接",".join(list)
替换s.replace("a", "b")
格式化f"{name} 今年 {age} 岁"

f-string是现在最推荐的格式化方式,可读性和性能都比老的%.format()好。

流程控制和函数怎么组织?

条件与循环if / elif / else的结构和多数语言一致,注意 Python 用缩进表示层级,冒号不能漏。循环里用range()生成数列,用enumerate()同时拿到下标和值,用zip()并行遍历两个序列——这三个内置函数用熟了能省掉很多手写的计数变量。

函数定义要掌握四个要点:

要点写法
基本定义def fn(a, b=1):
可变参数def fn(*args, **kwargs):
返回值return x, y实际返回元组
类型标注def fn(a: int) -> str:

默认参数有一个经典坑:不要用可变对象当默认值。写def fn(items=[])会让这个列表在多次调用之间共享,正确做法是默认写None,函数内部再判断创建。

文件和异常怎么处理?

读写文件的推荐方式是with语句,它能保证文件在离开代码块时自动关闭,即使中途抛异常也不会泄漏句柄:

withopen("data.txt","r",encoding="utf-8")asf:forlineinf:print(line.strip())

编码一定显式指定 utf-8。不指定时用的是系统默认编码,在 Windows 上常导致中文乱码或读取失败,这是新手最常见的报错来源之一。

异常处理用try / except / finally。两个实践建议:捕获要具体,写except Exception会把所有问题一起吞掉,出问题时很难定位;以及不要用异常来控制正常的流程分支。

想写得像老手还差哪几步?

基础语法到位之后,有几个习惯能让代码质量明显不同:

用虚拟环境隔离依赖。每个项目一个环境,依赖清单记录在requirements.txt里,别人拿到代码能一条命令装好。

多用标准库。路径操作用pathlib、日期时间用datetime、统计用collections、命令行参数用argparse——这些都在标准库里,不需要额外安装,而且比手写可靠得多。

写一点类型标注。函数签名上标注参数和返回类型,配合编辑器的提示,能在写代码阶段就发现不少低级错误。

让代码能被检查。装一个格式化工具和静态检查工具,团队协作时统一风格,评审时就不用纠结缩进和命名了。

把这类基础速查整理成文之后,我一般会顺手分发到几个平台,用的是墨衍:AI 图文同步一次编辑推到多个渠道,批量 GEO 检测可以看这些内容在 AI 搜索里的引用状态,发文额度提升在集中更新的时候比较实用。墨衍会员权益 可以了解一下。

几个新手最常踩的坑

中文乱码。读写文件不指定编码。养成每次都写encoding="utf-8"的习惯。

修改列表的同时遍历它。结果是漏掉元素或行为异常。正确做法是遍历副本,或者用推导式生成新列表。

可变默认参数。前面提过的def fn(items=[]),看起来正常,实际会跨调用累积数据。

浮点数比较。0.1 + 0.2 == 0.3的结果是假,因为二进制浮点无法精确表示这些小数。涉及金额计算应该用decimal模块。

混淆浅拷贝和深拷贝。嵌套结构用copy.deepcopy(),否则改内层会连带改到原对象。

用列表做大量成员判断。判断某个值是否在集合里时,用set的时间复杂度远低于list,数据量大时差别明显。

常见问题

Q:3.10 到期后必须升级吗?

不是强制,但停止支持意味着不再有安全修复。开发机和生产环境都建议升到还在维护的版本,升级前先确认依赖库的兼容性。

Q:虚拟环境用哪个工具?

标准库自带的venv就够用,不依赖额外安装。团队里已经在用别的工具(conda、poetry 等)就跟着团队走,不用刻意统一。

Q:基础语法学完该做什么练习?

做能立刻看到结果的小工具,比如批量重命名文件、读取表格做统计、抓取公开数据存成表格。有明确输出目标的练习,比刷语法题记得牢。

Q:需要学完所有语法才开始写项目吗?

不需要。掌握变量、循环、函数、列表字典这几样就能开始动手,剩下的边写边补。等学完再动手,通常就停在学了。

Q:报错信息看不懂怎么办?

从最后一行往上读。最后一行是异常类型和描述,往上几行是出错的具体位置。带着这两条信息去搜索,命中率很高。


关于墨衍:如果你也在多个平台发技术文章,值得看看墨衍。三个最常用的权益——发文额度提升(密集更新不再受限)、批量 GEO 检测(一次扫完全部文章的 AI 引用状态)、AI 图文同步(一稿多平台分发)。点这里了解墨衍会员

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询