零. 写在前面

人生苦短,我用Python。
Python被广泛应用于后端开发、游戏开发、网站开发、科学运算、大数据分析、云计算,图形开发等领域;Python在软件质量控制、提升开发效率、可移植性、组件集成、丰富库支持等各个方面均处于先进地位。在继续本系列教程之前,你应该了解一些基本的计算机编程术语。如果你学习过C,Java等编程语言,将有助于你更快的了解Python编程。

一. 关于Python

1.1 Python的历史

  • 二十世纪八十年代个人电脑的配置很低,为了使程序能够正确运行,编程语言迫使程序员像计算机一样去思考。这让Guido很苦恼,他希望有一种语言能够像C语言那样全面调用计算机的功能接口,又能轻松编程。
  • 荷兰的数学和计算机研究所开发的ABC语言让他看到了希望。ABC语言以教学为目的,目标是“让用户感觉更好”,希望让语言容易阅读、容易使用、容易记忆、容易学习,以此激发人们学习编程的兴趣。
  • ABC语言由于可拓展性差、过度革新、传播困难等原因,最终没有流行起来。1989年圣诞节开始,Guido开始着手写Python语言的编译器,Python的语法很多来自C,但又受到了ABC语言的强烈影响。
    了解更多Python的历史,请参考【百度百科】Python词条

1.2 Python语言的特点

  • 语法简洁:仅需其他语言1/10至1/5代码即可实现相同功能
  • 跨平台:Unix、MacOS、Windows
  • 粘性扩展:可集成C、C++、Java等语言编写的代码
  • 开源理念:解释器、函数库开源
  • 通用灵活:科学计算、数据分析、人工智能、机器人
  • 强制可读:通过强制缩进来体现语句间逻辑关系
  • 模式多样:支持面对过程和面对对象编程方式
  • 类库丰富:几百个内置类和函数库,十几万个第三方函数库

1.3 集成开发环境 PyCharm

PyCharm 是由 JetBrains 打造的一款 Python IDE,支持 macOS、 Windows、 Linux 系统。
PyCharm 功能 : 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制……
PyCharm 下载地址 : https://www.jetbrains.com/pycharm/download/

这里写图片描述

二. 环境配置

2.1 安装Python解释器

这里写图片描述

工欲善其事,必先利其器。首先,前往Python的官方网站下载并安装Python解释器。点击这里前往Python解析器下载页面。

这里写图片描述

如果你是Windows系统,请点击【Windows x86 MSI Installer (2.7.0) (sig)】或者【Windows X86-64 MSI Installer (2.7.0) [1] (sig)】,进行下载。

这里写图片描述

下载完成之后,运行我们下载的msi文件,进行Python安装工作。

这里写图片描述

