python中出现invalid syntax报错的几种原因分析


Posted in Python onFebruary 12, 2022

出现invalid syntax报错的几种原因

这篇文章旨为刚接触python不久的朋友,提供一点帮助,请在检查代码没有主要问题时再看是否存在以下问题。

一般来说,写完代码运行时,如果代码中有错误,解释器会提示错误信息,按照提示信息,一般很快可以找出错误,进行修改。但也有一些时候错误提示的信息不是那么明确,代码检查了几遍仍找不出问题,就比较头疼了。今天我们来说一个常见的invalid syntax,在写代码的过程中,哪些小细节错误容易导致invalid syntax报错。更多的原因,后续逐渐补充......

1.符号使用不正确

例如:只写了半个括号,使用了中文符号等

像下面的代码中,76行少了一个右括号。

……
        else:
            header = "HTTP/1.1 200 OK\r\n"
            header += "\r\n"
            body = "hahahaha"
            response = header + body
            new_socket.send(response.encode("utf-8")
        new_socket.close()
    def run_forever(self):
        while True:
            new_socket, client_addr = self.tcp_server_socket.accept()
            
            p = multiprocessing.Process(target=self.service_client, args=(new_socket,))
            p.start()
            
            new_socket.close()
            ……

运行代码,则会报错:

 File "w01.py", line 78
    new_socket.close()
             ^
SyntaxError: invalid syntax

其实,78行并没有错误,这时我们就在78行附近寻找,看是否有成对的符号(如括号)未成对使用的情况。在76行补全右括号后,代码运行正常。

有些解释器会有自动补全符号的功能。有些则没有,这时对于新手朋友要特别注意,在写成对的符号时(例如括号、引号等)一定要一次把一对符号写完,再在符号中填写内容,避免因这种情况出现bug,后续检查花费大量时间。

2.代码缩进问题

python是一种严格依赖缩进的语言,如果缩进不正确或缩进格式不统一,一般错误信息会明确告诉你,但有时也会出现invalid syntax报错。

所谓缩进不正确,python的缩进是四个空格或一个TAB,如果缩进三个空格,一定报错

所谓缩进格式,即不能空格和TAB混用。如果不清楚是否存在混用,可以使用sublime统一调整即可。

invalid syntax——无效语法

错误代码块

num_1=float(input(“请输入第一个数:”))
num_2=float(input(“请输入第二个数:”))
c=(input(“请选择运算类型:1.+ 2- 3.* 4./ 5.% :”))
if c==+
out=num_1 + num_2
if c==-:
out=num_1 - num_2
if c==*:
out=num_1 * num_2
if c==/:
out=num_1 / num_2
if c==%:
out=num_1 % num_2
print(“运算结果是:”,out)`

出现错误:invalid syntax

在此程序中,把“、+、-、、/等运算符直接用在if条件中造成报错,故字符串类型和数值类型*不一样,应用“+”、“-”符号作为判断条件。

调整后代码

num_1=float(input(“请输入第一个数:”))
num_2=float(input(“请输入第二个数:”))
c=(input(“请选择运算类型:1.+ 2- 3.* 4./ 5.% :”))
if c=="+":
out=num_1 + num_2
if c=="-":
out=num_1 - num_2
if c=="*":
out=num_1 * num_2
if c=="/":
out=num_1 / num_2
if c=="%":
out=num_1 % num_2
print(“运算结果是:”,out)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python zip文件 压缩
Dec 24 Python
跟老齐学Python之折腾一下目录
Oct 24 Python
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
Apr 11 Python
python实现逻辑回归的方法示例
May 02 Python
python3操作mysql数据库的方法
Jun 23 Python
Python基于identicon库创建类似Github上用的头像功能
Sep 25 Python
Python 3.6打包成EXE可执行程序的实现
Oct 18 Python
Pandas时间序列:重采样及频率转换方式
Dec 26 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
Jan 10 Python
Django自带用户认证系统使用方法解析
Nov 12 Python
python小技巧——将变量保存在本地及读取
Nov 13 Python
使用python向MongoDB插入时间字段的操作
May 18 Python
python ConfigParser库的使用及遇到的坑
Feb 12 #Python
Python制作春联的示例代码
Jan 22 #Python
Python制作表白爱心合集
基于Python实现一个春节倒计时脚本
Jan 22 #Python
详解Python如何批量采集京东商品数据流程
Jan 22 #Python
用Python实现屏幕截图详解
Jan 22 #Python
Python实现学生管理系统并生成exe可执行文件详解流程
Jan 22 #Python
You might like
php支付宝系列之电脑网站支付
2018/05/30 PHP
javascript globalStorage类代码
2009/06/04 Javascript
prototype 学习笔记整理
2009/07/17 Javascript
js 获取浏览器高度和宽度值(多浏览器)
2009/09/02 Javascript
json 入门基础教程 推荐
2009/10/31 Javascript
Zero Clipboard js+swf实现的复制功能使用方法
2010/03/07 Javascript
jquery 注意事项与常用语法小结
2010/06/07 Javascript
改进版通过Json对象实现深复制的方法
2012/10/24 Javascript
javascript对下拉列表框(select)的操作实例讲解
2013/11/29 Javascript
jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
2014/05/22 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
js通过location.search来获取页面传来的参数
2014/09/11 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
2015/11/09 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
2017/02/10 Javascript
React中的render何时执行过程
2018/04/13 Javascript
JS实现简易计算器
2020/02/14 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
[58:57]2018DOTA2亚洲邀请赛3月29日小组赛B组 Effect VS VGJ.T
2018/03/30 DOTA
python安装numpy&安装matplotlib& scipy的教程
2017/11/02 Python
详解K-means算法在Python中的实现
2017/12/05 Python
基于pandas向csv添加新的行和列
2020/05/25 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
使用CSS3制作响应式导航菜单的方法
2015/07/12 HTML / CSS
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
达拉斯牛仔官方商店:Dallas Cowboys Pro Shop
2018/02/10 全球购物
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
五一手机促销方案
2014/03/08 职场文书
项目建议书
2015/02/04 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
2015年财务工作总结范文
2015/03/31 职场文书
详解Python如何批量采集京东商品数据流程
2022/01/22 Python
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis