|
|
@@ -10,7 +10,7 @@
|
|
|
4. 2000年10月16日:Python 2.0发布,增加了实现完整的[垃圾回收](https://zh.wikipedia.org/wiki/%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6_(%E8%A8%88%E7%AE%97%E6%A9%9F%E7%A7%91%E5%AD%B8)),提供了对[Unicode](https://zh.wikipedia.org/wiki/Unicode)的支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。
|
|
|
5. 2008年12月3日:Python 3.0发布,它并不完全兼容之前的Python代码,不过因为目前还有不少公司在项目和运维中使用Python 2.x版本,所以Python 3.x的很多新特性后来也被移植到Python 2.6/2.7版本中。
|
|
|
|
|
|
-目前我们使用的Python 3.7.x的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(如修复了某个Bug),只要有修改就增加C。如果对Python的历史感兴趣,可以查看一篇名为[《Python简史》](http://www.cnblogs.com/vamei/archive/2013/02/06/2892628.html)的博文。
|
|
|
+目前我们使用的Python 3.7.x的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(例如:修复了某个Bug),只要有修改就增加C。如果对Python的历史感兴趣,可以阅读名为[《Python简史》](http://www.cnblogs.com/vamei/archive/2013/02/06/2892628.html)的博文。
|
|
|
|
|
|
#### Python的优缺点
|
|
|
|
|
|
@@ -38,7 +38,9 @@ Python的缺点主要集中在以下几点。
|
|
|
|
|
|
#### Windows环境
|
|
|
|
|
|
-可以在[Python官方网站](https://www.python.org)下载到Python的Windows安装程序(exe文件),需要注意的是如果在Windows 7环境下安装Python 3.x,需要先安装Service Pack 1补丁包(可以通过一些工具软件自动安装系统补丁的功能来安装),安装过程建议勾选“Add Python 3.6 to PATH”(将Python 3.6添加到PATH环境变量)并选择自定义安装,在设置“Optional Features”界面最好将“pip”、“tcl/tk”、“Python test suite”等项全部勾选上。强烈建议使用自定义的安装路径并保证路径中没有中文。安装完成会看到“Setup was successful”的提示。如果稍后运行Python程序时,出现因为缺失一些动态链接库文件而导致Python解释器无法工作的问题,可以按照后面说的方法加以解决。如果系统显示api-ms-win-crt\*.dll文件缺失,可以参照[《api-ms-win-crt\*.dll缺失原因分析和解决方法》]()一文讲解的方法进行处理或者直接在[微软官网](https://www.microsoft.com/zh-cn/download/details.aspx?id=48145)下载Visual C++ Redistributable for Visual Studio 2015文件进行修复;如果是因为更新Windows的DirectX之后导致某些动态链接库文件缺失问题,可以下载一个DirectX修复工具进行修复。
|
|
|
+可以在[Python官方网站](https://www.python.org)下载到Python的Windows安装程序(exe文件),需要注意的是如果在Windows 7环境下安装Python 3.x,需要先安装Service Pack 1补丁包(可以通过一些工具软件自动安装系统补丁的功能来安装),安装过程建议勾选“Add Python 3.x to PATH”(将Python 3.x添加到PATH环境变量)并选择自定义安装,在设置“Optional Features”界面最好将“pip”、“tcl/tk”、“Python test suite”等项全部勾选上。强烈建议选择自定义的安装路径并保证路径中没有中文。安装完成会看到“Setup was successful”的提示。如果稍后运行Python程序时,出现因为缺失一些动态链接库文件而导致Python解释器无法工作的问题,可以按照下面的方法加以解决。
|
|
|
+
|
|
|
+如果系统显示api-ms-win-crt\*.dll文件缺失,可以参照[《api-ms-win-crt\*.dll缺失原因分析和解决方法》](<https://zhuanlan.zhihu.com/p/32087135>)一文讲解的方法进行处理或者直接在[微软官网](https://www.microsoft.com/zh-cn/download/details.aspx?id=48145)下载Visual C++ Redistributable for Visual Studio 2015文件进行修复;如果是因为更新Windows的DirectX之后导致某些动态链接库文件缺失问题,可以下载一个[DirectX修复工具](<https://dl.pconline.com.cn/download/360074-1.html>)进行修复。
|
|
|
|
|
|
#### Linux环境
|
|
|
|
|
|
@@ -81,6 +83,8 @@ export PATH=$PATH:/usr/local/python37/bin
|
|
|
# ... 此处省略下面的代码 ...
|
|
|
```
|
|
|
|
|
|
+激活环境变量。
|
|
|
+
|
|
|
```Shell
|
|
|
source .bash_profile
|
|
|
```
|
|
|
@@ -115,7 +119,7 @@ print(sys.version)
|
|
|
|
|
|
#### 编写Python源代码
|
|
|
|
|
|
-可以用文本编辑工具(推荐使用Sublime、TextMate、Visual Studio Code等高级文本编辑工具)编写Python源代码并用py作为后缀名保存该文件,代码内容如下所示。
|
|
|
+可以用文本编辑工具(推荐使用[Sublime](<https://www.sublimetext.com/>)、[Atom](<https://atom.io/>)、[Visual Studio Code](<https://code.visualstudio.com/>)等高级文本编辑工具)编写Python源代码并用py作为后缀名保存该文件,代码内容如下所示。
|
|
|
|
|
|
```Python
|
|
|
print('hello, world!')
|
|
|
@@ -206,7 +210,7 @@ jupyter notebook
|
|
|
|
|
|

|
|
|
|
|
|
-#### Sublime - 文本编辑神器
|
|
|
+#### Sublime / Visual Studio Code - 高级文本编辑器
|
|
|
|
|
|

|
|
|
|
|
|
@@ -238,7 +242,7 @@ jupyter notebook
|
|
|
- Python PEP8 Autoformat - PEP8规范自动格式化插件。
|
|
|
- ConvertToUTF8 - 将本地编码转换为UTF-8。
|
|
|
|
|
|
-> 说明:事实上Visual Studio Code可能是更好的选择,它不用花钱并提供了更为完整和强大的功能。
|
|
|
+> 说明:事实上Visual Studio Code可能是更好的选择,它不用花钱并提供了更为完整和强大的功能,有兴趣的读者可以自行研究。
|
|
|
|
|
|
#### PyCharm - Python开发神器
|
|
|
|
|
|
@@ -256,25 +260,6 @@ PyCharm的安装、配置和使用在[《玩转PyCharm》](../玩转PyCharm.md)
|
|
|
|
|
|
> 说明:当前键入上面的命令后会在交互式环境中看到如下所示的输出,这段内容被称为“Python之禅”,里面讲述的道理不仅仅适用于Python,也适用于其他编程语言。
|
|
|
>
|
|
|
- > Beautiful is better than ugly.
|
|
|
- > Explicit is better than implicit.
|
|
|
- > Simple is better than complex.
|
|
|
- > Complex is better than complicated.
|
|
|
- > Flat is better than nested.
|
|
|
- > Sparse is better than dense.
|
|
|
- > Readability counts.
|
|
|
- > Special cases aren't special enough to break the rules.
|
|
|
- > Although practicality beats purity.
|
|
|
- > Errors should never pass silently.
|
|
|
- > Unless explicitly silenced.
|
|
|
- > In the face of ambiguity, refuse the temptation to guess.
|
|
|
- > There should be one-- and preferably only one --obvious way to do it.
|
|
|
- > Although that way may not be obvious at first unless you're Dutch.
|
|
|
- > Now is better than never.
|
|
|
- > Although never is often better than \*right\* now.
|
|
|
- > If the implementation is hard to explain, it's a bad idea.
|
|
|
- > If the implementation is easy to explain, it may be a good idea.
|
|
|
- > Namespaces are one honking great idea -- let's do more of those!
|
|
|
|
|
|
2. 学习使用turtle在屏幕上绘制图形。
|
|
|
|