人生苦短,我学Python

前言

人生苦短,我用Python。

Python是Guido van Rossum在1989年圣诞节时出于无聊而设计的一门编程语言。

不同的编程语言各有千秋,而Python是适合用于编写应用程序的高级语言。
Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称为“内置电池(Batteries Included)”。除了内置的库之外,Python还有大量的第三方库,也就是别人开发出来可以直接供你使用的库。当然,如果你开发的代码经过很好的封装,也可以作为第三方库给别人使用。

Python也有缺点,那就是运行速度慢。与C语言相比,由于Python是解释型语言,代码在执行时会一行一行地翻译成机器码,这个过程非常耗时,所以很慢;而C语言是编译语言,运行前直接编译成CPU能执行的机器码,所以非常快。

关于Python,Tim Peters曾写过一首诗歌叫做《The Zen of Python》,它被作为了彩蛋加入到了Python。这首诗歌很好地诠释了Python的风格:

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one— and preferably only one —obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch.
Now is better than never.
Although never is often better than right now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea — let’s do more of those!

中文翻译:

Python之禅,Tim Peters作

优美胜于丑陋。
明了胜于晦涩。
简洁胜于复杂。
复杂胜于凌乱。
扁平胜于嵌套。
间隔胜于紧凑。
可读性很重要。
即便假借特例的实用性之名,也不可违背这些规则。
不要包容所有错误,除非你确定需要这样做。
当存在多种可能,不要尝试去猜测。
而是尽量找一种,最好是唯一一种明显的解决方案。
虽然这并不容易,因为你不是Python之父。
做也许好过不做,但不假思索就动手还不如不做。
如果你的方案难以描述,那肯定不是一个好方案。
如果你的方案易于描述,那很有可能是个好方案。
命名空间是一种绝妙的理念,我们应当多加利用!

准备

学习Python的第一步,当然是安装Python。安装后,你将会得到Python解释器,一个命令行交互环境,还有一个极其简陋的集成开发环境。

目前,Python有两个版本,分别是2.x和3.x,这两个版本不兼容,因此建议使用最新的3.x版本。进入Python官网以下载Python安装程序。
注意,安装时请务必勾选“Add Python 3.x to PATH”,否则须手动添加Python路径到环境变量。

打开命令提示符窗口,输入python后,若出现图中内容,则说明安装成功:
Python交互环境
如果提示'python' 不是内部或外部命令,也不是可运行的程序或批处理文件。,说明环境变量配置有问题。

开始

命令行模式

在Windows开始菜单中选择“命令提示符”,就进入到了命令行模式,它的提示符类似于C:\>
命令行模式

Python交互模式

在命令行模式中输入python即可进入Python交互模式,它的提示符为>>>
输入exit()并回车以退出Python交互模式回到命令行模式。
Python交互模式
也可以通过开始菜单的“Python 3.x”直接进入Python交互模式。

运行

在Python交互模式下,输入代码并回车,会立即得到运行结果,例如:

1
2
3
4
>>> 12345 + 54321
66666
>>> print('Hello, World!')
Hello, World!

其中,print()函数的作用是输出,文本需要用单引号或双引号括起来。

如果要运行一个.py文件,可以在命令行模式中输入python kkk.py,这样就会运行当前目录下的kkk.py了。

此外,Python交互模式会把每一行代码的结果输出,而直接运行代码却不会。
例如:

1
2
>>> 500 - 200
300

可以看到会直接输出结果300
但如果写一个calc.py,内容如下:

1
500 - 200

然后在命令行模式下执行,会发现什么输出也没有。
这是正常的。要想输出结果,必须自己用print()函数输出,于是把calc.py的内容改成如下:

1
print(500 - 200)

就能看到输出结果300了。

最后,Python交互模式下的代码是输入一行输出一行的,而命令行模式下直接执行.py文件是一次性全部执行的,因此,Python交互模式主要是为了调试代码用的。

解释器的运行环境

默认情况下,.py文件以UTF-8编码方式处理。在这种编码方式中,世界上大多数语言的字符都可以同时用于字符串字面值、变量或函数名称以及注释中。
如果不使用默认编码,要声明文件所使用的编码,文件的第一行要写成特殊的注释。语法如下所示:

1
# -*- coding: encoding -*-

其中encoding可以是Python支持的任意一种编码。
比如,要声明使用GBK编码,注释要写成:

1
# -*- coding: gbk -*-

此外,在类Unix系统上,.py文件可以直接执行,只要在第一行添加(在编码声明之前):

1
#!/usr/bin/env python3

因此,我们推荐在任何.py文件的开头,写上这两句注释:

1
2
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

0%