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实现的批量下载RFC文档
Mar 10 Python
python中set()函数简介及实例解析
Jan 09 Python
python使用jieba实现中文分词去停用词方法示例
Mar 11 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
Apr 09 Python
用python统计代码行的示例(包括空行和注释)
Jul 24 Python
Python骚操作之动态定义函数
Mar 26 Python
如何更优雅地写python代码
Jul 02 Python
python实现两个一维列表合并成一个二维列表
Dec 02 Python
使用Python+selenium实现第一个自动化测试脚本
Mar 17 Python
什么是python的自省
Jun 21 Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 Python
TensorFlow的环境配置与安装方法
Feb 20 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
一个多文件上传的例子(原创)
2006/10/09 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
2014/04/08 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
2014/05/28 PHP
node.js超时timeout详解
2014/11/26 Javascript
js控制文本框输入的字符类型方法汇总
2015/06/19 Javascript
详解 javascript中offsetleft属性的用法
2015/11/11 Javascript
javascript中tostring()和valueof()的用法及两者的区别
2015/11/16 Javascript
javascript基础语法学习笔记
2016/01/04 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
jQuery筛选数组之grep、each、inArray、map的用法及遍历json对象
2016/06/20 Javascript
14 个折磨人的 JavaScript 面试题
2016/08/08 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
js阻止冒泡和默认事件(默认行为)详解
2016/10/20 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
2018/02/08 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
2018/07/26 Javascript
vuex 动态注册方法 registerModule的实现
2019/07/03 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
2019/10/31 Javascript
[46:48]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第三局
2016/02/25 DOTA
python验证码识别的实例详解
2016/09/09 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
nginx搭建基于python的web环境的实现步骤
2020/01/03 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
python中remove函数的踩坑记录
2021/01/04 Python
24个canvas基础知识小结
2014/12/17 HTML / CSS
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
后勤岗位职责
2013/11/26 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
转让协议书范本
2014/04/15 职场文书
教师个人工作总结范文2014
2014/11/10 职场文书
检讨书怎么写
2015/01/23 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
2015年煤矿安全工作总结
2015/05/23 职场文书
上帝也疯狂观后感
2015/06/09 职场文书