python小白新手学习期会经常犯一些基础性的错误,而这些错误有很简单,很多时候再请教别人的时候,大家都不想回答太基础的问题。
那么这里把一些常见的基础问题整理出来供大家参考。
初学 Python 时常见的 Python 错误:
1、没有使用正确的缩进
Python 需要正确的缩进
在 Python 中,正确的缩进是必须的,Python 代码通过缩进来定义程序结构。Python 程序中不正确的缩进导致语法错误。如果从其他编程语言转到 Python,你可能不习惯。
比如以下代码,for 循环内的代码没有缩进
for i in range(10):
print(i)
要修复此类错误,请按要求缩进代码。
for i in range(10):
print(i)
2、缺少冒号(:):
在定义函数、循环或条件语句时,要确保在语句后面加上冒号。例如:
if x > 0 # 错误,缺少冒号
print("x is positive")
修改为:
if x > 0: # 正确
print("x is positive")
3、括号不匹配:
在使用括号时,要确保每个左括号都有相应的右括号,并且括号之间没有遗漏或多余的括号。
print("Hello, world!" # 错误,括号不匹配
修改为:
print("Hello, world!") # 正确
4)引号不匹配:
在使用引号时,要确保每个引号都有相应的关闭引号,并且引号之间没有遗漏或多余的引号。例如:
print('Hello, world!) # 错误,引号不匹配
修改为:
print('Hello, world!') # 正确
5)使用保留字作为变量名:
Python有一些保留字,用于表示特定的语法结构和功能。不应该将保留字用作变量名,否则会导致SyntaxError。
def = 5 # 错误,使用保留字作为变量名
修改为:
def my_function(): # 正确
pass
6、在为变量赋值之前使用变量
编写一个程序,提取一个列表中的偶数,创建新的列表。
list1 = [1, 2, 3, 4, 5]
for n in list1:
if n%2 == 0:
list2.append(n)
print(list2)
此代码返回 NameError 异常:
NameError: name 'list2' is not defined
因为在 for 循环中使用值之前,尚未将值分配给 list2 列表。
正确代码:
list1 = [1, 2, 3, 4, 5]
list2 = []
for n in list1:
if n%2 == 0:
list2.append(n)
print(list2)
7、标识符中存在一个无效的字符。
标识符是用来命名变量、函数、类等的名称。在Python中,标识符必须满足以下规则:
1)标识符只能由字母、数字和下划线组成。
2)标识符的第一个字符必须是字母或下划线。
3)标识符区分大小写。
错误示例:
1)使用特殊字符:在标识符中使用特殊字符(如@、#、$等)是无效的。
# 错误示例
my@variable = 10
2)使用空格:标识符不能包含空格
# 错误示例
my variable = 10
3)使用非ASCII字符:在标识符中使用非ASCII字符也是无效的
# 错误示例
变量 = 10
8、尝试将字符串与整数相加:
x = "Hello"
y = 5
z = x + y # TypeError: can only concatenate str (not "int") to str
我们试图将字符串"Hello"与整数5相加,但是字符串和整数之间没有定义加法操作。我们需要确保操作数的类型是相兼容的,或者使用适当的类型转换。
9、使用一个超出序列范围的索引时,就会引发IndexError异常。
示例1:使用索引访问列表元素
my_list = [1, 2, 3]
print(my_list[3])
输出:
IndexError: list index out of range
访问索引为3的列表元素,但是该列表只有3个元素(索引从0到2),访问超出范围的索引会引发IndexError异常。
10、找不到指定的文件
可能是由于文件路径错误、文件名错误或文件确实不存在等原因导致的。
示例:
try:
file = open("nonexistent_file.txt", "r")
# 这里是对文件的操作,比如读取文件内容
file.close()
except FileNotFoundError:
print("文件不存在")
需要注意的是,在处理FileNotFoundError异常时,我们可以根据具体情况选择不同的处理方式。比如,可以提示用户输入正确的文件名或路径,或者创建一个新的文件。