Python版本

Python 2 or Python 3

  • Python 2.x 是早期版本,Python 3.x是当前版本
  • Python 2.7 (2.x的最终版)于2010年发布后很少有大的更新
  • Python 2.x 比 Python3.x 拥有更多的工具库
  • 大多数Linux系统默认安装的仍是 Python 2.x
  • 版本选择取决于要解决的问题

建议选择 Python 2.x 的情况:

  • 部署环境不可控,Python版本不能自行选择
  • 某些工具库还没有提供支持 Python 3.x。
  • 如果选择使用 Python 3.x,需要确定要用的工具库支持新版本。

    注意:本课程将会使用Python 3.x 版本

Python环境及IDE

Python环境

Anaconda(水蟒) :是一个科学计算软件发行版,集成了大量常用扩展包的环境,包含了 conda、Python 等 180 多个科学计算包及其依赖项,并且支持所有操作系统平台。下载地址:https://www.continuum.io/downloads

安装包: pip install xxx,conda install xxx

卸载包:pip uninstall xxx,conda uninstall xxx

升级包:pip install upgrade xxx,conda update xxx

IDE

Jupyter Notebook:

命令:jupyter notebook

    1. Anaconda自带,无需单独安装
    1. 实时查看运行过程
    1. 基本的web编辑器(本地)
    1. .ipynb 文件分享
    1. 可交互式
    1. 记录历史运行结果

IPython:

命令:ipython

    1. Anaconda自带,无需单独安装
    1. Python的交互式命令行 Shell
    1. 可交互式
    1. 记录历史运行结果
    1. 及时验证想法

Spyder:

命令:spyder

    1. Anaconda自带,无需单独安装
    1. 完全免费,适合熟悉Matlab的用户
    1. 功能强大,使用简单的图形界面开发环境

PyCharm:

    1. 需要自行安装:https://www.jetbrains.com/pycharm/download
    1. PyCharm,JetBrains的精品,全平台支持,不多解释了。

Python3.x 常用的新特性

  • print() 是函数,不是一个语句
  • raw_input()输入函数,改为 input()
  • Python 3 对文本和二进制数据做了更为清晰的区分。
    1. 文本由unicode表示,为str类型
    2. 二进制数据由bytes (字节包)表示,为bytes类型
  • 新增数据类型 bytes (字节包),代表二进制数据以及被编码的文本字符串前有个前缀b
  • Python3中 bytes 与 str 转换
    1. str 可以编码(encode)成 bytes
      2.bytes 可以解码(decode)成 str
  • 字符串格式化输出方式:新增format()方式
  • dict类型变化

之前的 iterkeys(), itervalues(), iteritems(),改为现在的 keys(), values(), items()

字符串编码格式回顾:

  • ASCII:早期计算机保存英文字符的编码方式
  • GB2312:对ASCII的中文扩展
  • GBK/GB18030:包括了GB2312的所有内容,同时又增加了近20000个新的汉字和符号
  • Unicode:包括了全球的符号和编码。每个字符用3~4个字节表示,浪费空间
  • UTF-8:可变长的编码方式,在互联网上使用最广泛的一种Unicode的实现方式,根据语种决定字符长度,如一个汉字3个字节,一个字母1个字节,也是Linux环境下默认编码格式。