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实用技巧两则
Aug 29 Python
Python实现扫描局域网活动ip(扫描在线电脑)
Apr 28 Python
Python中使用partial改变方法默认参数实例
Apr 28 Python
Python标准库笔记struct模块的使用
Feb 22 Python
对python的文件内注释 help注释方法
May 23 Python
利用Python正则表达式过滤敏感词的方法
Jan 21 Python
Python+OpenCV图片局部区域像素值处理详解
Jan 23 Python
python实现列表中最大最小值输出的示例
Jul 09 Python
python获取引用对象的个数方式
Dec 20 Python
PyCharm 专业版安装图文教程
Feb 20 Python
pandas数据处理之绘图的实现
Jun 15 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 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学习笔记 PHP面向对象的程序设计
2011/06/13 PHP
php去除换行(回车换行)的三种方法
2014/03/26 PHP
PHP用户注册邮件激活账户的实现代码
2017/05/31 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
javascript常用函数(1)
2015/11/04 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
2018/01/25 Javascript
Vue2实时监听表单变化的示例讲解
2018/08/30 Javascript
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
Vue.js实现立体计算器
2020/02/22 Javascript
Python标准库之多进程(multiprocessing包)介绍
2014/11/25 Python
Python最长公共子串算法实例
2015/03/07 Python
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
Python实现端口检测的方法
2018/07/24 Python
详解python3中的真值测试
2018/08/13 Python
详解安装mitmproxy以及遇到的坑和简单用法
2019/01/21 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
python如何使用代码运行助手
2020/07/03 Python
旧时光糖果:Old Time Candy
2018/02/05 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
物理系毕业生自荐书
2014/06/13 职场文书
2014年四风问题自我剖析材料
2014/09/15 职场文书
银行竞聘报告范文
2014/11/06 职场文书
JS如何实现基于websocket的多端桥接平台
2021/05/14 Javascript
Java后台生成图片的完整步骤
2021/08/04 Java/Android
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python
Spring Boot 使用 Spring-Retry 进行重试框架
2022/04/24 Java/Android