在写Python脚本时,发现空格对齐问题还是很繁琐的,早上花了一点时间稍微探索了一下空格问题。主要是针对个人常用的场景,后面遇到一些新的在补上吧。
1.空行
- 函数体内外有无空行都是允许的,不过最好养成良好习惯,能不加空格就不加空格吧。
def space_test():
print("hello world1")
print("hello world2")
a = 3
if (a > 2):
print("I'm armwind")
上面的例子,实际运行下来是没有问题的,不过如果下面这句print("hello world2")如果没有对齐的话,仍然会报错的,使用时尽量4个空格对齐吧。
2.冒号
- 定义函数时,函数名后面的冒号前后有无空格 不影响
- 关键字后面的冒号,前面有无空格 不影响
- 截取字符串时,方括号中的冒号前后空格 不影响
下面例子中的空格留的有些夸张,不过应该可以说明问题了。在写代码的时候各自所好吧,本人一般在冒号前面加一个空格。
运行结果:
D:\test\python>python space2.py
a=5
a>2,name:arm
3.变量左右
- 函数体内部定义变量时,一定要对齐(一般都是4个空格不会出问题,出问题在解决),下面这个定义变量没有对齐肯定会报错
def test():
a = 5
- 函数体外的变量定义时,一定要顶格写不要留空白,这也是一种良好的习惯。下面就犯了这个错误
a = 5
print("hello world")
上面两种情况运行后都会报没有对齐的问题,运行结结果:
D:\test\python>python valate.py
File “valate.py”, line 1
a = 5
^
IndentationError: unexpected indent
4.#号
目前测试时,‘#’号左右有无空格都无所谓,而且非4字节对齐都没有问题。不过为了减少麻烦,还是对齐书写吧。
#test1
#test1
#this is test
def test():
#test 1
5.二元运算符
二元运算符前后加不加空格,加几个空格 都是没有影响。
a = 3
if a > 1 :
print("hello armwind")
来源:CSDN
作者:armwind
链接:https://blog.csdn.net/armwind/article/details/104040555