Python3十大经典错误及解决办法

Matlab基于PSO-MVMD粒子群算法优化多元变分模态分解 阅读详情

◆ ◆ ◆  ◆ ◆

接触了很多Python爱好者,有初学者,亦有转行人。不论大家学习Python的目的是什么,总之,学习Python前期写出来的代码不报错就是极好的。下面,严小样儿为大家罗列出Python3十大经典错误及解决办法,供大家学习。

一、 SyntaxError 语法错误

(1)引号没有成对出现

报错信息:

1SyntaxError:EOL while scanning string literal

错误示例:

1string = 'hello world

解决方法:
字符串切记要放在引号中,单引号双引号无所谓。当一个字符串中包含单引号或双引号时,很容易出现引号不配对的情况。

(2)圆括号没有成对出现

报错信息:

1SyntaxError:unexpected EOF while parsing

错误示例1:

1result = (1024+(512*2)/128

错误示例2:

1print('hello world'

解决方法:
使圆括号成对出现。在书写复杂的表达式或调用函数时会经常遇到这个问题。

(3)错误使用自操作运算符++或--等

报错信息:

1SyntaxError:invalid syntax

错误示例:

1v = 64
2v++

解决方法:
在Python语言中,没有类似C语言的++或--等自操作运算符。与之类似功能的用法是+=或-=运算符。例如,使用下面的代码进行让变量v进行自增1的操作。

1v += 1

(4)试图使用等号(=)判断两个运算量是否相等

报错信息:

1SyntaxError:invalid syntax

错误示例:

1if v=64:
2    print('hello world')

解决方法:
在Python语言中使用两个等号(==)作为判断两个运算量是否相等的关系运算符,而等号(=)是赋值运算符。

(6)错误使用Python语言关键字作为变量名

报错信息:

1SyntaxError: can`t assign to keyword

错误示例:

1False= 1

解决方法:
不要使用Python语言关键字作为变量名、函数名或类名等。在Python Shell窗口中,使用help('keywords')指令可以查看Python语言的关键字列表。

(7)忘记在if/elif/else/while/for/def/class等语句末尾添加冒号(:)

报错信息:

1SyntaxError:invalid syntax

错误示例1:

1a = '12345'
2for i  in a
3    print(i)

错误示例2:

1def sayhi()
2    print('Hi')

解决方法:
在if/elif/else/while/for/def/class等语句末尾添加冒号(:)即可。牢记语法规则,多多练习多多敲代码。

(8)错误地使用了中文标点符号

报错信息:

1SyntaxError: invalid character in identifier

错误示例1:

1print('hello','world')
2# 错误原因:逗号是中文标点符号

错误示例2:

1for i in range(10):
2# 错误原因:冒号是中文标点符号

解决方法:
除了字符串中可以有中文外,其它任何情况均使用英文状态进行编辑。

二、 IndentationError 缩进错误

报错信息:

1IndentationError:unindent does not match any outer indentation level
2IndentationError:expected an indented block

错误示例:

1a = 2
2while a < 0:
3      print('hello')
4    a -= 1
5else:
6    print('0.0')

解决方法:
上述代码中while语句体内的代码缩进没有对齐。正确使用缩进排版代码。当代码是从其它地方复制并粘贴过来的时候,这个错误较多见。

三、 NameError 名字错误

当变量名、函数名或类名等书写错误,或者函数在定义之前就被调用等情况下,就会导致名字错误。

报错信息:

1NameError: name 'pirnt' is not defined
2NameError: name 'sayhi' is not defined
3NameError: name 'pd' is not defined

错误示例1:

1pirnt('hello world')
2# 错误原因:print拼写错误。

错误示例2:

1sayhi()
2
3def sayhi():
4    pass
5# 错误原因:在函数定义之前对函数进行调用。

错误示例3:

1pd.read_excel(r'file.xlsx')
2# 错误原因:在调用pandas方法前并未导入pandas库或者并未起别名为pd。

解决方法:
正确书写变量名、函数名或类名等,在使用变量前先进行赋值,将函数的定义放在函数调用之前,在使用第三方库前先进行导入、调包等等。即保证某个名字(标识符)先存在,才能被使用。

四、 TypeError 类型错误

(1)整数和字符串不能进行连接操作

报错信息:

1TypeError: Can`t convert 'int' object to str implicitly
2TypeError: unsupported operand type(s) for + : 'float' and 'str'

错误示例1:

1print('score:'+100)

错误示例2:

1print(9.8 + 'seconds')

解决方法:
在整数、浮点数或布尔值与字符串进行连接操作之前,先使用str()函数将其转换为字符串类型。

(2)调用函数时参数的个数不正确,或者未传递参数

报错信息:

1TypeError: input expected at most 1 arguments,got 2
2TypeError: say() missing 1 required positional argument:'words'

错误示例1:

1input('输入姓名','年龄')
2# 错误原因:试图给input()函数提供第2个参数。

错误示例2:

1def say(words):
2    print(words)
3
4say()
5# 错误原因:调用函数时未传递参数。

解决方法:
记住函数用法,了解函数的参数定义,使用正确的方法调用函数即可。

五、 KeyError 键错误

使用不存在的键名访问字典中的元素,就会发生这个错误。

报错信息:

1KeyError: 'c'

错误示例:

1d = {'a':1,'b':2}
2print(d['c'])

解决方法:
在访问字典中的元素时,先用in关键字检测要访问的键名是否存在,或者是使用字典和get()方法安全地访问字典元素。

六、 IndexError 索引错误

当访问列表的索引超出列表范围时,就会出现索引错误。

报错信息:

1IndexError: list index out of range

错误示例:

1a = [1,2,3]
2print(a[3])
3# 错误原因:列表a中不存在第4个索引。列表的索引从0开始编号。

解决方法:
通过len()函数获取列表的长度,然后判断要访问的索引是否超出列表范围。

七、 UNboundLocalError 未初始化本地变量错误

在函数中,如果对未声明的全局变量进行修改操作,将会遇到这个错误。

报错信息:

1UnboundLocalError: local variable 's' referenced before assignment

错误示例:

1s = 1
2
3def test():
4    s += 1
5    print(s)
6
7test()
8# 错误原因:在函数内对未声明的全局变量s进行了自增操作。
9# Python将变量s视为一个本地的局部变量,但该变量未初始化。

解决方法:
在函数内使用全局变量时,使用global关键字对其进行声明即可。

八、 AttributeError 属性错误

报错信息:

1AttributeError: 'tuple' object has no attribute 'append'
2AttributeError: 'DataFrame' object has no attribute 'col'

错误示例1:

1t = (1,2,3)
2t.append(4)
3# 错误原因:元祖不可变。

错误示例2:

1df = pd.read_excel(r'data.xlsx')
2df.col
3# 错误原因:DataFrame没有col属性,应该为columns。

解决方法:
正确书写类的属性名,不要发生书写错误。深刻理解元祖,列表的区别,可将元祖转换为列表添加元素。

九、 ModuleNotFoundError 模块不存在

报错信息:

1ModuleNotFoundError: No module named 'pandas'

错误示例1:

1import pandas as pd
2# 没有导入成功,报上面错误。

解决方法:
这种报错常见于两种场景中,第一、未下载、安装该模块;第二、将调用的模块路径与被调用的模块路径不一致等。第一种情况直接下载安装即可,在cmd中,pip install xxx;第二种情况电脑中可能存在多个版本的Python,建议保留一个常用的即可。

十、 FileNotFoundError 文件不存在

报错信息:

1FileNotFoundError: File b'E:\test\test_data.csv' does not exist

错误示例:

1pd.read_csv('E:\test\test_data.csv')
2# 错误原因:路径中包含'\t',系统错误地认为是制表符。

解决方法:
在确保该路径下确实存在所写文件后,在读取文件路径前面加'r',表示只读,作为文件路径读取;或者使用双斜杠'\ \'来进行转义,形如:'E:\ \test\ \test_data.csv'。偶尔也会发生文件名、路径的确写错,犯一些低级错误。

【BUG已解决】RuntimeError: CUDA error: no kernel image is available for execution on the device 解决方案 方案适用场景推荐指数精确匹配官方版本绝大多数场景(大众消费卡+主流数据中心卡)⭐⭐⭐⭐⭐安装历史旧版本Pascal/Maxwell等老显卡⭐⭐⭐⭐安装Nightly版本刚发布的最新架构显卡⭐⭐⭐⭐源码编译官方各版本均不支持的特殊硬件⭐⭐Docker官方镜像追求省心、避免版本排查⭐⭐⭐⭐⭐的核心是PyTorch 预编译包不包含你显卡对应的计算能力架构先确认显卡真实计算能力),而不是盲目重装驱动对比 PyTorch 支持的架构列表),定位是否真的不匹配精确匹配官方版本。 阅读详情

