8种常见python运行错误,看看你中招了没?

news2025/3/1 1:38:11

人生苦短 我用python

对于刚入门Python的新手同学来说,

在运行代码时总免不了报错。

在这里插入图片描述

如何通过报错查找错误代码?

今天给大家总结了一些常见的报错类型,

每种报错都会有标有错误细节和错误行。

大家以后看到了,就更容易找出自己的bug了。

在这里插入图片描述

源码、资料点击这里


SyntaxError: 语法错误

就是你输入的代码不符合格式,
可能多打、少打或错打了一些必要的字母或者标点。

在这里插入图片描述

# 例:忘记加英文冒号
def func1()
  print('Hello World')
# 报错:SyntaxError: invalid syntax
#python学习交流:903971231#
# (语法错误:无效的语法)
# 正确写法
def func1():
  print('Hello World')

IndentationError:缩进错误

Python非常注重缩进的层次,

一旦确定了缩进层次,后面就要统一。

一开始用两个或者四个空格作为一个缩进,

后面也需要一直保持一样的标准,

否则机器就会识别错乱。

在这里插入图片描述

# 例:y = 2 缩进错误
def func2():
  x = 1
 y = 2
# 报错:IndentationError: unindent does not match any outer indentation level
# (缩进错误:(y = 2 这一行)缩进变小了,但是其它地方匹配不到和他一样的缩进层级)
# 正确写法
def func2():
  x = 1
  y = 2

TypeError:类型错误

字典,列表,元组等在使用时一定要区分开,
有些函数可以通用,有些就是专属。
用错了就会有这类的报错,要灵活的进行类型转换。

在这里插入图片描述

# 例:没有将元组改为元组个数整型
t=( 'a', 'b', 'c')
for i in range(t):
    print([i])
# 报错:TypeError: 'tuple' object cannot be interpreted as an integer
# (类型错误:元组对象不能被解释为整数)
# 正确写法
t=( 'a', 'b', 'c')
for i in range (len(t)):
    print([i])

NameError:变量名错误

忘记定义变量,
或者定义的变量不用补全键敲错,
就会报这种错误。

在这里插入图片描述

# 例:全局作用域不能访问局部变量
def func4():
  x = 1
print(x)
# 报错:NameError: name 'x' is not defined
# (变量名错误:变量名 'x' 没有被定义)
# 正确写法
def func4():
  x = 1
  print(x)

AttributeError:属性错误

特性引用和赋值失败时会引发属性错误。

在这里插入图片描述

# 例:元组中没有append属性
tp=('1','3','5')
tp.append('7')
print(tp)
# 报错:AttributeError: 'tuple' object has no attribute 'append'
# (属性错误:元组对象没有'append'属性)
# 正确写法
tp=('1','3','5')
tp=('1','3','5','7')
print(tp)

IndexError:索引错误

使用的索引不存在,
常索引超出序列范围。

在这里插入图片描述

# 例:引用超过list最大索引
spam = ['cat', 'dog', 'mouse']
print(spam[6])
# 报错:IndexError: list index out of range
# (索引错误:列表索引超出范围)
# 正确写法
spam = ['cat', 'dog', 'mouse']
print(spam[2])

KeyError:关键字错误

使用了映射中不存在的关键字(键)时引发的关键字错误。

在这里插入图片描述

# 例:使用不存在的字典键值
spam = {'cat': 'Zophie', 'dog': 'Basil','mouse': 'Whiskers'}
print('The name of my pet zebra is ' + spam['zebra'])
# 报错:KeyError: 'zebra'
# (关键字错误:'zebra')
# 正确写法
spam = {'cat': 'Zophie', 'dog': 'Basil','mouse': 'Whiskers'}
print('The name of my pet zebra is ' + spam['cat'])

TabError:Tab错误

相邻的两句的缩进需要统一使用tab或统一使用空格,

不能混用,否则就会出现报错。

在这里插入图片描述

# 例:Tab空格混用
def func8():
  x = 1
	y = 2
# 报错:TabError: inconsistent use of tabs and spaces in indentation
# (Tab错误:缩进中Tab键和空格的使用不一致)
#正确写法
def func8():
  x = 1
  y = 2

以上,是我们入门Python时最常见的一些错误类型。

另外还有很多错误,我把整理的表格分享给大家,

记得收藏起来~~

源码、资料点击这里

在这里插入图片描述
平时如果出错了,记得把错误保存起来,

每种错误下还有很多细分错误,

多多积累,自然而然就熟悉啦。

努力只能及格 拼命才会优秀在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/94564.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用navicat工具生成表的新增字段sql

1、在需要的表右键,设计表 2、点击【添加字段】 3、创建字段及注释,不要点【保存】和CtrlS 4、点击【SQL预览】 5、复制生成的sql语句

iframe 标签

一. 什么是 iframe 1. iframe 是 HTML元素,用于在网页中内嵌另外一个网页. 2. iframe 默认有一个宽高,存在边界. 3. iframe 是一个行内块级元素,可以通过 display 修改. 二. iframe 元素属性 1. src : 指定内联网页的地址 2. frameborder : iframe 默认有个边界,可以设置fram…

深入剖析Linux RCU原理(一)初窥门径

说明: Kernel版本:4.14ARM64处理器,Contex-A53,双核使用工具:Source Insight 3.5, Visio 1. 概述 RCU, Read-Copy-Update,是Linux内核中的一种同步机制。RCU常被描述为读写锁的替代品&#xf…

Openssl 1024bit RSA算法---公私钥获取和处理(一)

