注释
单行注释 —— #:
# 这是注释
print('hello world') # 这也是注释
多行注释 —’’’’或""":
'''
多行注释
'''
print('hello world') # 这也是注释
"""
这也是多行注释
"""
冒号和缩进
Python采用冒号 + 缩进的方式来控制代码的逻辑:
通常缩进使用Tab —— 四个空格键来实现,先看一个正确例子:
运行结果:
下面看个错误例子(多是C/Java遗留下来的习惯):
- 乱用缩进/缩进不统一
如果不管,硬要运行,报错:does not match any outer indentation level
即Python使用缩进控制代码逻辑,所以不能像C/Java那样乱用缩进(空格),隶属于一个代码块的代码一定要用统一的缩进。PS:空行是可以“乱用”的。
如果这样改:
OK,这样print(“False”)就是if else之外的代码了(始终要执行的)。
也可以这样改:
也是OK的,都采用2个空格的缩进,也是可以运行成功的:
也可以这样改:
当然,无论是全2-space缩进还是前4后2的缩进,Pycharm都有友好提示(print下白色的下划线):
缩进都不是4的倍数。
所以综上,隶属于一个代码块,只要缩进一致即可(1-n),但还是建议使用同意的4-space缩进比较好,即Tab键,对于Pycharm,一个Tab代表几个空格键是一目了然的,Pycharm右下角:
点击即可设置。
并且,一般的Python编辑器如Pycharm在换行后都会自动进行缩进。
Python的分号哪里去了
Python其实同样支持分号的,用在单行多条语句时:
结果:
这在交互模式下很实用:
不过要注意:
- Python不支持单个分号—— ; 语句
很明白:expect 语句而不是分号——换言之,Python不认为分号是语句。这带来的一个结果就是: - Python中,除了当个分号语句外,每个语句以分号结尾并不会报错,但没必要
结果:
- Python用分号连接的单行多条语句,默认在一个代码块中,而下一行就是另外一个代码块了,即使用缩进也不行:
结果:
使用缩进:
结果还是不能将print(‘end’)纳进if的代码块中去。所以分号来实现单行多条语句,适用两个情况:
- 交互模式下,并且单行能写完所有语句
- 脚本下,if或者else后只有一条语句
其余情况下最好不要用,特别是刚才提到的,if-else这种分号引起的代码块分离。
PS:其实知道这个功能就好,除了写算法题时为了简洁:
if(con):count++
其他情况下真没必要用。