选择Python解析器的安装位置,然后一路Next就好。(注意:记住你的安装位置,下一步配置环境变量需要用到。

这里写图片描述

2.2 配置环境变量

安装完成后,还需要配置环境变量。
操作流程:此电脑(右键)–>属性–>高级系统设置–>环境变量–>系统变量–>新建

这里写图片描述

然后写入刚才安装Python解析器的路径即可。

这里写图片描述

最后,打开cmd窗口,输入“python”回车,查看是否出现如图所示的版本信息,如果有,则说明配置成功。

这里写图片描述

三. 入坑Python

3.1 ‘Hello Python!’

萌新入坑第一步:Hello.py

# coding: utf-8

print 'Hello Python!'
print '你好,Python!'

《论一个python程序猿的个人修养》第一条:

  • Python程序非常简单,从书写的第⼀⾏执⾏,到最后⼀⾏结束,其中语句之间⽤“回⻋”分隔,每⾏为⼀个单独语句;
  • 程序中⽤“#”标识注释,所有的注释是不执⾏的;
  • 程序中若⽆特殊说明包括需要输出的字符串在内都应该是ASCII编码的英⽂,但随着各种语⾔使⽤的增多,若在程序中使⽤“# coding : utf-8”标记,那么⾃该⾏以后,程序中可以出现utf-8编码的字符,如中⽂。但在Windows命令行下中⽂显示需特殊处理。

3.2 求三角形面积

这里写图片描述

《论一个python程序猿的个人修养》第二条:

  • Python程序⾮常简单,从书写的第⼀⾏执⾏,到最后⼀⾏结束,其中语句之间
    ⽤“回⻋”分隔,每⾏为⼀个单独语句;
  • 程序中⽤“#”标识注释,所有的注释是不执⾏的;
  • 程序中若⽆特殊说明包括需要输出的字符串在内都应该是ASCII编码的英⽂,但
    随着各种语⾔使⽤的增多,若在程序中使⽤“# coding : utf-8”标记,那么⾃该⾏以后,程序中可以出现utf-8编码的字符,如中⽂。但在Windows命令⾏下中⽂显⽰需特殊处理;
  • 利⽤print输出⼀个字符串,Python的字符串写在双引号(””)或单引号(’’)中;
  • 第7、8、9⾏分别定义3个变量:a,h和area。Python与⼤多数其它语⾔⼀样,变量需要先定义再使⽤,但是它没有明显的变量声明形式。⽽是以赋初值形式完成声明的⼯作,这样做法避免了⽆初值变量的产⽣;

这里写图片描述

  • 第10、11⾏利⽤input函数做输⼊,同C和JAVA不同,Python的输⼊可以带⼀个⽂本提⽰,Python的输⼊会⾃动识别需要的数据类型,⽽不需要进⾏数据类型的限定与转换。

这里写图片描述

  • 第13、15⾏演⽰了数字与字符串的转换和输出,⼀对反引号``(不是单引号)就可以便捷的将数字转换成字符串,而字符串则可利⽤“+”号直接连接。

这里写图片描述

四. 相关问题

3.1 Python 2 和 Python 3 的区别与联系

Python 2

Python 2 发布于 2000 年年底,意味着较之先前版本,这是一种更加清晰和更具包容性的语言开发过程。而先前版本的 Python 应用的是 PEP (Python 增强协议),这种技术规范能向 Python 社区成员提供信息或描述这种语言的新特性。

此外,Python 2 还包括了更多的程序性功能,包括能自动化地管理内存的循环检测垃圾收集器,增加了对 Unicode 的支持以实现字符的标准化,并采用列表综合的方式以在现有列表基础上创建列表。 随着 Python 2 的不断发展,更多的功能被添加进来,包括将 Python 的类型和类在 Python 2.2 版本中统一为一层。

Python 3

Python 3 被视为 Python 的未来,是目前正在开发中的语言版本。作为一项重大改革,Python 3 于 2008 年年末发布,以解决和修正以前语言版本的内在设计缺陷。Python 3 开发的重点是清理代码库并删除冗余,清晰地表明只能用一种方式来执行给定的任务。

对 Python 3.0 的主要修改包括将 print 语句更改为内置函数,改进整数分割的方式,并对 Unicode 提供更多的支持。

起初,Python 3的采用很缓慢,因为该语言不能向后兼容 Python 2,这就需要人们决定该使用哪个版本的语言。此外,许多封装库库只适用于 Python 2,但是由于 Python 3 背后的开发团队重申了终止对 Python 2 的支持,促使更多的库被移植到 Python 3 上来。从对 Python 3 提供支持的 Python 包的数量可以看出,Python 3 已得到越来越多的采用,在撰写本文时,支持它的包就已包括了 339 个最受欢迎的 Python 包。

Python 2.7

在 2008 年 Python 3.0 的发布之后,Python 2.7 于 2010 年 7 月 3 日发布,并计划作为 2.x 版本的最后一版。发布 Python 2.7 的目的在于,通过提供一些测量两者之间兼容性的措施,使 Python 2.x 的用户更容易将功能移植到 Python 3 上。这种兼容性支持包括了 2.7 版本的增强模块,如支持测试自动化的 unittest,用于解析命令行选项的 argparse,以及更方便的集合类。

Python 2.7 具有 Python 2 和 Python 3.0 之间的早期迭代版本的独特位置,它因为对许多具有鲁棒性的库具有兼容性,对于程序员而言一直是非常流行的选择。当我们今天讨论 Python 2 时,我们通常指的是 Python 2.7 版本,因为它是最常用的版本。

然而,Python 2.7 被认为是一种遗留语言,且它的后续开发,包括现在最主要的 bug 修复,将在 2020 年完全停止。


更多参考:
博客园-龙渊阁-Python3.x和Python2.x的区别
这里写图片描述

3.2 我们应该学习最新版本的 Python 3 还是旧版本的 Python 2?

在撰写本文时,Python 2.7仍然是常用版本,大部分公司仍然将Python 2.7 用于生产环境。Python 2.7与Python 3的语法相差不是很大,所以说,作者建议先从Python 2.7入门。
想了解更多对此问题的回答,可以参看知乎问题-我们应该学习最新版本的 Python 3 还是旧版本的 Python 2?

五. 参考资料

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