相关推荐

压电传感器信号放大难题?用运放设计电荷放大器的5个关键步骤

本文详细解析了压电传感器信号放大难题,并提供了用运放设计电荷放大器的5个关键步骤。从电压放大到电荷放大的范式转换,到运放选型、反馈网络设计、PCB布局及频响特性验证,帮助工程师解决工业自动化中的信号衰减问题,提升测量精度和稳定性。

weixin_27303545的博客 452

python报错AttributeError: ‘DataFrame‘ object has no attribute ‘append‘

报错内容:

No12angle的博客 1万+

DID实战指南:从平行趋势检验到PSM-DID的Stata全流程解析

本文详细解析了双重差分法(DID)在政策评估中的应用,从平行趋势检验到PSM-DID的Stata全流程操作。通过实例演示和代码示例,帮助研究者掌握DID方法的核心逻辑、前提条件验证及稳健性检验技巧,提升因果推断研究的准确性。

weixin_29234239的博客 742

【python报错】AttributeError: ‘DataFrame‘ object has no attribute ‘append‘

这个错误的产生通常由于利用pandas的append()方法为DataFrame对象添加新行导致,事实上,。

Cannta的博客 1万+

Apache Hop集成Spring Boot实战:从配置到执行HPL文件

本文详细介绍了将Apache Hop集成到Spring Boot应用中的完整实战方案。通过配置核心依赖、初始化Hop环境、编写服务层逻辑,实现了在Java应用中程序化执行HPL管道文件,从而将可视化ETL能力无缝嵌入微服务架构,提升数据处理的自动化与可维护性。

