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中函数总结之装饰器闭包详解
Jun 12 Python
Python处理中文标点符号大集合
May 14 Python
Pandas 按索引合并数据集的方法
Nov 15 Python
Python读写文件基础知识点
Jun 10 Python
pyqt5与matplotlib的完美结合实例
Jun 21 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
Aug 24 Python
pytorch中的自定义反向传播,求导实例
Jan 06 Python
Python3实现发送邮件和发送短信验证码功能
Jan 07 Python
pycharm通过ssh连接远程服务器教程
Feb 12 Python
浅谈python多线程和多线程变量共享问题介绍
Apr 17 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 07 Python
python 列表推导和生成器表达式的使用
Feb 01 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 zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
php array_filter除去数组中的空字符元素
2020/06/21 PHP
解析php入库和出库
2013/06/25 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
通过实例解析PHP数据类型转换方法
2020/07/11 PHP
一个原生的用户等级的进度条
2010/07/03 Javascript
JavaScript编程开发中的五个实用小技巧
2010/07/22 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
Javascript函数式编程简单介绍
2015/10/11 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
2015/11/06 Javascript
jQuery如何获取动态添加的元素
2016/06/24 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
微信小程序 sha1 实现密码加密实例详解
2017/07/06 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
js实现登录与注册界面
2017/11/01 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
详解基于 Node.js 的轻量级云函数功能实现
2019/07/08 Javascript
Vue指令之 v-cloak、v-text、v-html实例详解
2019/08/08 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
[17:45]DOTA2 HEROES教学视频教你分分钟做大人-军团指挥官
2014/06/11 DOTA
python单例模式实例解析
2018/08/28 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
django在开发中取消外键约束的实现
2020/05/20 Python
django使用多个数据库的方法实例
2021/03/04 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
2021/01/19 HTML / CSS
花店创业计划书范文
2014/02/07 职场文书
新学期家长寄语2016
2015/12/03 职场文书
2016年幼儿园教研活动总结
2016/04/05 职场文书
历史名人教你十五个读书方法,赶快Get起来!
2019/07/18 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
解决Pytorch半精度浮点型网络训练的问题
2021/05/24 Python
eclipse创建项目没有dynamic web的解决方法
2021/06/24 Java/Android
Vue鼠标滚轮滚动切换路由效果的实现方法
2021/08/04 Vue.js