python中出现invalid syntax报错的几种原因分析

作者:Lenfoo 时间:2023-01-26 22:01:24 

出现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)

来源:https://www.cnblogs.com/lenfoo/p/11251517.html

标签:python,invalid,syntax
0
投稿

猜你喜欢

  • go语言开发环境安装及第一个go程序(推荐)

    2024-05-05 09:34:22
  • MySql 备忘录

    2024-01-22 12:56:48
  • 23个很棒的Python脚本集合分享(迷你项目)

    2023-12-24 04:34:15
  • python交互式图形编程实例(一)

    2022-11-12 14:44:53
  • Python深度学习之使用Albumentations对图像做增强

    2023-11-24 06:18:23
  • Python脚本Selenium及页面Web元素定位详解

    2023-06-14 12:21:10
  • 使用Python编写简单的端口扫描器的实例分享

    2023-07-20 20:18:32
  • python实现图片压缩代码实例

    2023-07-11 06:35:22
  • Python判断两个list是否是父子集关系的实例

    2021-08-17 07:16:18
  • python+opencv实现阈值分割

    2023-05-19 11:23:50
  • python的几种开发工具介绍

    2021-09-28 01:54:44
  • Python递归及尾递归优化操作实例分析

    2022-06-17 16:09:10
  • Django使用httpresponse返回用户头像实例代码

    2021-08-28 04:47:03
  • Python3.5多进程原理与用法实例分析

    2021-11-28 14:05:03
  • python实现邮件自动发送

    2023-06-10 16:24:44
  • java代码实现mysql分表操作(用户行为记录)

    2024-01-17 22:57:09
  • Vscode的SSH插件远程连接Linux的实现步骤

    2023-09-07 17:57:11
  • sql 查询慢的原因分析

    2024-01-16 13:11:29
  • python tkinter实现学生信息管理系统

    2021-11-01 18:46:16
  • mysql如何删除数据表和关联的数据表删除详情

    2024-01-25 19:12:55
  • asp之家 网络编程 m.aspxhome.com