目录 | 下一节 (1.2 第一个程序)python
Python 是一种解释型(译者注:区别于编译型)的高级语言, 一般被归类为 "脚本语言" 并被认为相似于Perl、Tcl 或 Ruby 等语言。Python 的语法大体受 C 编程语言的启发。
Python 由吉多·范罗苏姆(Guido van Rossum)于 1990 年建立,用 Python 命名是为了记念吉多·范罗苏姆所喜欢的马戏团 Monty Python。git
您能够从 Python.org 获取Python。就本课程而言,您只须要对 Python 进行基本的安装便可。建议安装 Python 3.6 版本或者更新的 Python 版本,由于课程和练习题中使用的是 Python 3.6。程序员
为何建立 Python 呢?用 Python 建立者的话来讲就是:github
我建立 Python 的原始动机是认为在 Amoeba [操做系统] 项目中须要一种更高级的语言。考虑到使用 C 语言开发系统管理工具所花费的时间太长,而且,因为各类缘由,在 Bourne shell(译者注: Bourne shell 是 shell 的一种类型) 中执行这些操做无效,因此须要一种语言来弥合 C 语言和 shell 之间的鸿沟。shell
- 吉多·范罗苏姆(Guido van Rossum)
尽管在不少环境中均可以运行 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
在您的电脑上,启动 Python 并把它当作计算器去解决下面的问题。
幸运的拉里(Larry)以每股 235.14 美圆的价格购买了 75 股谷歌的股票。现在,谷歌的股价是 711.25 美圆每股,使用 Python 的交互模式做为计算器,计算出若是拉里出售他全部的股票,他将获取多少利润。windows
>>> (711.25 - 235.14) * 75 35708.25 >>>
高级技巧:使用下划线(_)变量来使用上次的计算结果。示例:若是股票经纪人(译者注:证券经纪人)拿走了 20% 的抽成,拉里赚了多少利润?浏览器
>>> _ * 0.80 28566.600000000002 >>>
使用 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
本课程是由一系列的传统网页构成,建议您尝试亲自手动输入这些交互的 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 中,一次只能粘贴一个命令。
如今,您已经完成了这一步,请记住,经过缓慢地输入代码,而且思考它——而不是剪切和粘贴,在学习课程以后,您将取得更多的收获。
如今尝试一些高级的内容,输入下面的语句,看看在芝加哥的克拉克街(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 第一个程序)