0

0

Python新手最易踩坑_初学者错误总结

冷炫風刃

冷炫風刃

发布时间:2026-03-02 17:34:03

|

760人浏览过

|

来源于php中文网

原创

python新手常见五大陷阱:缩进必须统一用4空格;变量名拼写、作用域或分支定义不全致nameerror;可变对象不可作默认参数,应改用none初始化;字符串拼接需类型一致,f-string调用方法勿漏括号。

python新手最易踩坑_初学者错误总结

Python新手常因忽略语言特性或惯性思维掉进“看似合理实则报错”的坑里。这些错误不难解决,但容易反复出现、耽误学习节奏。

缩进不当:不是风格问题,是语法硬性要求

Python用缩进来定义代码块,而非大括号。混用空格和Tab、缩进多一层或少一层,都会直接触发IndentationErrorTabError

  • 编辑器务必设为“显示空白字符”,确认统一用4个空格(PEP 8推荐)
  • 复制他人代码时,粘贴后全选→重新缩进(多数编辑器支持Ctrl+Shift+I或Cmd+Shift+I)
  • 不要手动敲Tab键——IDE通常会自动转成空格;若手动敲了,检查设置里是否启用了“Tab转空格”

变量未定义就使用:名字错了、拼写漏了、作用域搞混了

NameError: name 'xxx' is not defined 是新手最高频报错。常见原因有三种:

Sora
Sora

Sora是OpenAI发布的一种文生视频AI大模型,可以根据文本指令创建现实和富有想象力的场景。

下载
  • 变量名打错:比如定义了user_name,却写了username(少下划线)
  • 在函数内修改全局变量但没声明:count = 0在函数外,函数里写count += 1会报错,需加global count
  • 条件分支中只在某一分支定义变量:if里赋值了result,else没赋,后续直接用就会报错

可变对象当默认参数:函数多次调用结果“串了”

def add_item(item, lst=[]): lst.append(item); return lst看似正常,但第二次调用会发现列表里有前一次的元素——因为[]在函数定义时只创建一次,后续每次调用都复用同一个列表对象。

立即学习Python免费学习笔记(深入)”;

  • 正确写法:用None作默认值,函数内再初始化:def add_item(item, lst=None): if lst is None: lst = []
  • 这个坑对字典、集合等可变类型同理,切记:所有可变对象都不该当默认参数

字符串拼接与格式化误用:+ 和 f-string 混搭出错

想打印"年龄:" + age,但age是整数,会报TypeError: can only concatenate str...;又或者用f-string时写成f"姓名:{name.upper}"(漏了括号),结果输出的是方法对象地址而非大写字符串。

  • 拼接前统一转成字符串:"年龄:" + str(age)
  • f-string里调用方法必须带括号:f"姓名:{name.upper()}"
  • 不确定类型时,优先用f-string或.format(),它们会自动做类型转换

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

910

2023.08.02

if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

839

2023.08.22

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

201

2023.11.20

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

866

2023.07.31

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

454

2024.06.27

全局变量怎么定义
全局变量怎么定义

本专题整合了全局变量相关内容,阅读专题下面的文章了解更多详细内容。

87

2025.09.18

python 全局变量
python 全局变量

本专题整合了python中全局变量定义相关教程,阅读专题下面的文章了解更多详细内容。

104

2025.09.18

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

678

2023.08.03

Golang 测试体系与代码质量保障:工程级可靠性建设
Golang 测试体系与代码质量保障:工程级可靠性建设

Go语言测试体系与代码质量保障聚焦于构建工程级可靠性系统。本专题深入解析Go的测试工具链(如go test)、单元测试、集成测试及端到端测试实践,结合代码覆盖率分析、静态代码扫描(如go vet)和动态分析工具,建立全链路质量监控机制。通过自动化测试框架、持续集成(CI)流水线配置及代码审查规范,实现测试用例管理、缺陷追踪与质量门禁控制,确保代码健壮性与可维护性,为高可靠性工程系统提供质量保障。

48

2026.02.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.5万人学习

Django 教程
Django 教程

共28课时 | 4.7万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号