1.4 Python解释器

Python解释器用于运行Python命令(程序),主要有两种模式,交互式解释执行和运行脚本文件。

1.4.1 交互式解释执行模式

1.交互式解释执行模式应用方法

只要在命令行输入“python”就可进入交互解释执行模式。在此模式下,在Python解释器的提示符>>>后可以直接输入Python的指令(也称“语句”),解释器将会解释执行这条语句。例如,输入1+1:

>>> 1+1
2
>>>

屏幕窗口立即输出了计算结果2。

接着再输入50-5/6:

>>> 50-5/6
49.166666666666664

继续输入"hello world! ":

>>>"hello world! "
'hello world! '

这里我们输入了用双引号括起来的一串字符,输出的是以双引号或单引号括起来的同样的一串字符。这种以单引号或双引号括起来的字符序列叫作“字符串”。

再继续输入下列语句:

>>> print("hello world! ")
hello world!

屏幕窗口将输出一串字符hello world!。

2.如何退出Python解释器

在Windows平台输入【Ctrl+Z】,在Linux、UNIX或Mac平台输入【Ctrl+D】,将退出Python解释器。

1.4.2 函数

上例代码调用了Python的一个叫作print()的内置函数,用于在显示窗口输出信息,将双引号括起的一个字符串“hello world! ”传给print,即放在print后面的圆括号()里,函数print()将在显示窗口输出字符的内容。我们习惯称print()为打印(或输出)函数。

注意

函数print()输出的字符串没有包括字符串的开始和结束位置的单引号或双引号,开始和结束位置的单引号或双引号只是用来表示一个字符串的,它们本身并不是字符串的内容。

需要说明的是,Python的函数并不是Python语言的语法组成部分,函数实际上是一组语句的名字,程序员可以用Python语句编写各种各样的函数,每个函数完成一个特定的专门的工作。Python语言的实现者除提供了一个执行Python语句的解释器外,通常会也提供一些最常使用的函数,它们被称为“内置函数”。程序员也可以定义自己的函数,它们和内置函数在定义和使用上没有区别。通过将一组排列好的指令语句用函数名命名,就可以多次通过这个函数名去调用这个函数名指示的这组指令语句(也称代码块程序块),从而可以避免多次重复编写同样的指令语句,极大地提高了编程效率。

定义每个函数时,都会说明该函数可以接收什么样的数据。在调用该函数时,应该按照该函数的规范传递合适的数据给这个被调用的函数。这些传递给函数的数据称为“实际参数”,这些“实际参数”都是放在函数名后的圆括号里传递给函数的。例如,print("hello world! ")就是通过圆括号传递给函数print()一个双引号括起来的字符串。

如果字符串没有用双引号或单引号括起来,则会出错。例如:

print(hello)
--------------
NameError     Traceback(most recent call last)
<ipython-input-6-1cd80308eb4c> in <module>()
----> 1 print(hello)
NameError: name 'hello' is not defined

同样,调用函数时,如果参数不是放在函数名后的圆括号里传递给该函数,则也会出错:

print"hello"
--------------
File "<ipython-input-7-26542d529988>", line 1
    print"hello"

SyntaxError: invalid syntax

再看下面的例子:

>>> print("1+2")
1+2
>>> print('1+2')
1+2

两个函数print()输出的都是同样的字符串("1+2"和’1+2'),但是,如果输入print(1+2),则:

>>> print(1+2)
3

输出的结果是3而不是字符串。

Python的语句一般写在一行里,如果一条语句要写在多行,则可以在每行的结束位置添加一个特殊的斜杠符号\,则表示Python语句将继续包含后面的行。例如:

>>>1+\
>>>2
3

如果写成下面的形式,则会出错:

>>>1+
>>>2
File "<ipython-input-9-c5120ce51ab9>", line 1
    1+

SyntaxError: invalid syntax

如果字符串中内容要写在多行,则也需要添加斜杠符号\。例如:

>>>print("hello, \
>>>world"\
>>>)
hello, world

函数print()可以有多个输出项,这些输出项在输出时,输出项之间以空格隔开。

>>>print('hello', 3.14, 2)
hello 3.14 2

函数print()默认输出后换行,可以通过设置关键字参数end的值改变其行为。例如:

>>>print(1, end=' ')
>>>print(2, end=' ')
>>>print(3, end=' ')
1 2 3

即在每个print语句的后面输出的是空格而不是换行。

1.4.3 运行脚本文件模式

可以将多个Python指令(命令)放在一个后缀为.py的文本文件中,这种文件称为Python脚本文件(script)。例如,用文本编辑工具,如“记事本”,编辑下列代码:

print(1+2)
print("1+2")
print('1+2')
print("hello, world! ")
print("hello", "world! ")

并保存在命名为“first.py”的文件中。在命令行窗口输入:

>>>python first.py

Python是解释器程序,因此解释器将解释执行first.py中的Python指令,并输出如下信息:

3
1+2
1+2
hello, world!
helloworld!

注:

● 函数print()默认输出后换行。

● 函数print()可以输出多个量,这些量以逗号隔开,如print("hello", "world! ")输出了两个字符串。

● 后缀为.py的脚本文件也称为模块(module)

1.4.4 语句和注释

Python的命令如1+2或print("hello, world")称为语句(也称代码)。

除语句外,在编写Python脚本文件时,我们经常会对程序添加一些说明或注解,这些说明或注解称为“注释”,它们本身并不是程序语句,其作用是为了帮助他人阅读或今后自己回顾程序。

添加注释的方法很简单,就是在一行文字的最前面加上一个特殊符号#,该行文字就成了注释。例如:

# 这是我的第一个python程序
# 程序功能是输出整数和字符串
print(1+1)
print('hello, world') #打印字符串hello, world

执行该脚本的结果:

2
hello, world

在每一行里,#后面的文字都是注释,如上例程序的第1、2行文字和第4行#后面的文字,都是程序的注释。删除注释对程序没有任何影响,但“为程序添加注释”是一个良好的编程习惯,不仅可以帮助他人阅读理解程序,也有助于自己今后回顾这些程序。

总结

● 编写Python程序的两种模式,交互式解释执行和运行脚本文件。

● 函数及函数调用的概念。

● 语句和注释的区别。