下一节(1.2第一个程序)1.1Python什么是Python?Python是一种解释型(译者注:不同于编译型)高级语言,通常被归类为“脚本语言”,被认为类似于Perl、Tcl或Ruby等语言。Python的语法大致上受到C编程语言的启发。Python由GuidovanRossum于1990年创建,以GuidovanRossum最喜欢的马戏团MontyPython的名字命名。我在哪里可以获得Python?您可以从Python.org获取Python。出于本课程的目的,您只需要基本安装Python。建议安装Python3.6或更高版本,因为课程和练习中使用Python3.6。为什么选择Python?为什么选择Python?用Python的创建者的话来说:我创建Python的最初动机是在Amoeba[操作系统]项目中需要一种更高级的语言。考虑到用C开发系统管理工具的时间太长,而且由于种种原因,在Bourneshell(译者注:Bourneshell是shell的一种)中执行这些操作是行不通的,一种弥合差距的语言C语言和shell之间。GuidovanRossum我电脑上的Python在哪里?尽管Python可以在许多环境中运行,但它通常作为一个程序安装在您的计算机上,可以在终端或命令行shell中运行。在终端上,您可以这样输入Python:bash$pythonPython3.8.1(默认,2020年2月20日,09:29:22)[Clang10.0.0(clang-1000.10.44.4)]ondarwinType"help","copyright”、“credits”或“license”以获得更多信息。>>>print("helloworld")helloworld>>>如果您是shell或终端的新手,您可能应该停下来找一个关于shell或终端的简短课程,然后回到这里继续本课程。虽然可以在许多非shell环境中编写Python代码,但如果您可以运行、调试并与终端交互,您将成为一个更强大的Python程序员。这是Python的原生环境,如果你可以在你的原生环境中使用Python,你就可以在其他任何地方使用Python。练习题1.1:将Python用作计算器在您的计算机上,启动Python并将其用作计算器来解决以下问题。幸运的是,拉里以每股235.14美元的价格购买了75股谷歌股票。今天,谷歌的股价是每股711.25美元,用Python的交互模式作为计算器,计算出如果Larry卖掉他所有的股票将获得多少利润。>>>(711.25-235.14)*7535708.25>>>高级技巧:使用下划线(_)变量来使用上一次的计算结果。例:如果股票经纪人(译者注:SecuritiesBroker)抽成20%,拉里赚了多少利润?>>>_*0.8028566.600000000002>>>练习1.2:获取帮助使用help()函数获取有关abs()函数的帮助。然后您还可以使用help()函数来获取有关round()函数的帮助。只需输入不带参数的help()函数即可访问交互式帮助查看器。使用help()函数时的一个警告:help()函数不适用于基本的Python语句,例如for、if、while语句(也就是说,如果你键入help(for),你将得到一个语法错误(SyntaxError)).另一种方法是:将你需要帮助的主题放在引号中(quotes指双引号("")),例如:help("for")。如果仍然没有帮助,那么您将不得不在线搜索。高级:访问http://docs.python.org,找到abs()函数的文档(提示:您可以在库参考的内置函数部分找到它)。练习1.3:剪切和粘贴本课由一系列传统网页组成,建议您尝试自己手动输入交互式Python示例代码。尤其对于初学Python的小伙伴,更推荐这种“慢条斯理”。通过放慢学习曲线、手动输入代码并思考您在做什么,您将更好地理解这门语言。如果您必须剪切和粘贴示例代码,请从>>>提示中选择并继续到最后,但不要超过第一个空行或下一个>>>提示(在>>>>提示之后)。从浏览器中选择“复制”,然后回到Python窗口,选择“粘贴”将代码复制到Pythonshell中。粘贴后,为了让代码运行,需要按下回车键(译者注:在Windows电脑上是回车键,在Mac系统电脑上是回车键)。在这个会话(session)中,使用“剪切和粘贴”的方式执行Python语句:>>>12+2032>>>(3+4+5+6)18>>>foriinrange(5):print(i)01234>>>警告:您不能一次将多个Python命令(命令指的是>>>符号后的语句)粘贴到基本Pythonshell中,一次只能粘贴一个命令。既然你已经做到了这一步,请记住,通过慢慢地输入代码并思考它——而不是剪切和粘贴——你会在课程结束后收获更多。练习1.4:我的公共汽车在哪里?现在要尝试一些高级的东西,输入以下语句以查看在芝加哥CTA的Clark和Balmoral街道的拐角处等待下一班北行公共汽车\#22人们需要等待公共汽车多长时间:>>>importurllib.request>>>u=urllib.request.urlopen('http://ctabustracker.com/bustime/map/getStopPredictions.jsp?stop=14791&route=22')>>>fromxml.etree.ElementTreeimportparse>>>doc=parse(u)>>>forptindoc.findall('.//pt'):print(pt.text)6MIN18MIN28MIN>>>上面大概6行代码下载一个网页,解析一个XML文档,并提取一些有用的信息。上面访问的数据实际上提供给网站http://ctabustracker.com/bust…。再次运行上面的代码并观察预期的变化。注意:此服务仅报告未来30分钟内的公交车到达时间。如果您所在的时区与芝加哥不同,并且恰好是芝加哥凌晨3:00,您可能无法获得任何输出。您可以使用上面的跟踪链接(http://ctabustracker.com/bust...)仔细检查。如果第一个导入语句importurllib.request导入失败,很可能是因为您使用的是Python2。对于本课程,请确保您使用的是Python3.6或更新版本。如有需要,请访问https://www.python.org下载。如果您的工作环境需要使用HTTP代理服务器,您可能需要为这部分练习设置HTTP_PROXY环境变量。示例:>>>importos>>>os.environ['HTTP_PROXY']='http://yourproxy.server.com'>>>如果你不能完成这部分练习,没关系,剩下的当然有一部分与解析XML文档无关。目录|下一节(1.2第一个程序)注:完整翻译见https://github.com/codists/practical-python-zh
