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 相关文章推荐
Django1.3添加app提示模块不存在的解决方法
Aug 26 Python
python if not in 多条件判断代码
Sep 21 Python
python实现远程通过网络邮件控制计算机重启或关机
Feb 22 Python
Python从单元素字典中获取key和value的实例
Dec 31 Python
浅谈Python中eval的强大与危害
Mar 13 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
Dec 04 Python
TensorFLow 变量命名空间实例
Feb 11 Python
Python实现查找数据库最接近的数据
Jun 08 Python
Python绘图之柱形图绘制详解
Jul 28 Python
Pycharm自动添加文件头注释和函数注释参数的方法
Oct 23 Python
python中24小时制转换为12小时制的方法
Jun 18 Python
python基础之错误和异常处理
Oct 24 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
火影忍者:三大瞳力之一的白眼,为什么没有写轮眼那么出色?
2020/03/02 日漫
简单的cookie计数器实现源码
2013/06/07 PHP
php将mysql数据库整库导出生成sql文件的具体实现
2014/01/08 PHP
PHP数组排序之sort、asort与ksort用法实例
2014/09/08 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
2016/12/14 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
javascript prototype 原型链
2009/03/12 Javascript
js点击更换背景颜色或图片的实例代码
2013/06/25 Javascript
jQuery操作select下拉框的text值和value值的方法
2014/05/31 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
2015/01/01 NodeJs
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
基于jQuery实现响应式圆形图片轮播特效
2015/11/25 Javascript
JS实现的倒计时效果实例(2则实例)
2015/12/23 Javascript
jquery调整表格行tr上下顺序实例讲解
2016/01/09 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
基于Bootstrap仿淘宝分页控件实现代码
2016/11/07 Javascript
Vue.js原理分析之observer模块详解
2017/02/17 Javascript
js限制输入框只能输入数字(onkeyup触发)
2018/09/28 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
Python中还原JavaScript的escape函数编码后字符串的方法
2014/08/22 Python
零基础写python爬虫之使用Scrapy框架编写爬虫
2014/11/07 Python
Python语法快速入门指南
2015/10/12 Python
使用Python编写简单的画图板程序的示例教程
2015/12/08 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
Python面向对象之多态原理与用法案例分析
2019/12/30 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
基于 HTML5 的 WebGL 3D 版俄罗斯方块的示例代码
2018/05/28 HTML / CSS
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
经典c++面试题五
2014/12/17 面试题
高三自我鉴定怎么写
2013/10/19 职场文书
数学教师求职信范文
2015/03/20 职场文书
处世之道:关于真诚相待的名言推荐
2019/12/02 职场文书
python实现自动清理文件夹旧文件
2021/05/10 Python