关于缩进

写在前面

这是笔者的在python学习过程中的一些笔记,如有误,还请谅解。

python学习心得(一)

Python是一种高级编程语言,在很多领域都有所应用,包括Web编程、脚本编写、科学计算和人工智能。它因为其语法简单易上手、数据分析、能力强大而很受欢迎,并被许多组织使用,例如谷歌、美国国家航空航天局(NASA)、美国中央情报局(CIA)等。

有关缩进

在python中利用缩进可以清晰地区分代码块, 使程序简洁化, 可读性大大增加. 然而python严谨的缩进规则也带来了不少的麻烦

常见错误(一):Tab键与空格混合使用

对于初学者而言,这是最容易犯的错误, 经常不小心空格Tab混用, 执行时就成这样了:

Tab/space error
---------------------------
Error: Inconsistent indentation detected!

1) Your indentation is outright incorrect (easy to fix), OR

2) Your indentation mixes tabs and spaces.

To fix case 2, change all tabs to spaces by using Edit->Select All followed by Format->Untabify Region and specify the number of columns used by each tab.
常见错误(二):循环体忘记缩进

缩进可以说是python语言的精髓所在, 缩进下的代码块逻辑严谨、层次分明. 同时在编写循环的过程中尤其要注意缩进, 错误的缩进带来的结果往往有很大的不同.

i = 0
while i < 9:
    i += 1
    j = 0
    while j < i:
        j += 1
        print(f"{i}*{j}={i*j} ",end="    ")


    print()
#感想注意内层循环和外层循环的嵌套,以及各个语句的从属关系
 

这是笔者学习过程中编写的一个九九乘法表, 它的执行结果应该是这样的:

1*1=1    
2*1=2    2*2=4    
3*1=3    3*2=6    3*3=9    
4*1=4    4*2=8    4*3=12    4*4=16    
5*1=5    5*2=10    5*3=15    5*4=20    5*5=25    
6*1=6    6*2=12    6*3=18    6*4=24    6*5=30    6*6=36    
7*1=7    7*2=14    7*3=21    7*4=28    7*5=35    7*6=42    7*7=49    
8*1=8    8*2=16    8*3=24    8*4=32    8*5=40    8*6=48    8*7=56    8*8=64    
9*1=9    9*2=18    9*3=27    9*4=36    9*5=45    9*6=54    9*7=63    9*8=72    9*9=81

然而,缩进错误的话(下面的while循环体减少了缩进)

while i < 9:
    i += 1
    j = 0
while j < i:
    j += 1
    print(f"{i}*{j}={i*j} ",end="   ")

运行结果会有什么变化呢(见下)

9*1=9    
9*2=18    
9*3=27    
9*4=36    
9*5=45    
9*6=54    
9*7=63    
9*8=72    
9*9=81    

"九九乘法表"大大缩水! 与原来的执行结果相差甚远…

因此循环中缩进的错误所导致的结果往往是比较大的.

在sublime text 3使用中可以通过选中区域, 用快捷键shift + Tab 或者 Tab键 调整代码块整体的缩进

常见错误(三):不必要的缩进

由于python语言是用缩进区分代码块的, 因此不必要的缩进可能改变代码块的结构,使程序报错.

import random

list_1 = []
for i in range(10):
	#随机产生10个1-100整数
    list_1.append(random.randint(1,100))
list_1.sort()
    print(list_1)

大体上看好像没错, 还挺简洁明了的, 执行下吧

  File "001.py", line 8
    print(list_1)
    ^
IndentationError: unexpected indent

它报错了…

原因便在于最后print函数的缩进,经分析, 此处的缩进是完全不必要的.

IndentationError: unexpected indent

这也是缩进错误中的常见异常,表示此处有不必要的缩进.

改正后的程序是这样的:

import random

list_1 = []
for i in range(10):
	#随机产生10个1-100整数
    list_1.append(random.randint(1,100))
list_1.sort()
print(list_1)

执行结果如下:

[3, 16, 27, 29, 69, 71, 91, 92, 92, 95]

结语

对于python而言, 它的强制缩进规则可能让很多初学者很头疼, 但是它会帮助编写代码的人养成良好的格式习惯, 使程序的可读性大大增强. 所以从今天开始, 重视缩进吧.

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值