blue42的博客 477

FreeSWITCH编译安装详细文档

本文档详细介绍了在Ubuntu 22.04系统上从源码编译安装FreeSWITCH的完整流程。主要内容包括:1)系统环境准备和依赖库安装;2)关键依赖库spandsp和sofia-sip的编译安装;3)FreeSWITCH源码的特定版本(v1.6.0)编译配置,包括禁用SignalWire模块的配置方法;4)系统服务配置,包括创建专用用户、设置权限以及配置systemd服务文件。文档特别提供了版本控制说明,确保后期能切换到相同的版本环境,并附有详细的命令操作步骤和注意事项。

唯有代码让我痴狂 1371

AttributeError: ‘DataFrame‘ object has no attribute ‘append‘的参考解决方法

AttributeError: 'DataFrame' object has no attribute 'append'的参考解决方法

qq_39779233的博客 5375

双有源桥变换器(DAB)TPS控制:从理论建模到Simulink/PSIM仿真实践

本文深入探讨了双有源桥变换器(DAB)的三重移相(TPS)控制技术,从理论建模到仿真实现。文章详细分析了TPS相比SPS和DPS的优势,阐述了其12种工况的划分逻辑与电流应力最优调制策略,并提供了在Simulink和PSIM平台搭建仿真模型的详细步骤与实战经验,帮助工程师掌握这一高效控制方法。

white的博客 584

AttributeError: ‘DataFrame‘ object has no attribute ‘append‘ 解决方案

AttributeError: 'DataFrame' object has no attribute 'append' 解决方案

dream6985的博客 1万+

天池长期赛:二手车价格预测(422方案分享)

本次比赛是一次很好的锻炼数据挖掘能力的入门赛,从EDA-数据清洗-特征工程-模型调参-模型融合,能够完整的学习到大数据的分析和挖掘,值得历练。

weixin_46685991的博客 1万+

(五)深入理解Bluez协议栈之“GATT Server Profile”

上一篇介绍Bluez协议栈的了GAP Profile的实现,本章节我们继续介绍GATT Profile的实现,参考的程序是Peripheral。通过阅读它的实现代码可以发现,它广播部分是通过mgmt来实现的,然后在初始化完成之后,创建了一个L2CAP类型的socket,来负责实现GATT Server的逻辑。

1146

【python】name ‘pd‘ / ‘np‘ is not defined 报错解决办法

报错:name 'pd'is not defined 或者 name 'np' is not defined 解决办法: 需要修改的部分 import pandas 修改为: import pandas as pd 同样的,需要修改的部分: import numpy 修改为: import numpy as np 为什么会出现这个问题呢? 原因很简单,pd 和 np都是指前面模块,重新定义,这样在后面调用的时候直接用缩写会更加方便,而且这个缩写是约定俗成的,所以其他码农一看也.

