1、运行 Python
1)交互式解释器
在命令行窗口执行 python 后,进入 Python 的交互式解释器。exit() 或 Ctrl + D 组合键退出交互式解释器。
2)命令行脚本
在命令行窗口执行 python script-file.py,以执行 Python 脚本文件。
2、指定解释器
如果在 Python 脚本文件首行输入 #!/usr/bin/env python,那么可以在命令行窗口中执行/path/to/script-file.py 以执行该脚本文件。
编码
默认情况下,3.x 源码文件都是 UTF-8 编码,字符串都是 Unicode 字符。也可以手动指定文件编码:
# -*- coding: utf-8 -*-
或者
# encoding: utf-8
注意: 该行标注必须位于文件第一行
3、代码注释
单行注释采用 #,多行注释采用'''或"""。
'''
这是多行注释
这是多行注释
'''
"""
这也是多行注释
这也是多行注释
"""
4、行与缩进
Python 最具特色的就是使用缩进来表示代码块,不需要使用大括号 {}。 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。缩进不一致,会导致运行错误。
多行语句
Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠\来实现多行语句。
total = item_one + \
item_two + \
item_three
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠\。
5、print 输出
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""或别的非换行符字符串:
print('123') # 默认换行
print('123', end = "") # 不换行
6、__name__ = '__main__'
的作用
很多新手刚开始学习 python 的时候经常会看到 python 中__name__ = __main__
这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main__'
的作用,到底干嘛的?
有句话经典的概括了这段代码的意义:
“Make a script both importable and executable”
意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行。
下面举例说明:
先写一个模块:
#module.py
def main():
print "we are in %s"%__name__
if __name__ == '__main__'
:
main()
这个函数定义了一个 main 函数,我们执行一下该 py 文件发现结果是打印出” we are in __main__
“,说明我们的 if 语句中的内容被执行了,调用了 main():
但是如果我们从另我一个模块导入该模块,并调用一次 main() 函数会是怎样的结果呢?
thermodle.py
from module import main
main()
其执行的结果是:we are in module
但是没有显示” we are in __main__
“,也就是说模块__name__ = '__main__'
下面的函数没有执行。
这样既可以让 “模块” 文件运行,也可以被其他模块引入,而且不会执行函数 2 次。这才是关键。
总结一下:
如果我们是直接执行某个.py 文件的时候,该文件中那么”__name__ == '__main__'
“是 True,但是我们如果从另外一个.py 文件通过 import 导入该文件的时候,这时__name__
的值就是我们这个 py 文件的名字而不是__main__
。
这个功能还有一个用处:调试代码的时候,在” if __name__ == '__main__'
“中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件,调试代码能够正常运行!