Python 基础语法与核心概念入门指南
第一个 Python 程序
交互模式编程
不传脚本文件参数直接调用解释器,会出现如下提示符:
$ python Python 2.4.3 (#1, Nov 11 2010, 13:34:43) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
在 Python 提示符下输入以下文本并按 Enter:
>>> print "Hello, Python!"
新版 Python 需使用带括号的 print 语句:print ("Hello, Python!")。在 Python 2.4.3 中输出结果:
Hello, Python!
脚本模式编程
带脚本参数调用解释器开始执行脚本,直到脚本结束。脚本结束后解释器不再活跃。
编写简单 Python 脚本,文件扩展名为 .py。在 test.py 中输入:
在线演示print "Hello, Python!"
假设 Python 解释器已在 PATH 中。运行程序:
$ python test.py
输出结果:
Hello, Python!
另一种执行方式,修改 test.py:
在线演示#!/usr/bin/python print "Hello, Python!"
假设 Python 解释器在 /usr/bin 目录。运行程序:
$ chmod +x test.py # 使文件可执行 $ ./test.py
输出结果:
Hello, Python!
Python 标识符
Python 标识符用于标识变量、函数、类、模块或其他对象。标识符以字母 A-Z 或 a-z 或下划线 (_) 开头,后跟零或多个字母、下划线和数字 (0-9)。
Python 不允许标识符中包含 @、$、% 等标点字符。Python 区分大小写,Manpower 和 manpower 是两个不同标识符。
命名约定:
- 类名以大写字母开头。其他标识符以小写字母开头。
- 单下划线开头表示私有标识符。
- 双下划线开头表示强私有标识符。
- 若也以双下划线结尾,则为语言定义的特殊名称。
保留字
以下为 Python 关键字(保留字),不能用作常量、变量或其他标识符名称。所有关键字仅含小写字母:
| and | exec | not |
| assert | finally | or |
| break | for | pass |
| class | from | |
| continue | global | raise |
| def | if | return |
| del | import | try |
| elif | in | while |
| else | is | with |
| except | lambda | yield |
行与缩进
Python 无大括号表示类、函数定义或流程控制的代码块。代码块由行缩进表示,严格强制执行。
缩进空格数可变,但同一代码块内所有语句必须缩进相同数量。例如:
if True:
print "True"
else:
print "False"
但以下代码块会报错:
if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"
因此,Python 中所有连续缩进相同空格数的行形成一个代码块。以下示例包含多个语句块:
注意:此时无需理解逻辑,只需确保理解各种代码块(即使无大括号)。
#!/usr/bin/python
import sys
try:
# 打开文件流
file = open(file_name, "w")
except IOError:
print "There was an error writing to", file_name
sys.exit()
print "Enter '", file_finish,
print "' When finished"
while file_text != file_finish:
file_text = raw_input("Enter text: ")
if file_text == file_finish:
# 关闭文件
file.close
break
file.write(file_text)
file.write("\n")
file.close()
file_name = raw_input("Enter filename: ")
if len(file_name) == 0:
print "Next time please enter something"
sys.exit()
try:
file = open(file_name, "r")
except IOError:
print "There was an error reading file"
sys.exit()
file_text = file.read()
file.close()
print file_text
多行语句
Python 语句通常以新行结束。但允许使用行续行符 (\) 表示行继续。例如:
total = item_one + \
item_two + \
item_three
包含在 []、{} 或 () 括号内的语句无需行续行符。例如:
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
Python 中的引号
Python 接受单引号 (')、双引号 (") 和三引号 (''' 或 """) 表示字符串字面量,只要开始和结束引号类型相同即可。
三引号用于跨多行字符串。以下均合法:
word = 'word' sentence = "This is a sentence." paragraph = """This is a paragraph. It is made up of multiple lines and sentences."""
Python 注释
不在字符串字面量内的井号 (#) 开始注释。# 后至物理行尾的所有字符为注释,解释器忽略它们。
在线演示#!/usr/bin/python # First comment print "Hello, Python!" # second comment
输出结果:
Hello, Python!
可在语句或表达式同行后添加注释:
name = "Madisetti" # This is again comment
多行注释:
# This is a comment. # This is a comment, too. # This is a comment, too. # I said that already.
三引号字符串也被解释器忽略,可用作多行注释:
''' This is a multiline comment. '''
空行
仅含空白字符(可能含注释)的行为空行,Python 完全忽略。
在交互式解释器会话中,必须输入空物理行终止多行语句。
等待用户输入
以下代码显示提示"Press the enter key to exit"并等待用户操作:
#!/usr/bin/python
raw_input("\n\nPress the enter key to exit.")
"\n\n" 在显示实际行前创建两个新行。用户按键后程序结束。这是保持控制台窗口打开直到用户完成应用的好技巧。
单行多语句
分号 (;) 允许单行多语句,前提是语句不开始新代码块。示例:
import sys; x = 'foo'; sys.stdout.write(x + '\n')
作为套件的多语句组
构成单个代码块的一组单独语句在 Python 中称为套件。复合/复杂语句(如 if、while、def、class)需要头行和套件。
头行以关键字开始、以冒号 (:) 结束,后跟一个或多行组成套件。例如:
if expression :
suite
elif expression :
suite
else :
suite
命令行参数
许多程序可通过 -h 提供基本运行信息。Python 支持此功能:
$ python -h usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit [ etc. ]
也可编写脚本接受各种选项。命令行参数是进阶主题,建议掌握其他 Python 概念后再学习。
Python