Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
python语言中“缩进”说法_Pythontkinter库,希望能够帮助你!!!。
前言:python使用缩进来区分不同的代码块,所以对缩进有严格要求。
# 例1: pi=0 print(pi) # print(pi)的缩进不符合缩进规则 # 那么程序运行到第2行 # 解释器会抛出异常错误:IndentationError:unexpected indent
例如下面两段代码内容相同,缩进不同,运行结果则不同
# 例2-1: isPrint = False if isPrint: print("A") print("B") # 程序运行后没有信息输出 # 例2-2: isPrint = False if isPrint: print("A") print("B") # 程序运行后会输出一个字符 “B”
缩进是针对逻辑行的,因此首先要区分代码中的物理行和逻辑行。
通常就是代码编辑工具中显示的每一行。
如果编辑器有自动换行(例如windows的记事本),需要将其关闭,否则代码会被编辑器重新换行,影响到源码的阅读。
a=1 b=2 c=3 print(a,b,c) // 这里一共5行代码,也是5个物理行
obj={
"a":1, "b":2 } // 这里一共4行代码,也是4个物理行
obj={
"a":1, "b":2 } // 这里python解释器,作为一个赋值语句解释,是一个逻辑行
print("1\ 2\ 3") // 这里python解释器,作为一个函数调用语句解释,是一个逻辑行
";"
号将多个逻辑行合并成一个物理行。i=1;j=2;k=3;print(i,j,k) // 等效于 i = 1 j = 2 k = 3 print(i, j, k)
// 需要注意,多个逻辑行使用“;”连接时,它们属于同一个缩进。那么 if True:a=1; else: a=2 // 等效于 if True: a = 1 else: a = 2 // 所以 else 位置缩进出错了,
"\"
对一个逻辑行进行换行,书写为多个物理行。print("1\ 2\ 3") // 这一个逻辑行书写为3个物理行
obj = {
"a":1, "b":2, "c":3 } // 这段代码只是一个赋值语句,即一个逻辑行,缩进是针对逻辑行的 // 所以2,3,4行无论怎么缩进,都不影响程序运行
import sys //例如这一行是代码第一行,那它需要顶格 print(sys.argv)
a=1 b=2 // 这是两个赋值语句,即两个逻辑行,需要保持相同的缩进 // 因此改代码运行则会报错:IndentationError:unexpected indent
":"
标记一个新的逻辑层如:while循环、if分支、函数声明、类定义等等:
增加缩进表示进入下一个代码层
减少缩进表示返回上一个代码层
a=1 if a == 1: print(a) // 相对第2行if语句,增加了一个缩进即进入下一个逻辑层,即if条件为真执行的逻辑层 a += 1 // 相对第3行,减少了一个缩进返回上一个代码层,即if分支执行结束
空格
和tab符
通常都以空白形式显示,混用不容易区分,影响代码阅读,增加维护及调试的困难。 因此 Python PEP8 编码规范,指导使用4个空格作为缩进。今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。