加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2021-07-06 06:13:05 所属栏目:大数据 来源: https://www.jb51.cc
导读:目录 ?| 下一节 (1.2 第一个程序) 1.1 Python @H_502_6@ Python 是什么 ? Python 是一种解释型(译者注:区别于编译型)的高级语言, 通常被归类为 "脚本语言"? 并被认为类似于 Perl、Tcl 或 Ruby 等语言。Python 的语法大致受 C 编程语言的启发。 Python 由

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

1.1 Python

@H_502_6@Python 是什么?

Python 是一种解释型(译者注:区别于编译型)的高级语言, 通常被归类为 "脚本语言"?并被认为类似于Perl、Tcl 或 Ruby 等语言。Python 的语法大致受 C 编程语言的启发。

Python 由吉多·范罗苏姆(Guido van Rossum)于 1990 年创建,用 Python 命名是为了纪念吉多·范罗苏姆所喜欢的马戏团 Monty Python。

@H_502_6@从哪里获取 Python?

您可以从 Python.org?获取Python。就本课程而言,您只需要对 Python 进行基本的安装即可。建议安装 Python 3.6 版本或者更新的 Python 版本,因为课程和练习题中使用的是 Python 3.6。

@H_502_6@为什么创建 Python?

为什么创建 Python 呢?用 Python 创建者的话来说就是:

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

??吉多·范罗苏姆(Guido van Rossum

@H_502_6@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",copyrightcredits" or licensefor more information.
>>> print(hello world")
hello world
>>>

如果您是刚开始使用 shell 或者终端,您可能应该先停下来,先找一个关于 shell 或者终端的简短课程进行学习,然后再返回到这里继续本课程的学习。

尽管也可以在很多非 shell 的环境中编写 Python 代码,但是如果您能够在终端上运行、调试并与之交互,那么您将成为一名更强大的 Python 程序员。这是 Python 的原生环境,如果您能在原生环境中使用 Python,那么您就能在其它任何地方使用 Python。

练习题

@H_502_6@练习 1.1: 使用 Python 作为计算器

在您的电脑上,启动 Python 并把它当做计算器去解决下面的问题。

幸运的拉里(Larry)以每股 235.14 美元的价格购买了 75 股谷歌的股票。如今,谷歌的股价是 711.25 美元每股,使用 Python 的交互模式作为计算器,计算出如果拉里出售他所有的股票,他将获取多少利润。

>>> (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)部分找到它)。

@H_502_6@练习 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 中,一次只能粘贴一个命令。

现在,您已经完成了这一步,请记住,通过缓慢地输入代码,并且思考它——而不是剪切和粘贴,在学习课程之后,您将取得更多的收获。

@H_502_6@练习 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  parse
>>> doc = parse(u)
>>> for pt in doc.findall(.//pt(pt.text)

6 MIN
18 MIN
28 MIN
>>>

上面大约6 行的代码下载了一个网页,解析了一个 XML 文档,并且提取了一些有用的信息。上面访问的数据实际上是提供给网站 http://ctabustracker.com/bustime/home.jsp?的。再运行一次上面的代码,然后观察预期的变化。

注意:此服务只报告接下来 30 分钟内公交车的到达时间。如果您位于与芝加哥不同的时区,而此时凑巧是芝加哥的凌晨 3 点,那么您可能得不到任何的输出。您可以使用上面的跟踪链接(http://ctabustracker.com/bustime/home.jsp?)进行仔细检查。

如果第一个导入语句 import urllib.request?导入失败,很可能是因为您使用的是 Python 2。对于本课程,需要确保使用的是 Python 3.6 或者更新的版本。如果有需要,请访问 https://www.python.org?进行下载。

如果您的工作环境要求使用 HTTP 代理服务器,则您可能需要设置 HTTP_PROXY?环境变量,才能使本部分练习正常进行。示例:

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

?

如果您无法完成本部分的练习,那么也没关系,本课程的其余部分与解析 XML 文档无关。

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

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

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读