Python后缀名
Python文件后缀名:*.py
(其实后缀名对Python没有影响,只是告诉别人这是Python程序)
Python解释器
CPython
当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。
IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>
作为提示符,而IPython用In [序号]:
作为提示符。
PyPy
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT
技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
小结
Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。
变量规则和约定
规则:
- 变量名只能是字母、数字、下划线的任意组合;
- 开头不能是数字;
- 不要使用中文和拼音;(虽然Python3支持中文,但为了国际化,最好不要使用中文)
- 禁止使用关键字
- 取名要有意义
- 名字不要太长
- 变量名区分大小写
- 命名方式:下划线式,
e.g.
age_of_hardy,单词之间用下划线连接 -------> 官方建议
约定:
- 列表:
xxx_list
/xxx_ls
- 元组:
xxx_tuple
/xxx_tp
- 字符:
xxx_ch
- 字符串:
xxx_str
/xxx_s1 / xxx_s2
- 字典:
xxx_dict
/xxx_dc
- 集合:
xxx_set
/xxx_st
- x、y、z:用来表示浮点类型
- 除了
7
以外的字符,都表示整型,尤其是i
、j
、k
、m
、n
- 常量 字母全部大写
- 全局变量 ,建议加
g_
orgl_
前缀
常量
Python中,不存在绝对的常量,只是一种约定,单词全部大写,因为常量对整个程序都是有影响的,是全局的,所以一般不要改动。
e.g. PI = 3.1415926
注释
代码之母啊
在自己觉得重要或者不好理解的地方加注释,不必全部都加(可以用中文或者英文,但不要用拼音)
- 单行注释:
#
,有一种用途是,实验新特性 - 多行注释:
''' ... '''
或者""" ... """
缩进
Python中没有什么大括号这类标识某些代码属于哪个语句下;Python中是用缩进机制标识的。根据PEP-8标准,缩进量一般为4个半角空格。当然,不是绝对的,只要位于一个语句下的所有代码缩进量相同即可。另外,也可以使用Tab键。不过,在同一语句下,切记空格和制表位Tab不能混着用。
用 IDLE
和 PyCharm
编码时,就使用默认缩进量;
用 notepad++
编码时,可以将Tab替换为4个空格。
设置 -> 首选项 -> 语言 -> 勾选"替换为空格"
.pyc文件
Python解释器在解释.py文件之前,会对.py文件进行编译,将编译的结果(字节码)放在内存中的PyCodeObject对象中,当Python程序运行结束时,Python解释器会将PyCodeObject写回到.pyc文件中。这样做的目的是,加快下一次执行的速度。第二次执行时,Python解释器首先会查看是否有这个.pyc,如果有,再判断当前.py文件的修改时间和.pyc的修改时间是否一致,如果一致,则直接载入,否则,重复上述过程。但并不是所有的.py文件在执行时都会产生.pyc文件,只有在import相应的.py文件时,才会在该.py文件所在目录下的__pycache__
目录下生成.pyc文件。