Python 语言与 Perl、C 和 Java 等语言有许多相似之处。但是,也存在一些差异。在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程。
第一个 Python 程序:交互式编程
交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码。在 Linux 上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下:
```
Window 上在安装 Python 时已经安装了交互式编程客户端,提示窗口如下:
```
在 python 提示符中输入以下文本信息,然后按 Enter 键查看运行效果:
```python
print("Hello, Python!")
```
在 Python 2.7.6 版本中,以上实例输出结果如下:
```
Hello, Python!
```
脚本式编程:通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。当脚本执行完成后,解释器不再有效。让我们写一个简单的 Python 脚本程序。所有 Python 文件将以 .py 为扩展名。将以下的源代码拷贝至 test.py 文件中。
```python
print("Hello, Python!")
```
这里,假设你已经设置了 Python 解释器 PATH 变量。使用以下命令运行程序:
```bash
$ python test.py
```
输出结果:
```
Hello, Python!
```
让我们尝试另一种方式来执行 Python 脚本。修改 test.py 文件,如下所示:
```python
print("Hello, Python!")
```
这里,假定您的Python解释器在/usr/bin目录中,使用以下命令执行脚本:
```bash
$ chmod +x test.py # 脚本文件添加可执行权限 $ ./test.py
```
输出结果:
```
Hello, Python!
```
以下是重构后的文本:
在Python中,以下内容具有特殊含义:
- 以双下划线开头的`__foo`表示类的私有成员。
- 以双下划线开头和结尾的`__foo__`表示Python中的特殊方法标识,如`__init__()`代表类的构造函数。
Python支持在同一行显示多条语句,方法是用分号`;`分开,例如:
```python
print('hello'); print('runoob')
```
输出结果为:
```
hello runoob
```
Python中的保留字符如下:
- 下面的列表显示了在Python中的保留字。这些保留字不能用作常数或变量,或任何其他标识符名称。所有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与其他语言最大的区别在于,代码块不使用大括号`{}`来控制类、函数以及其他逻辑判断。相反,Python使用缩进来表示代码块。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。以下是一个缩进为四个空格的示例:
```python
if True:
print('True')
else:
print('False')
```
Python 代码格式要求非常严格,如果出现错误,编译器会提示你文件中的格式有问题,可能是缩进、空格或者制表符的使用不正确。为了避免这种情况,你需要确保在 Python 代码块中使用相同数目的行首缩进空格数。建议使用以下几种缩进方式:
1. 单个制表符(Tab)
2. 两个空格
3. 四个空格
注意不能混合使用这些缩进方式。此外,Python 语句通常以新行作为语句的结束符。但是,如果你想将一行的语句分为多行显示,可以使用斜杠(\)进行分隔。例如:
```python
total = item_one + \n item_two + \n item_three
```
在这个例子中,语句中包含 []、{} 或 () 括号,就不需要使用多行连接符。另外,Python 支持使用引号(单引号 ' 或双引号 ")来表示字符串。引号的开始和结束必须是相同类型的。三引号可以由多行组成,用于编写多行文本的快捷语法,常用于文档字符串。例如:
```python
word = 'word'
sentence = "这是一个句子。"
paragraph = '''这是一个段落。包含了多个语句'''
```
在 Python 中,单行注释可以使用 # 开头。例如:
```python
name = 'Madisetti' # 这是一个注释
```
多行注释可以使用三个单引号(''')或三个双引号(""")进行包围。例如:
```python
multi_line_comment = '''这是一个多行注释'''
```
在 Python 中,函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。记住:空行也是程序代码的一部分。
等待用户输入:
下面的程序执行后就会等待用户输入,按回车键后就会退出:
```python
#!/usr/bin/python # -*- coding: UTF-8 -*-
raw_input("按下 enter 键退出,其他任意键显示...
")
```
以上代码中,`\n` 实现换行。一旦用户按下 enter(回车) 键退出,其它键显示。
同一行显示多条语句:
Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,以下是一个简单的实例:
```python
#!/usr/bin/python
import sys; x = 'runoob'; sys.stdout.write(x + '
')
```
执行以上代码,输入结果为:
```bash
$ python test.py runoob
```
print 输出:
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号 ,。以下实例执行结果为:
```python
a b --------- a b a b
```
多个语句构成代码组:
缩进相同的一组语句构成一个代码块,我们称之代码组。像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。我们将首行及后面的代码组称为一个子句(clause)。如下实例:
```python
if expression : suite
elif expression : suite
else : suite
```
命令行参数:很多程序可以执行一些操作来查看一些基本信息,Python 可以使用 -h 参数查看各参数帮助信息:
Python 命令行参数的使用说明如下:
```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 命令行参数。