python中出现invalid syntax报错的⼏种原因分析
⽬录python新手代码错了应该怎么改
出现invalid syntax报错的⼏种原因
1.符号使⽤不正确
2.代码缩进问题
invalid syntax——⽆效语法
错误代码块
调整后代码
出现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.de("utf-8")
new_socket.close()
def run_forever(self):
while True:
new_socket, client_addr = p_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)
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。