Python学不会来打我(93)python代码调试知识总结(六)语法错误

liftword1周前 (06-29)技术文章3

Python中Syntax Error也是比较常见的报错类型,通常由代码违反语法规则引起。以下是总结的原因分类及解决方案,附详细代码示例:#python##python自学##python教程#


一、标点符号缺失或错误

1. 引号/括号未闭合

原因:字符串引号或括号不成对出现

错误示例:

print('Hello) # 引号未闭合
result = (1 + 2 * 3 # 括号未闭合

解决方法:检查并补全符号

修正代码:

print('Hello') #  补全单引号
result = (1 + 2 * 3) #  补全括号

2. 冒号缺失

原因:if/for/def/class等语句后缺少:

错误示例:

if x > 5 # 缺少冒号
   print("Greater")

修正代码:

if x > 5: #  添加冒号
   print("Greater")

二、缩进错误

1. 代码块未缩进

原因:if/def/for等代码块未缩进

错误示例:

def greet():
print("Hello") # 未缩进

修正代码:

def greet():
     print("Hello") #  统一4空格缩进

2. 混合空格与制表符

原因:混用空格和Tab导致缩进不一致

解决方案:

IDE设置:强制转换Tab为4空格(推荐)

工具:用autopep8自动格式化

三、关键字错误

1. 关键字拼写错误

原因:Python保留字拼写错误

错误示例:

whlie True: # while拼错
      pass

修正代码:

while True: #  正确拼写
      pass

2. 关键字作变量名

原因:使用class/def/return等作变量名

错误示例:

class = "Math" # class是关键字

修正代码:

course = "Math" #  改用非关键字

四、语法结构错误

1. 错误使用运算符

原因:使用无效运算符(如++)

错误示例:

x = 1
x++ # Python不支持++

修正代码:

x = 1
x += 1 #  用+=代替

2. 参数顺序错误

原因:默认参数位置错误

错误示例:

def fn(a, b=1, c): # 默认参数b需在最后
     pass

修正代码:

def fn(a, c, b=1): #  默认参数置后
     pass

五、特殊字符问题

非法字符混入

原因:代码含中文标点或不可见字符

错误示例:

print(“Hello”) # 使用中文引号

解决方案:

检查并替换为英文符号

IDE开启「显示不可见字符」功能

六、版本兼容问题

版本特性不兼容

原因:使用高版本语法在低版本运行

错误示例(Python <3.6):

f_str = f"Value: {x}" # f-string需Python≥3.6

解决方案:

# 降级写法

f_str = "Value: {}".format(x) #  兼容写法

相关文章

殊途同归 python 第 6 节:字符串的使用

字符串作为 Python 的基础数据之一,以下是字符串的几种最常用情形,直接上代码1.声明字符串a = "hello world"b = '竹杖芒鞋轻胜马,谁怕,一蓑烟雨任平生...

python编码规范--空格的使用

1.概述在python代码中,需要加空格的一共有四个地方需要特别注意。即二元运算符,逗号,冒号,#号。2.逗号逗号后面要加空格,但是如果后面是小括号,则不用# 逗号 func = (0,) x, y...

Python 内存狂省 70% 的秘密!字符串驻留这招 90% 程序员竟不知道

点赞、收藏、加关注,下次找我不迷路在学习 Python 编程时,你是否遇到过这样的困惑:当创建多个相同的字符串时,Python 是如何处理它们的内存占用的呢?今天,我们就来深入探讨一个非常实用的编程...

每天学点Python知识:使用制表符或换行符来添加空白

在 Python 中,制表符 (\t) 和 换行符 (\n) 是常用的转义字符,用于在字符串中添加空白(空格、缩进、换行)。下面是对这两个字符的详细讲解与使用示例。一、\n — 换行符(newline...

python字符串的组成常见问题解答

以下是关于字符串组成的常见问题解答(FAQ),涵盖Python字符串处理的典型疑问和解决方案:1. 基础判断问题Q1:如何判断字符串是否只包含数字?s = "12345" print(...