1.3 Python解释器

优质
小牛编辑
116浏览
2023-12-01

完成 Python 的安装后,要先确认一下 Python 的版本。打开终端(Windows 中的命令行窗口),输入 python --version 命令,该命令会输出已经安装的 Python 的版本信息。


$ python --version
Python 3.4.1 :: Anaconda 2.1.0 (x86_64)

如上所示,显示了 Python 3.4.1(根据实际安装的版本,版本号可能不同),说明已正确安装了 Python 3.x 。接着输入 python ,启动 Python 解释器。


$ python
Python 3.4.1 |Anaconda 2.1.0 (x86_64)| (default, Sep 10 2014, 17:24:09)
[GCC 4.2.1 (Apple Inc. build 5577)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Python 解释器也被称为对话模式,用户能够以和 Python 对话的方式进行编程。比如,当用户询问1 + 2 等于几?的时候,Python 解释器会回答3,所谓对话模式,就是指这样的交互。现在,我们实际输入一下看看。


>>> 1 + 2
3

Python 解释器可以像这样进行对话式(交互式)的编程。下面,我们使用这个对话模式,来看几个简单的 Python 编程的例子。

1.3.1 算术计算

加法或乘法等算术计算,可按如下方式进行。


>>> 1 - 2
-1
>>> 4 * 5
20
>>> 7 / 5
1.4
>>> 3 ** 2
9

* 表示乘法,/ 表示除法,** 表示乘方(3**2 是 3 的 2 次方)。另外,在 Python 2.x 中,整数除以整数的结果是整数,比如,7 ÷ 5 的结果是 1。但在 Python 3.x 中,整数除以整数的结果是小数(浮点数)。

1.3.2 数据类型

编程中有数据类型 (data type)这一概念。数据类型表示数据的性质,有整数、小数、字符串等类型。Python 中的 type() 函数可以用来查看数据类型。


>>> type(10)
<class 'int'>
>>> type(2.718)
<class 'float'>
>>> type("hello")
<class 'str'>

根据上面的结果可知,10 是 int 类型(整型),2.718 是 float 类型(浮点型),"hello" 是 str (字符串)类型。另外,类型这两个词有时用作相同的意思。这里,对于输出结果 <class 'int'> ,可以将其解释成10 是 int 类(类型)

1.3.3 变量

可以使用 x 或 y 等字母定义变量 (variable)。此外,可以使用变量进行计算,也可以对变量赋值。


>>> x = 10

   # 初始化
>>> print(x)

 # 输出x
10
>>> x = 100

 # 赋值
>>> print(x)
100
>>> y = 3.14
>>> x * y
314.0
>>> type(x * y)
<class 'float'>

Python 是属于动态类型语言的编程语言,所谓动态,是指变量的类型是根据情况自动决定的。在上面的例子中,用户并没有明确指出x 的类型是 int (整型),是 Python 根据 x 被初始化为 10,从而判断出 x 的类型为 int 的。此外,我们也可以看到,整数和小数相乘的结果是小数(数据类型的自动转换)。另外,# 是注释的意思,它后面的文字会被 Python 忽略。

1.3.4 列表

除了单一的数值,还可以用列表(数组)汇总数据。


>>> a = [1, 2, 3, 4, 5]

 # 生成列表
>>> print(a)

 # 输出列表的内容
[1, 2, 3, 4, 5]
>>> len(a)

   # 获取列表的长度
5
>>> a[0]

   # 访问第一个元素的值
1
>>> a[4]
5
>>> a[4] = 99

 # 赋值
>>> print(a)
[1, 2, 3, 4, 99]

元素的访问是通过 a[0] 这样的方式进行的。[] 中的数字称为索引(下标),索引从 0 开始(索引 0 对应第一个元素)。此外,Python 的列表提供了切片 (slicing)这一便捷的标记法。使用切片不仅可以访问某个值,还可以访问列表的子列表(部分列表)。


>>> print(a)
[1, 2, 3, 4, 99]
>>> a[0:2]

 # 获取索引为0到2(不包括2!)的元素
[1, 2]
>>> a[1:]

  # 获取从索引为1的元素到最后一个元素
[2, 3, 4, 99]
>>> a[:3]

  # 获取从第一个元素到索引为3(不包括3!)的元素
[1, 2, 3]
>>> a[:-1]

 # 获取从第一个元素到最后一个元素的前一个元素之间的元素
[1, 2, 3, 4]
>>> a[:-2]

 # 获取从第一个元素到最后一个元素的前二个元素之间的元素
[1, 2, 3]

进行列表的切片时,需要写成 a[0:2] 这样的形式。a[0:2] 用于取出从索引为 0 的元素到索引为 2 的元素的前一个元素之间的元素。另外,索引 -1 对应最后一个元素,-2 对应最后一个元素的前一个元素。

1.3.5 字典

列表根据索引,按照 0, 1, 2, ... 的顺序存储值,而字典则以键值对的形式存储数据。字典就像《新华字典》那样,将单词和它的含义对应着存储起来。


>>> me = {'height':180}

 # 生成字典
>>> me['height']

    # 访问元素
180
>>> me['weight'] = 70

   # 添加新元素
>>> print(me)
{'height': 180, 'weight': 70}

1.3.6 布尔型

Python 中有 bool 型。bool 型取 True 或 False 中的一个值。针对 bool 型的运算符包括 and 、or 和 not (针对数值的运算符有 + 、- 、* 、/ 等,根据不同的数据类型使用不同的运算符)。


>>> hungry = True

   # 饿了?
>>> sleepy = False

  # 困了?
>>> type(hungry)
<class 'bool'>
>>> not hungry
False
>>> hungry and sleepy

 # 饿并且困
False
>>> hungry or sleepy

  # 饿或者困
True

1.3.7 if 语句

根据不同的条件选择不同的处理分支时可以使用 if/else 语句。


>>> hungry = True
>>> if hungry:
...   print("I'm hungry")
...
I'm hungry
>>> hungry = False
>>> if hungry:
...   print("I'm hungry")

 # 使用空白字符进行缩进
... else:
...   print("I'm not hungry")
...   print("I'm sleepy")
...
I'm not hungry
I'm sleepy

Python 中的空白字符具有重要的意义。上面的 if 语句中,if hungry: 下面的语句开头有 4 个空白字符。它是缩进的意思,表示当前面的条件(if hungry )成立时,此处的代码会被执行。这个缩进也可以用 tab 表示,Python 中推荐使用空白字符。

 Python 使用空白字符表示缩进。一般而言,每缩进一次,使用 4 个空白字符。

1.3.8 for 语句

进行循环处理时可以使用 for 语句。


>>> for i in [1, 2, 3]:
...   print(i)
...
1
2
3

这是输出列表 [1, 2, 3] 中的元素的例子。使用 for … in … : 语句结构,

可以按顺序访问列表等数据集合中的各个元素。

1.3.9 函数

可以将一连串的处理定义成函数 (function)。


>>> def hello():
...   print("Hello World!")
...
>>> hello()
Hello World!

此外,函数可以取参数。


>>> def hello(object):
...   print("Hello " + object + "!")
...
>>> hello("cat")
Hello cat!

另外,字符串的拼接可以使用 + 。

关闭 Python 解释器时,Linux 或 Mac OS X 的情况下输入 Ctrl-D(按住 Ctrl,再按 D 键);Windows 的情况下输入 Ctrl-Z,然后按 Enter 键。