翻译:《实用的Python编程》01_01_Python

目录 | 下一节 (1.2 第一个程序)python

1.1 Python

Python 是什么?

Python 是一种解释型(译者注:区别于编译型)的高级语言, 一般被归类为 "脚本语言" 并被认为相似于Perl、Tcl 或 Ruby 等语言。Python 的语法大体受 C 编程语言的启发。
Python 由吉多·范罗苏姆(Guido van Rossum)于 1990 年建立,用 Python 命名是为了记念吉多·范罗苏姆所喜欢的马戏团 Monty Python。git

从哪里获取 Python?

您能够从 Python.org 获取Python。就本课程而言,您只须要对 Python 进行基本的安装便可。建议安装 Python 3.6 版本或者更新的 Python 版本,由于课程和练习题中使用的是 Python 3.6。程序员

为何建立 Python?

为何建立 Python 呢?用 Python 建立者的话来讲就是:github

我建立 Python 的原始动机是认为在 Amoeba [操做系统] 项目中须要一种更高级的语言。考虑到使用 C 语言开发系统管理工具所花费的时间太长,而且,因为各类缘由,在 Bourne shell(译者注: Bourne shell 是 shell 的一种类型) 中执行这些操做无效,因此须要一种语言来弥合 C 语言和 shell 之间的鸿沟。shell

  • 吉多·范罗苏姆(Guido van Rossum)

Python 在电脑上的哪一个位置?

尽管在不少环境中均可以运行 Python,可是 Python 一般做为一个程序安装在您的电脑上,而且这个程序能够在终端或者命令行 shell 运行。在终端上,您能够像下面这样输入 Python:编程

bash $ python
Python 3.8.1 (default, Feb 20 2020, 09:29:22)
[Clang 10.0.0 (clang-1000.10.44.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hello world")
hello world
>>>

若是您是刚开始使用 shell 或者终端,您可能应该先停下来,先找一个关于 shell 或者终端的简短课程进行学习,而后再返回到这里继续本课程的学习。
尽管也能够在不少非 shell 的环境中编写 Python 代码,可是若是您可以在终端上运行、调试并与之交互,那么您将成为一名更强大的 Python 程序员。这是 Python 的原生环境,若是您能在原生环境中使用 Python,那么您就能在其它任何地方使用 Python。segmentfault

练习

练习 1.1: 使用 Python 做为计算器

在您的电脑上,启动 Python 并把它当作计算器去解决下面的问题。
幸运的拉里(Larry)以每股 235.14 美圆的价格购买了 75 股谷歌的股票。现在,谷歌的股价是 711.25 美圆每股,使用 Python 的交互模式做为计算器,计算出若是拉里出售他全部的股票,他将获取多少利润。windows

>>> (711.25 - 235.14) * 75
35708.25
>>>

高级技巧:使用下划线(_)变量来使用上次的计算结果。示例:若是股票经纪人(译者注:证券经纪人)拿走了 20% 的抽成,拉里赚了多少利润?浏览器

>>> _ * 0.80
28566.600000000002
>>>

练习 1.2: 获取帮助

使用 help() 函数可获取有关 abs() 函数的帮助。而后还可使用 help() 函数获取关于 round() 函数的帮助。仅仅输入不带参数的 help() 函数能够进入交互的帮助查看器(viewer)。
使用 help() 函数有一个要注意点的是:help() 函数并不适用于基本的 Python 语句,例如 for, if, while 语句(也就是说,若是您输入 help(for) ,那么将会获得一个语法错误( SyntaxError))。替代方案是:将须要获取帮助的主题放在引号中(quotes,译者注:在 Python 中,单引号和双引号是同样的,因此 quotes 在这里既能够指单引号(''),也能够指双引号("")),例如:help("for")。若是这仍是没用,那么您就得上网搜索了。
进阶:访问 http://docs.python.org,而后找到 abs() 函数的说明文档(提示:能够在库参考(Library Reference)中的内建函数(Built-in Functions)部分找到它)。bash

练习 1.3: 剪切和粘贴

本课程是由一系列的传统网页构成,建议您尝试亲自手动输入这些交互的 Python 示例代码。尤为是对于第一次学习 Python 的人,推荐使用这种 ”慢速的方法“。经过下降学习速度,手动输入代码、而且思考您在作什么,您将对Python 这门语言有更好的了解。
若是您必定要剪切和粘贴示例代码,请从 >>> 提示符后开始选择,一直选择到最后,可是不要超过第一个空行或者下一个 >>> 提示符(以先出现的 >>> 提示符为准)。从浏览器中选择 “复制”,而后回到 Python 的窗口,接着选择 “粘贴” 将代码复制到 Python shell 中。当您粘贴以后,为了让代码运行,您须要按一下回车键(译者注:在windows系统的电脑上,是 Enter 键,在 mac 系统的电脑上是 Return 键)。
在此会话( session)中使用 “剪切粘贴” 的方式执行 Python 语句:

>>> 12 + 20
32
>>> (3 + 4
         + 5 + 6)
18
>>> for i in range(5):
        print(i)

0
1
2
3
4
>>>

警告:不能一次粘贴多个 Python 命令(命令>>> 符号后面的 语句(statements))到基本的 Python shell 中,一次只能粘贴一个命令。
如今,您已经完成了这一步,请记住,经过缓慢地输入代码,而且思考它——而不是剪切和粘贴,在学习课程以后,您将取得更多的收获。

练习 1.4: 个人公共汽车在哪里?

如今尝试一些高级的内容,输入下面的语句,看看在芝加哥的克拉克街(Clark street)和巴尔莫勒尔街(Balmoral street)拐角处等下一辆北上的 CTA \#22 公交车的人须要等多久:

>>> import urllib.request
>>> u = urllib.request.urlopen('http://ctabustracker.com/bustime/map/getStopPredictions.jsp?stop=14791&route=22')
>>> from xml.etree.ElementTree import parse
>>> doc = parse(u)
>>> for pt in doc.findall('.//pt'):
        print(pt.text)

6 MIN
18 MIN
28 MIN
>>>

上面大约6 行的代码下载了一个网页,解析了一个 XML 文档,而且提取了一些有用的信息。上面访问的数据其实是提供给网站 http://ctabustracker.com/bust... 的。再运行一次上面的代码,而后观察预期的变化。
注意:此服务只报告接下来 30 分钟内公交车的到达时间。若是您位于与芝加哥不一样的时区,而此时凑巧是芝加哥的凌晨 3 点,那么您可能得不到任何的输出。您可使用上面的跟踪连接(http://ctabustracker.com/bust... )进行仔细检查。
若是第一个导入语句 import urllib.request 导入失败,极可能是由于您使用的是 Python 2。对于本课程,须要确保使用的是 Python 3.6 或者更新的版本。若是有须要,请访问 https://www.python.org 进行下载。
若是您的工做环境要求使用 HTTP 代理服务器,则您可能须要设置 HTTP_PROXY 环境变量,才能使本部分练习正常进行。示例:

>>> import os
>>> os.environ['HTTP_PROXY'] = 'http://yourproxy.server.com'
>>>

若是您没法完成本部分的练习,那么也不要紧,本课程的其他部分与解析 XML 文档无关。
目录 | 下一节 (1.2 第一个程序)

注:完整翻译见 https://github.com/codists/practical-python-zh

相关文章
相关标签/搜索