欢迎访问宙启技术站
智能推送

使用get_indentation()函数轻松获取Python代码的缩进级别

发布时间:2023-12-15 10:57:53

在Python中,代码的缩进是非常重要的,因为它定义了代码块的范围和关系。为了轻松地获取Python代码的缩进级别,可以编写一个名为get_indentation()的函数。

下面是get_indentation()函数的代码实现:

def get_indentation(line):
    indentation = 0
    for char in line:
        if char == ' ':
            indentation += 1
        elif char == '\t':
            indentation += 4
        else:
            break
    return indentation

这个函数接受一个字符串作为参数,并返回该字符串的缩进级别。它通过循环遍历字符串的每个字符来计算缩进级别。如果字符是空格,则增加缩进级别1,如果字符是制表符('\t'),则增加缩进级别4。如果字符不是空格或制表符,则跳出循环。

下面是一些使用get_indentation()函数的例子:

code = '''
def example():
    if True:
        print("Indented level 2")
         if False:
            print("Indented level 3")
    print("Indented level 1")
'''

lines = code.strip().split('
')

for line in lines:
    indentation = get_indentation(line)
    print(f"Indentation level: {indentation}")

在这个例子中,我们定义了一个名为code的多行字符串,其中包含了一段有不同缩进级别的Python代码。我们首先使用strip()函数和split('

')函数将多行字符串分割成一行行的代码。然后,我们遍历每一行代码,并使用get_indentation()函数获取每行代码的缩进级别。最后,我们打印出每行代码的缩进级别。

运行上述代码,将得到以下输出:

Indentation level: 0
Indentation level: 4
Indentation level: 4
Indentation level: 8
Indentation level: 8
Indentation level: 4
Indentation level: 8
Indentation level: 4
Indentation level: 0

这个输出显示了代码中每行代码的缩进级别。可以看到,同一代码块内的代码具有相同的缩进级别。