跳转至

第1章 Python概述

1.1 Python语言

1.1.1 Python语言的发展

  • 1989年,由荷兰人Guido Van Rossum开发
  • 版本
  • 2.x
  • 3.x
  • 最重要的区别
    • print函数 vs print语句
    • range vs range and xrange
    • input vs input and raw_input

Python发展史上的重要版本

时间 版本 特点
1991年2月 Python 0.9 第一个正式版本,Python的雏形
1994年1月 Python 1.0 增加了函数式编程的支持
2000年9月 Python 2.0 实现了PEP(Python Enhancement Proposal)
2008年10月 Python 3.0 代码库更加简洁,改进了整数运算,增加了Unicode支持
2010年7月 Python 2.7 提供了一定程度与3.x的兼容性
2014年3月 Python 3.4 采用pip作为Python包的默认安装方式
2019年12月 Python 3.8 引入大量新的语法,应用更加便捷、严谨
2020年4月 Python 2.7.18 最后一个2.7版本
2020年8月 Python 3.9

1.1.2 Python语言的特点

  • 代码简洁
  • 更少的代码即能够完成相同的功能。代码的可读性强,对初学者非常友好。

  • 可扩展性好

  • Python号称是一种胶水语言,能够通过多种扩展接口将其他编程语言的代码整合在一起。

  • 优异的跨平台性能

  • Python具有优异的跨平台性能,代码可以不经过修改运行在任何安装了Python环境的计算机中

  • 多种编程方式

  • 在Python中,可以使用面向过程、面向对象和函数式编程等编程方式编写代码

  • 丰富的工具包

  • Python自身提供的数百个内置类和函数库,还可以很方便地从多种渠道安装第三方工具包,并利用它们快速构建程序

  • 开放源代码

Python的缺点

  • 运行速度相对于编译型语言如C、C++、Java来说非常慢
  • 原因
  • Python简洁易用的特点是拿运行速度换来的
  • 解决办法
  • 利用高效的工具包
  • 使用JIT编译技术提速
  • 与其他语言混合编程

1.1.3 Python的主要应用领域

  • Web开发

  • GUI程序开发

  • 网络爬虫

  • 数据分析

  • 人工智能

  • 自动化运维

  • 游戏开发

1.2 Python 运行环境

1.2.1 Python 的不同实现和发行版

Python的实现版本

  • CPython(https://www.python.org/downloads/
  • IronPython:运行在.net环境中的Python实现
  • Jython:运行在Java虚拟机上的Python实现
  • PyPy:利用Python重新实现的Python,由于使用了JIT编译器,运行速度比CPython快的多

Python发行版

  • ActivePython:包含了常见的数据科学和机器学习的环境
  • https://www.activestate.com/activepython
  • python(x,y):用于数值计算、数据分析和数据可视化的发行版,基于Qt图形用户界面和Spyder交互式开发环境
  • http://python-xy.github.io
  • winpython:用于Windows系统,也是一个面各科学计算的发行版
  • http://winpython.github.io
  • Anaconda Python:内置了包管理器conda以及常见的工具包,以及虚拟环境管理功能。由于使用便捷、功能齐全,近年来发展迅速,得到了很多用户的支持
  • https://www.anaconda.com

1.2.2 Python 环境的安装

官方标准版 Python 的安装

  • 下载

  • 运行Python安装程序

Anaconda 发行版的安装

安装第三方包

  • pipconda和基本使用方法
功能 pip conda
安装 pkg_name pip install pkg_name conda install pkg_name
卸载 pkg_name pip uninstall pkg_name conda uninstall pkg_name
列出已安装的包 pip list conda list
查找 pkg_name pip search pkg_name conda search pkg_name
更新 pkg_name pip install pkg_name --upgrade conda update pkg_name
更新全部包 — — conda update --all
  • 使用pip和conda安装包时还可以指定版本
  • pip install pkg_name==1.1.0
  • conda install pkg_name==1.1.0
  • 从源代码安装 Python 包
  • 获取源代码并解压后,进入到源代码文件夹
  • python setup.py install

1.3 Python程序的运行

1.3.1 交互模式

  • 启动交互环境

  • 运行代码
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$ python
Python3.x.x(tags/v3.x.x:580fbb0, Jul202020,15:43:08)Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello, Python!")
Hello Python!
>>> for i in range(3):
...     print(i)
...
0
1
2
>>> exit()
$

脚本模式

  • 脚本文件 hello.py

    1
    print ("Hello, Python!")
    

  • 运行代码

    1
    2
    $ python hello.py
    hello,world! 
    

1.4 常用开发工具

  • IDLE
  • Spyder
  • IPython
  • PyCharm
  • Jupyter Notebook
  • Eclipse with PyDev
  • Sublime Text
  • Visual Studio Code

1.5 Python虚拟环境*

1.5.1 什么是虚拟环境

  • 包之间存在着较为复杂的依赖关系,不同的项目会依赖相同的工具包的不同版本
  • 系统中安装的 Python 环境称为初始环境
  • 在初始环境中使用虚拟环境管理工具创建出来的独立的 Python 运行环境称为虚拟环境

1.5.2 虚拟环境的创建和使用

venv

  • 在当前目录下创建名为my_env的虚拟环境
    1
    $ python -m venv my_env
    
  • 激活虚拟环境
  • Windows
    1
    my_env\Scripts\activate.bat
    
  • Linux & macOS
    1
    source my_env/bin/activate
    
  • 退出当前的虚拟环境
    1
    deactivate
    

conda

  • 创建虚拟环境my_env
    1
    conda create -n my_env python=3.8
    
  • 激活虚拟环境
    1
    conda activate my_env
    
  • 退出虚拟环境
    1
    conda deactivate
    
  • 列出conda创建的全部虚拟环境
    1
    2
    3
    4
    5
    $ conda env list
    # conda environments:
    #
    base                  *  /path/to/anaconda
    my_env                   /path/to/anaconda/envs/my_env
    
  • 删除虚拟环境
    1
    $ conda remove -n my_env --all