HelenLee 4万+

更新|芒果YOLOv8改进182:注意力机制MLLA:即插即用|融合 Mamba 设计精髓的线性注意力视觉Transformer

芒果YOLOv8改进:即插即用,最新注意力机制MLLA:融合 Mamba 设计精髓的线性注意力视觉Transformer

包括YOLOv5、YOLOv7、YOLOv8等模型改进 867

python语言包含的错误_Python3十大经典错误及解决办法

◆◆◆ ◆◆接触了很多Python爱好者,有初学者,亦有转行人。不论大家学习Python的目的是什么,总之,学习Python前期写出来的代码不报错就是极好的。下面,严小样儿为大家罗列出Python3十大经典错误及解决办法,供大家学习。一、 SyntaxError 语法错误(1)引号没有成对出现报错信息:1SyntaxError:EOLwhilescanningstringlitera...

weixin_39992483的博客 404

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

python3经典版本_Python3之十大经典错误及其解决办法

作者 | 严小样儿来源 | 统计与数据分析实战接触了很多Python爱好者,有初学者,亦有转行人。不论大家学习Python的目的是什么,总之,学习Python前期写出来的代码不报错就是极好的。下面,严小样儿为大家罗列出Python3十大经典错误及解决办法,供大家学习。一、 SyntaxError 语法错误(1)引号没有成对出现报错信息:1SyntaxError:EOL while scanning...

weixin_39668282的博客 182

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Python3之十大经典错误及其解决办法

大家罗列出Python3十大经典错误及解决办法,供大家学习。 一、 SyntaxError 语法错误 (1)引号没有成对出现 报错信息: 1SyntaxError:EOL while scanning string literal 错误示例: 1string = 'hello world 解决方法:字符串切记要放在引号中,单引号双引号无所谓。当一个字符串中包含单引号或双引号时,很容易出现引号不配对的情况。 (2)圆括号没有成对出现 报错信息: 1SyntaxError:unexpected EOF whi

qq_22583741的博客 652

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

调用 ogc_area 时参数个数或类型错误_Python3之十大经典错误及其解决办法

作者 | 严小样儿来源 | 统计与数据分析实战接触了很多Python爱好者,有初学者,亦有转行人。不论大家学习Python的目的是什么,总之,学习Python前期写出来的代码不报错就是极好的。下面,严小样儿为大家罗列出Python3十大经典错误及解决办法,供大家学习。一、 SyntaxError 语法错误(1)引号没有成对出现报错信息:1SyntaxError:EOL while scanning...

weixin_42510914的博客 351

unboundlocalerror python_Python3之十大经典错误及其解决办法:SyntaxError 语法错误、IndentationE...

接触了很多Python爱好者,有初学者,亦有转行人。不论大家学习Python的目的是什么,总之,学习Python前期写出来的代码不报错就是极好的。下面,严小样儿为大家罗列出Python3十大经典错误及解决办法,供大家学习。一、 SyntaxError 语法错误(1)引号没有成对出现报错信息:1SyntaxError:EOL while scanning string literal错误示例:1st...

weixin_39876856的博客 577

初学rpa的十大经典错误及解决办法_Python3之十大经典错误及其解决办法

作者 | 严小样儿来源 | 统计与数据分析实战接触了很多Python爱好者,有初学者,亦有转行人。不论大家学习Python的目的是什么,总之,学习Python前期写出来的代码不报错就是极好的。下面,严小样儿为大家罗列出Python3十大经典错误及解决办法,供大家学习。一、 SyntaxError 语法错误(1)引号没有成对出现报错信息:1SyntaxError:EOL while scanning...

weixin_39996035的博客 2049

【Python基础】Python3十大经典错误及解决办法

◆◆◆ ◆◆接触了很多Python爱好者,有初学者,亦有转行人。不论大家学习Python的目的是什么,总之,学习Python前期写出来的代码不报错就是极好的。下面,严小样儿为大家...

fengdu78的博客 1060
上一篇: 知乎上高赞的40个有趣回复,很精辟!
下一篇: 车票?工作?对象?且看Python如何优雅解决年关三大难题!
菜鸟学Python
博客等级 码龄9年 8086粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值