— 本文译自https://docs.python.org/2.7/tutorial/。完全是出于个人兴趣翻译的,请勿追究责任。另外,如需转发,请注明来源,并保留此行,尊重本人的劳动成果,谢谢。
来源:CSDN博客
作者:奔跑的QQEE
一、调用解释器
python解释器通常安装在如下目录中:/user/local/bin/python。将/user/local/bin放在 命令行的搜索路径下(配置环境变量),这样才能使用如下命令:
python
解释器安装的目录是可选的。windows平台下,python通常默认安装到C:\Python27下,当然你也可以安装到其它目录。在DOS窗口输入如下命令以配置环境变量:
set path=%path%;C:\python27
Unix平台下输入Control – I,Windows平台下输入Control – Z 以退出解释器。如果不起作用,可以输入命令:
quit()
通常python解释器的行编辑特性不很复杂。Unix平台下支持GNU读行库,这使得编辑功能更加强大。使用命令Control -P 可以快速检查是否支持此种编辑方式。如果听到“嘟”的一声,就能用。如果什么都没听到,并显示 ^P ,那就不能用。
解释器的操作方式有点类似于命令行的。当将连接到的tty设备作为标准输入时,解释器将读取键入的命令并执行它们;当把文件当作标准输入时,解释器将读取文件内的脚本并执行它们。
另一种执行python命令的方式是
python -c python语句
因为python语句经常包括空格和可能影响shell脚本执行的特殊字符,所以建议将python语句用单引号括起来。
一些python模块也是很有用的脚本。可以用命令
python -m 模块
调用这些模块。该命令将执行模块的源文件,就好像你在命令行中用了该文件的全名而打开了此文件一样。
如果想了解更多命令,请使用命令
python -h
二、参数传递
脚本名和其它额外的参数会以字符串列表的形式存储在 sys 模块的 argv 数组中。你可以通过
import sys
命令访问这个列表。该列表的长度至少为1。如果没有参数和脚本,
sys.argv[0]
的值是空字符串。如果脚本名是 ‘-’(代表标准输入),
sys.argv[0]
的值是 ‘-’ 。如果使用了 -c 命令,
sys.argv[0]
的值是 ‘-c’ 。如果使用了 -m 命令,
sys.argv[0]
的值是被调用模块的全名。- c 或 -m 后面的 option 选项不会被 python 解释器销毁,而是保留在 sys.argv 中作为命令或模块来处理。
三、交互模式
当从 tty 读取命令时,解释器就处在交互模式下。通常用三个大于号(>>>)提示输入一条命令。用三个点(…)提示可以输入多行命令。
在输入第一条 python 语句前,解释器会先显示出一条包含版本号,版权信息的提示。如:
python
Python 2.7 (#1, Feb 28 2010, 00:02:06)
Type "help", "copyright", "credits" or "license" for more information.
>>>
输入多行命令需要使用 ‘ : ’ 符号,例:
>>> the_world_is_flat = 1
>>> if the_world_is_flat:
... print "Be careful not to fall off!"
...
Be careful not to fall off!
四、解释器和环境
默认,python 源文件以 UTF-8 的编码存储。尽管标准库仅使用 ASCII 字符来显示标识符,但是用 UTF-8 编码,世界上大部分语言符号都能以文字,标识符,注释的形式同时存在于一个文件中。为了正常显示所有字符,你的编辑器必须能识别 UTF-8 ,必须使用一种能表示所有字符的字体。
为文件设定另一种编码,应在该文件第一行添加特殊声明。语法如下:
# -*- coding: 编码 -*-
编码应是 python 支持的值。
编解码器 | 别名 | 语言 |
---|---|---|
ascii | 646, us-ascii | English |
big5 | big5-tw, csbig5 | Traditional Chinese |
big5hkscs | big5-hkscs, hkscs | Traditional Chinese |
cp037 | IBM037, IBM039 | English |
cp424 | EBCDIC-CP-HE, IBM424 | Hebrew |
cp437 | 437, IBM437 | English |
cp500 | EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500 | Western Europe |
cp720 | Arabic | |
cp737 | Greek | |
cp775 | IBM775 | Baltic languages |
cp850 | 850, IBM850 | Western Europe |
cp852 | 852, IBM852 | Central and Eastern Europe |
cp855 | 855, IBM855 | Bulgarian, Byelorussian, Macedonian, Russian, Serbian |
cp856 | Hebrew | |
cp857 | 857, IBM857 | Turkish |
cp858 | 858, IBM858 | Western Europe |
cp860 | 860, IBM860 | Portuguese |
cp861 | 861, CP-IS, IBM861 | Icelandic |
cp862 | 862, IBM862 | Hebrew |
cp863 | 863, IBM863 | Canadian |
cp864 | IBM864 | Arabic |
cp865 | 865, IBM865 | Danish, Norwegian |
cp866 | 866, IBM866 | Russian |
cp869 | 869, CP-GR, IBM869 | Greek |
cp874 | Thai | |
cp875 | Greek | |
cp932 | 932, ms932, mskanji, ms-kanji | Japanese |
cp949 | 949, ms949, uhc | Korean |
cp950 | 950, ms950 | Traditional Chinese |
cp1006 | Urdu | |
cp1026 | ibm1026 | Turkish |
cp1140 | ibm1140 | Western Europe |
cp1250 | windows-1250 | Central and Eastern Europe |
cp1251 | windows-1251 | Bulgarian, Byelorussian, Macedonian, Russian, Serbian |
cp1252 | windows-1252 | Western Europe |
cp1253 | windows-1253 | Greek |
cp1254 | windows-1254 | Turkish |
cp1255 | windows-1255 | Hebrew |
cp1256 | windows-1256 | Arabic |
cp1257 | windows-1257 | Baltic languages |
cp1258 | windows-1258 | Vietnamese |
euc_jp | eucjp, ujis, u-jis | Japanese |
euc_jis_2004 | jisx0213, eucjis2004 | Japanese |
euc_jisx0213 | eucjisx0213 | Japanese |
euc_kr | euckr, korean, ksc5601, ks_c-5601, ks_c-5601-1987, ksx1001, ks_x-1001 | Korean |
gb2312 | chinese, csiso58gb231280, euc- cn, euccn, eucgb2312-cn, gb2312-1980, gb2312-80, iso- ir-58 | Simplified Chinese |
gbk | 936, cp936, ms936 | Unified Chinese |
gb18030 | gb18030-2000 | Unified Chinese |
hz | hzgb, hz-gb, hz-gb-2312 | Simplified Chinese |
iso2022_jp | csiso2022jp, iso2022jp, iso-2022-jp | Japanese |
iso2022_jp_1 | iso2022jp-1, iso-2022-jp-1 | Japanese |
iso2022_jp_2 | iso2022jp-2, iso-2022-jp-2 | Japanese, Korean, Simplified Chinese, Western Europe, Greek |
iso2022_jp_2004 | iso2022jp-2004, iso-2022-jp-2004 | Japanese |
iso2022_jp_3 | iso2022jp-3, iso-2022-jp-3 | Japanese |
iso2022_jp_ext | iso2022jp-ext, iso-2022-jp-ext | Japanese |
iso2022_kr | csiso2022kr, iso2022kr, iso-2022-kr | Korean |
latin_1 | iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1 | West Europe |
iso8859_2 | iso-8859-2, latin2, L2 | Central and Eastern Europe |
iso8859_3 | iso-8859-3, latin3, L3 | Esperanto, Maltese |
iso8859_4 | iso-8859-4, latin4, L4 | Baltic languages |
iso8859_5 | iso-8859-5, cyrillic | Bulgarian, Byelorussian, Macedonian, Russian, Serbian |
iso8859_6 | iso-8859-6, arabic | Arabic |
iso8859_7 | iso-8859-7, greek, greek8 | Greek |
iso8859_8 | iso-8859-8, hebrew | Hebrew |
iso8859_9 | iso-8859-9, latin5, L5 | Turkish |
iso8859_10 | iso-8859-10, latin6, L6 | Nordic languages |
iso8859_11 | iso-8859-11, thai | Thai languages |
iso8859_13 | iso-8859-13, latin7, L7 | Baltic languages |
iso8859_14 | iso-8859-14, latin8, L8 | Celtic languages |
iso8859_15 | iso-8859-15, latin9, L9 | Western Europe |
iso8859_16 | iso-8859-16, latin10, L10 | South-Eastern Europe |
johab | cp1361, ms1361 | Korean |
koi8_r | Russian | |
koi8_u | Ukrainian | |
mac_cyrillic | maccyrillic | Bulgarian, Byelorussian, Macedonian, Russian, Serbian |
mac_greek | macgreek | Greek |
mac_iceland | maciceland | Icelandic |
mac_latin2 | maclatin2, maccentraleurope | Central and Eastern Europe |
mac_roman | macroman | Western Europe |
mac_turkish | macturkish | Turkish |
ptcp154 | csptcp154, pt154, cp154, cyrillic-asian | Kazakh |
shift_jis | csshiftjis, shiftjis, sjis, s_jis | Japanese |
shift_jis_2004 | shiftjis2004, sjis_2004, sjis2004 | Japanese |
shift_jisx0213 | shiftjisx0213, sjisx0213, s_jisx0213 | Japanese |
utf_32 | U32, utf32 | all languages |
utf_32_be | UTF-32BE | all languages |
utf_32_le | UTF-32LE | all languages |
utf_16 | U16, utf16 | all languages |
utf_16_be | UTF-16BE | all languages (BMP only) |
utf_16_le | UTF-16LE | all languages (BMP only) |
utf_7 | U7, unicode-1-1-utf-7 | all languages |
utf_8 | U8, UTF, utf8 | all languages |
utf_8_sig | all languages |
例如,如果要使用 windows-1252 编码,文件首行应这样写:
# -*- coding: cp-1252 -*-
如果指定了解释器的位置,那么编码类型声明应放在第二行。如:
#!/usr/bin/env python
# -*- coding: cp-1252 -*-