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采用raw_input读取输入值的方法
Aug 18 Python
python基础知识小结之集合
Nov 25 Python
解决uWSGI的编码问题详解
Mar 24 Python
Python中eval带来的潜在风险代码分析
Dec 11 Python
python批量读取txt文件为DataFrame的方法
Apr 03 Python
python 进程间数据共享multiProcess.Manger实现解析
Sep 23 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
python 字典套字典或列表的示例
Dec 16 Python
在tensorflow中设置保存checkpoint的最大数量实例
Jan 21 Python
TensorFlow2.1.0最新版本安装详细教程
Apr 08 Python
详解Python高阶函数
Aug 15 Python
Python脚本调试工具安装过程
Jan 11 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教程孙仲岳主讲
2008/01/07 PHP
php whois查询API制作方法
2011/06/23 PHP
php生成缩略图示例代码分享(使用gd库实现)
2014/01/20 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
jQuery第三课 修改元素属性及内容的代码
2010/03/14 Javascript
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
图片Slider 带左右按钮的js示例
2013/08/30 Javascript
sencha touch 模仿tabpanel导航栏TabBar的实例代码
2013/10/24 Javascript
javascript 寻找错误方法整理
2014/06/15 Javascript
页面刷新时记住滚动条的位置jquery代码
2014/06/17 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
JS实现状态栏跑马灯文字效果代码
2015/10/24 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
AngularJS读取JSON及XML文件的方法示例
2017/05/25 Javascript
js CSS3实现卡牌旋转切换效果
2017/07/04 Javascript
使用JS模拟锚点跳转的实例
2018/02/01 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
在vue中给列表中的奇数行添加class的实现方法
2018/09/05 Javascript
JS中appendChild追加子节点无效的解决方法
2018/10/14 Javascript
详解用Webpack与Babel配置ES6开发环境
2019/03/12 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
python自动zip压缩目录的方法
2015/06/28 Python
Python操作Word批量生成文章的方法
2015/07/28 Python
栈和队列数据结构的基本概念及其相关的Python实现
2015/08/24 Python
学习python的前途 python挣钱
2019/02/27 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
使用python实现希尔、计数、基数基础排序的代码
2019/12/25 Python
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
党性教育心得体会
2014/09/03 职场文书
消费者投诉书范文
2015/07/02 职场文书
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python
MySQL创建管理KEY分区
2022/04/13 MySQL