unity消息队列判断字符串相等有错误_Python3十大经典错误及解决办法

f9c2cd9e-7913-eb11-8da9-e4434bdf6706.jpeg

◆ ◆ ◆  ◆ ◆

接触了很多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 = 642v++
解决方法:
在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 a3    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 level2IndentationError:expected an indented block
错误示例:
1a = 22while a 0:3      print('hello')4    a -= 15else:6    print('0.0')
解决方法:
上述代码中while语句体内的代码缩进没有对齐。正确使用缩进排版代码。当代码是从其它地方复制并粘贴过来的时候,这个错误较多见。

三、 NameError 名字错误

当变量名、函数名或类名等书写错误,或者函数在定义之前就被调用等情况下,就会导致名字错误。报错信息:
1NameError: name 'pirnt' is not defined2NameError: name 'sayhi' is not defined3NameError: name 'pd' is not defined
错误示例1:
1pirnt('hello world')2# 错误原因:print拼写错误。
错误示例2:
1sayhi()23def sayhi():4    pass5# 错误原因:在函数定义之前对函数进行调用。
错误示例3:
1pd.read_excel(r'file.xlsx')2# 错误原因:在调用pandas方法前并未导入pandas库或者并未起别名为pd。
解决方法:
正确书写变量名、函数名或类名等,在使用变量前先进行赋值,将函数的定义放在函数调用之前,在使用第三方库前先进行导入、调包等等。即保证某个名字(标识符)先存在,才能被使用。

四、 TypeError 类型错误

