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实现批量更换指定目录下文件扩展名的方法
Sep 19 Python
浅谈Python基础之I/O模型
May 11 Python
Python实现导出数据生成excel报表的方法示例
Jul 12 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
Sep 11 Python
python的paramiko模块实现远程控制和传输示例
Oct 13 Python
Python 用Redis简单实现分布式爬虫的方法
Nov 23 Python
python调用java的jar包方法
Dec 15 Python
python中的单引号双引号区别知识点总结
Jun 23 Python
Pytorch之contiguous的用法
Dec 31 Python
python实现无边框进度条的实例代码
Dec 30 Python
python blinker 信号库
May 04 Python
Python创建SQL数据库流程逐步讲解
Sep 23 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/04/10 PHP
PHP 类型转换函数intval
2009/06/20 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
laravel-admin的多级联动方法
2019/09/30 PHP
Firefox和IE浏览器兼容JS脚本写法小结
2008/07/07 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
关于Javascript 对象(object)的prototype
2014/05/09 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
vue-router实现webApp切换页面动画效果代码
2017/05/25 Javascript
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
vue实现轮播图帧率播放
2021/01/26 Vue.js
[03:46]DAC趣味视频-中文考试.mp4
2017/04/02 DOTA
[01:04]不如跳舞!DOTA2新英雄玛尔斯的欢乐日常
2019/03/11 DOTA
python获取beautifulphoto随机某图片代码实例
2013/12/18 Python
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
pandas数据集的端到端处理
2019/02/18 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
2020/11/24 Python
详解BeautifulSoup获取特定标签下内容的方法
2020/12/07 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
CSS3弹性伸缩布局之box布局
2016/07/12 HTML / CSS
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
文秘自荐信
2013/10/20 职场文书
建筑班组长岗位职责
2014/01/02 职场文书
团组织关系介绍信
2014/01/12 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
移交协议书
2014/08/19 职场文书
2014年国庆节寄语
2014/09/19 职场文书
《窃读记》教学反思
2016/02/18 职场文书
《大禹治水》教学反思
2016/02/22 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书