1.简介 使用OpenSSL生成公私钥文件,然后再将文件中的信息读出的操作。 由于要对设备升级,需要用到RSA算法对一部分验证信息进行加密. 2.使用OpenSSL获取公私钥 我在window系统尝试安装OpenSSL,但是安装不上,我们可以使用linux…

模式识别 第7、8章 特征的选择和提取

基本概念 问题的提出 特征→ 特征空间: 每一个特征对应特征空间的一个维度 ;特征越多,特征空间的维度越高原则:在保证分类效果的前提下用尽量少的特征来完成分类基本概念 (1)特征形成:由仪器…

如何去除图片雾化?给你推荐图片去雾怎么去除的方法

小伙伴们会不会和我一样喜欢外出爬山呢?为了留住美好记忆,我们会在途中拍照记录。但是山上很经常会有雾气,会容易导致我们拍出来的图片模糊不清。那应该怎么办呢?其实,我们只要对图片进行去雾处理就可以很好解决这个问…

[附源码]Nodejs计算机毕业设计基于的校园疫情防控管理Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…

Web(十一)JavaScript知识训练-数学对象

1、Math.ceil(-3.14)的结果是( B)。 A、 -3.14 B、 -3 C、 -4 D、 3.14 2、Math.floor(-3.14)的结果是( C)。 A、 -3.14 B、 -3 C、 -4 D、 3.14 3、Math.round(-3.14)的结果是( B)。 A、 -3.14 B、 -3 C…

Spring Cloud Openfeign微服务接口调用与Hystrix集成实战

关于openfeign 可以认为OpenFeign是Feign的增强版,不同的是OpenFeign支持Spring MVC注解。OpenFeign和Feign底层都内置了Ribbon负载均衡组件,在导入OpenFeign依赖后无需专门导入Ribbon依赖,用做客户端负载均衡,去调用注册中心服务…

dataFactory向mysql批量插入测试数据

目录 第一步:准备阶段:datafactory已连接app_user的表 第二步: 点击原表app_user,其中属性界面properties中配置含义如下: 第三步:根据需要设置插入字段 第四步:设置每个字段的规则后,点击se…

病毒之Worm.Win32.AutoRun

题外话:在被奥密克戎包围的我(两个室友和我,一个低烧、一个咳嗽、就差我了,这属实是真被包围了丫)在和Worm.Win32.AutoRun决一死战… 本次Worm.Win32.AutoRun的来源: windows电脑上重装vscode,然后没有 mingw-get-setu…

浏览器兼容模式如何设置?只需要跟着下面的步骤设置

许多考生在报考教师资格证或者其他的考试报名,会遇到浏览器兼容设置的问题。与其到时急急忙忙来设置浏览器的兼容模式,不如提前设置好,免了后顾之忧。浏览器兼容模式怎么设置?一起来看看关于浏览器兼容模式的含义以及设置方式吧&a…

《Python代码审计》(1)一款超好用的代码扫描工具

1.前言 从本文开始,我将开始介绍Python源代码审计,代码审计是检查源代码中的安全缺陷,检查源代码是否存在安全隐患,或者编码不规范的地方。通常使用自动化工具或者人工审查的方式,自动化工具效率高,但是误…

【浅学Java】Linux系统中的硬连接和软连接

Linux系统中的软连接和硬连接1. 前置知识1.1 文件的存储1.2 inode——索引节点1.3 Linux系统查找文件的过程2. Linux系统中的硬连接2.1 硬连接的实现原理2.2 实现硬连接的指令3. Linux系统中的软连接3.1 软连接的实现原理3.2 实现硬连接的指令4. 软连接和硬连接的区别1. 前置知…

Java 19虚拟线程实战与性能分析

Java 19推出了新特性“虚拟线程”,类似于Go语言中的协程。它是传统线程的不同之处在于,它是一种用户模式(user-mode)的线程。 虚拟线程是由 JDK 而非操作系统提供的线程的轻量级实现: 虚拟线程是没有绑定到特定操作系…

mock.js的使用

初始化 //main.js中 import "/network/fake-message/index.js" //全局文件中引入虚假数据///network/fake-message/index.js //创建伪数据 import Mock from mockjs import { Random } from mockjs//获取商品列表 Mock.mock(/api\/goodlist/,get,{status:200,mess…

基于java+springmvc+mybatis+vue+mysql的高校课程评价系统

项目介绍 在还没有计算机的时代,对于教学评价的各方面的管理都是靠纸、笔为主要的工具进行的。随着科技的发展,大量信息增长,利用传统的方式已经无法快速、准确的跟随学校各项目的管理工作了。当人们意识到对于大量信息管理的重要性的时候&a…

第二十二章 染色法与匈牙利算法

第二十二章 染色法与匈牙利算法一、使用场景——二分图二、染色法1、算法原理2、代码模板(1)问题:(2)代码:(3)分析:三、匈牙利算法1、算法用途2、算法思路3、算法模板&am…

五个月学完软件测试,现在分享以前自学的测试笔记

以前学习手抄的linux命令哈哈哈 定义 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。 测试就是发现错误而执行程序的过程。 原则 保证测试的覆盖度,但是穷举测试是不可能…

LVI-SAM坐标系外参分析与代码修改,以适配各种数据集

文章目录0.前言1.原作者传感器件坐标系定义与外参修改1.1.博客作者的讲解(仅供参考)1.2.LIO-SAM的README中作者对其传感器配置的解释1.3.IMU坐标系详解1.4.params_lidar.yaml中LIO外参修改1.4.1.作者给的参数注释问题1.4.2.自己修改代码2.LVI-SAM中的坐标…