(1)整数和字符串不能进行连接操作
报错信息:
1TypeError: Can`t convert 'int' object to str implicitly2TypeError: 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 22TypeError: say() missing 1 required positional argument:'words'
错误示例1:
1input('输入姓名','年龄')2# 错误原因:试图给input()函数提供第2个参数。
错误示例2:
1def say(words):2    print(words)34say()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 = 123def test():4    s += 15    print(s)67test()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.col3# 错误原因:DataFrame没有col属性,应该为columns。
解决方法:
正确书写类的属性名,不要发生书写错误。深刻理解元祖,列表的区别,可将元祖转换为列表添加元素。

九、 ModuleNotFoundError 模块不存在

报错信息:
1ModuleNotFoundError: No module named 'pandas'
错误示例1:
1import pandas as pd2# 没有导入成功,报上面错误。
解决方法:
这种报错常见于两种场景中,第一、未下载、安装该模块;第二、将调用的模块路径与被调用的模块路径不一致等。第一种情况直接下载安装即可,在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'。偶尔也会发生文件名、路径的确写错,犯一些低级错误。

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

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

相关文章

php qmqp 没有方法,CentOS7 php 安装 amqp扩展

继续安装完 rabbitmq后,安装phpqmqp扩展1.安装rabbitmq-c安装最新版wget -c https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gztar zxf rabbitmq-c-0.8.0.tar.gzcd rabbitmq-c-0.8.0./configure --prefix/usr/local/rabbitmq…

如何提高UDP的可靠性

TCP是通过确认机制和超时重传机制实现可靠传输 UDP UDP它不属于连接型协议,因而具有资源消耗小,处理速度快的优点,所以通常音频、视频和普通数据在传送时使用UDP较多,因为它们即使偶尔丢失一两个数据包,也不会对接收结…

CentOS 7镜像下载

方式一 官网下载 官网链接:http://isoredirect.centos.org/centos/7/isos/x86_64/ Actual Country 国内资源 Nearby Countries 周边国家资源 方式二 阿里云下载 阿里云站点:http://mirrors.aliyun.com/centos/7/isos/x86_64/ 各个版本的ISO镜像文件…

Docker Dirty Cow逃逸

2019独角兽企业重金招聘Python工程师标准>>> 在Linux中,有一个功能:VDSO(virtual dvnamic shared object),这是一个小型共享库,能将内核自动映射到所有用户程序的地址空间。 Docker逃逸利用Dirty Cow漏洞,将Payload写到…

九月腾讯,创新工场,淘宝等公司最新面试三十题(更新至10.04)

九月腾讯,创新工场,淘宝等公司最新面试三十题 引言 曾记否,去年的10月份也同此刻一样,是找工作的高峰期,本博客便是最初由整理微软等公司面试题而发展而来的。如今,又即将迈入求职高峰期--10月份&#…

oracle 存long,ORACLE中LONG类型字段的存取

Oracle中存取4000字节以上大文本类型可以用此数据类型,其在C#中的读写方法如下:注意需要引用 System.Data.OracleClient然后添加命名空间:using System.Data.OracleClientORALCE建库脚本:CREATE TABLE TE…

创建office一直转圈_Windows写字板出现广告条幅:推荐用户使用在线版Office

自Windows 95开始,写字板(Wordpad)应用就一直预装在Windows操作系统中。它是一款非常简单的文本编辑器,在功能方面介于记事本和Word之间。近日Rafael Rivera发现微软正在为这款古老的写字板添加新功能--在应用中添加广告横幅。这个广告横幅就是推荐那些写…

2017软件工程实践第二次作业

1、 项目地址:https://github.com/one-piece-zero/sudoku 2、PSP表格记录的估计耗时 3、解题思路: 在拿到这个题目的时候,我最早想到的是大一下学期做的程序语言综合设计实践中的N皇后问题,这两个题目之间有许多的类似之处&#x…

CentOS7 安装或迁移 wordpress(完整迁移)

一、安装Apache web服务器 安装Apache web服务器: yum install -y httpd # 使用yum安装 systemctl start httpd # 启动Apache服务器 systemctl enable httpd # Apache服务器开机后自动启动 使用浏览器打开http://127.0.0.1检查Apache安装是否成功。成功后…

WinForm部署问题

WinForm部署问题 1、解决:This implementation is not part of the Windows Platform 问题? 一:单击 开始 ,单击 运行 ,键入 gpedit.msc ,然后单击 确定 。    二:依次展开 计算机配置 &…

oracle 未找到段的存储定义,Exp-00003 no storage definition found issue in oracle 11g (未找到段 (0,0) 的存储定义)...

连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,Data Mining and Real Application Tes已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集服务…

signal软件如何退出账号_超好用的手机视频剪辑软件Videoleap内购分享

注意事项【必读】:1.必须按照下面的教程操作,教程讲的很详细。2.如果遇到帐号密码错误,先看本页面新密码再登陆,别乱试密码。3.如果手机上有你购买的这个软件,请先卸载,再用我们的苹果id登陆下载&#xff0…

MySQL 常用内置函数

MySQL官方文档:https://dev.mysql.com/doc/refman/5.6/en/func-op-summary-ref.html MySQL数据库提供了很多函数包括 一、数学函数 二、字符串函数 三、日期时间函数 四、聚合函数(常用于GROUP BY从句的SELECT查询中) 五、条件判断函数 六、系统信息函数 七、…

python之eval函数,map函数,zip函数

eval(str)函数很强大,官方解释为:将字符串str当成有效的表达式来求值并返回计算结果。所以,结合math当成一个计算器很好用。 eval()函数常见作用有: 1、计算字符串中有效的表达式,并返回结果 >>> eval(pow(2,…

第一个servlet小程序

第一个servlet小程序 com.fry.servlet.HelloServlet 1 package com.fry.servlet;2 3 import javax.servlet.ServletException;4 import javax.servlet.http.HttpServlet;5 import javax.servlet.http.HttpServletRequest;6 import javax.servlet.http.HttpServletResponse;7 im…

腾讯校园招聘面试的秘密

转自公司同事戴钊的文章 由于从事基层管理岗位的原因,最近两年有机会在武汉、南京、上海等地进行校园招聘,为公司选拔优秀人才,在这个过程中接触过一百多名各种类型的应聘毕业生,我深深为这些莘莘学子渴望进入腾讯的热情所感动&am…

win10开启oracle服务器配置,Windows环境(Win10)下安装、配置服务器类Oracle Database 11g Release 2...

该篇为服务器类Oracle Database 11gRelease 2的安装、配置,若需安装、配置桌面类(通常是选择桌面类,如果是将本机作为服务器来使用,则选择服务器类),可参考“Windows环境(Win10)下安装、配置桌面类Oracle Database 11g Release 2”…

简单的机器学习程序_人体动作识别小程序【机器学习 人工智能】

人体动作识别(Human activity recognition)是健康领域一个热点问题,它通过加速度计,陀螺仪等传感器记录人体运动数据,对人体动作进行识别。最近用微信小程序做了一个动作识别的项目,同时尝试部署了单片机。首先奉上b站的视频链接&…

python基础查漏补缺1--算数、字符串与变量

1. math相关函数 函 数描 述ceil(x) 大于或等于x的整数cos(x)  x的余弦 degrees(x)将x的弧度转换为度数exp(x)e的x次方factorial(n)计算n的阶乘(n!),n 必须为整数log(x)以e为底的x的对数log(x,b)以b为底的x的对数pow(x,y)x的y次方radians(s)将x转换为弧度数sin(x)x的正弦…

CSS布局说——可能是最全的

前言 现在,我们被称为前端工程师。然而,早年给我们的称呼却是页面仔。或许是职责越来越大,整体的前端井喷式的发展,使我们只关注了js,而疏远了css和html。 其实,我们可能经常在聊组件化,咋地咋地…