1.初识Python

初识Python

Python简介

Python的历史

  1. 1989年圣诞节:Guido von Rossum开始写Python语言的编译器。
  2. 1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面),能够调用C语言的库函数。在最先的版本中,Python已经提供了对“类”,“函数”,“异常处理”等构造块的支持,还有对列表、字典等核心数据类型,同时支持以模块为基础来构造应用程序。
  3. 1994年1月:Python 1.0正式发布。
  4. 2000年10月16日:Python 2.0发布,增长了完整的垃圾回收,提供了对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简史》的博文。html

Python的优缺点

Python的优势不少,简单的能够总结为如下几点。前端

  1. 简单和明确,作一件事只有一种方法。
  2. 学习曲线低,跟其余不少语言相比,Python更容易上手。
  3. 开放源代码,拥有强大的社区和生态圈。
  4. 解释型语言,天生具备平台可移植性。
  5. 对两种主流的编程范式(面向对象编程和函数式编程)都提供了支持。
  6. 可扩展性和可嵌入性,例如在Python中能够调用C/C++代码。
  7. 代码规范程度高,可读性强,适合有代码洁癖和强迫症的人群。

Python的缺点主要集中在如下几点。python

  1. 执行效率稍低,所以计算密集型任务能够由C/C++编写。
  2. 代码没法加密,可是如今不少公司都不销售卖软件而是销售服务,这个问题会被弱化。
  3. 在开发时能够选择的框架太多(如Web框架就有100多个),有选择的地方就有错误。

Python的应用领域

目前Python在Web应用开发、云基础设施、DevOps、网络数据采集(爬虫)、数据分析挖掘、机器学习等领域都有着普遍的应用,所以也产生了Web后端开发、数据接口开发、自动化运维、自动化测试、科学计算和可视化、数据分析、量化交易、机器人开发、天然语言处理、图像识别等一系列相关的职位。linux

安装Python解释器

想要开始Python编程之旅,首先得在本身使用的计算机上安装Python解释器环境,下面将以安装官方的Python解释器为例,讲解如何在不一样的操做系统上安装Python环境。官方的Python解释器是用C语言实现的,也是使用最为普遍的Python解释器,一般称之为CPython。除此以外,Python解释器还有Java语言实现的Jython、C#语言实现的IronPython以及PyPy、Brython、Pyston等版本,咱们暂时不对这些内容进行介绍,有兴趣的读者能够自行了解。sql

Windows环境

能够在Python官方网站下载到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解释器没法工做的问题,能够按照下面的方法加以解决。shell

若是系统显示api-ms-win-crt*.dll文件缺失,能够参照《api-ms-win-crt*.dll缺失缘由分析和解决方法》一文讲解的方法进行处理或者直接在微软官网下载Visual C++ Redistributable for Visual Studio 2015文件进行修复;若是是由于更新Windows的DirectX以后致使某些动态连接库文件缺失问题,能够下载一个DirectX修复工具进行修复。macos

Linux环境

Linux环境自带了Python 2.x版本,可是若是要更新到3.x的版本,能够在Python的官方网站下载Python的源代码并经过源代码构建安装的方式进行安装,具体的步骤以下所示(以CentOS为例)。编程

  1. 安装依赖库(由于没有这些依赖库可能在源代码构件安装时由于缺失底层依赖库而失败)。
yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
  1. 下载Python源代码并解压缩到指定目录。
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
xz -d Python-3.7.3.tar.xz
tar -xvf Python-3.7.3.tar
  1. 切换至Python源代码目录并执行下面的命令进行配置和安装。
cd Python-3.7.3
./configure --prefix=/usr/local/python37 --enable-optimizations
make && make install
  1. 修改用户主目录下名为.bash_profile的文件,配置PATH环境变量并使其生效。
cd ~
vim .bash_profile
# ... 此处省略上面的代码 ...

export PATH=$PATH:/usr/local/python37/bin

# ... 此处省略下面的代码 ...
  1. 激活环境变量。
source .bash_profile

macOS环境

macOS也自带了Python 2.x版本,能够经过Python的官方网站提供的安装文件(pkg文件)安装Python 3.x的版本。默认安装完成后,能够经过在终端执行python命令来启动2.x版本的Python解释器,启动3.x版本的Python解释器须要执行python3命令。vim

运行Python程序

确认Python的版本

能够Windows的命令行提示符中键入下面的命令。windows

python --version

或者是在Linux或macOS系统的终端中键入下面的命令。

python3 --version

固然也能够先输入python或python3进入交互式环境,再执行如下的代码检查Python的版本。

import sys

print(sys.version_info)
print(sys.version)

编写Python源代码

能够用文本编辑工具(推荐使用SublimeVisual Studio Code等高级文本编辑工具)编写Python源代码并用py做为后缀名保存该文件,代码内容以下所示。

print('hello, world!')

运行程序

切换到源代码所在的目录并执行下面的命令,看看屏幕上是否输出了"hello, world!"。

python hello.py

python3 hello.py

代码中的注释

注释是编程语言的一个重要组成部分,用于在源代码中解释代码的做用从而加强程序的可读性和可维护性,固然也能够将源代码中不须要参与运行的代码段经过注释来去掉,这一点在调试程序的时候常常用到。注释在随源代码进入预处理器或编译时会被移除,不会在目标代码中保留也不会影响程序的执行结果。

  1. 单行注释 - 以#和空格开头的部分
  2. 多行注释 - 三个引号开头,三个引号结尾
"""
第一个Python程序 - hello, world!
向伟大的Dennis M. Ritchie先生致敬

Version: 0.1
Author: 骆昊
"""

print('hello, world!')
# print("你好,世界!")
print('你好', '世界')
print('hello', 'world', sep=', ', end='!')
print('goodbye, world', end='!\n')

Python开发工具

IDLE - 自带的集成开发工具

IDLE是安装Python环境时自带的集成开发工具,以下图所示。可是因为IDLE的用户体验并非那么好因此不多在实际开发中被采用。

IPython - 更好的交互式编程工具

IPython是一种基于Python的交互式解释器。相较于原生的Python交互式环境,IPython提供了更为强大的编辑和交互功能。能够经过Python的包管理工具pip安装IPython和Jupyter,具体的操做以下所示。

pip install ipython

pip3 install ipython

安装成功后,能够经过下面的ipython命令启动IPython,以下图所示。

Sublime Text - 高级文本编辑器

  • 首先能够经过官方网站下载安装程序安装Sublime Text 3或Sublime Text 2。

  • 安装包管理工具。
    1. 经过快捷键Ctrl+`或者在View菜单中选择Show Console打开控制台,输入下面的代码。
    • Sublime 3
    import  urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
    • Sublime 2
    import  urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos.path.exists(ipp)elseNone;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());print('Please restart Sublime Text to finish installation')
    1. 在浏览器中输入 https://sublime.wbond.net/Package%20Control.sublime-package 下载包管理工具的安装包,并找到安装Sublime目录下名为"Installed Packages"的目录,把刚才下载的文件放到这个文件加下,而后重启Sublime Text就搞定了。
  • 安装插件。经过Preference菜单的Package Control或快捷键Ctrl+Shift+P打开命令面板,在面板中输入Install Package就能够找到安装插件的工具,而后再查找须要的插件。咱们推荐你们安装如下几个插件:

    • SublimeCodeIntel - 代码自动补全工具插件。
    • Emmet - 前端开发代码模板插件。
    • Git - 版本控制工具插件。
    • Python PEP8 Autoformat - PEP8规范自动格式化插件。
    • ConvertToUTF8 - 将本地编码转换为UTF-8。

说明:事实上Visual Studio Code多是更好的选择,它不用花钱并提供了更为完整和强大的功能,有兴趣的读者能够自行研究。

PyCharm - Python开发神器

PyCharm的安装、配置和使用在《玩转PyCharm》进行了介绍,有兴趣的读者能够选择阅读。

练习

  1. 在Python交互式环境中输入下面的代码并查看结果,请尝试将看到的内容翻译成中文。

    import this

    说明:输入上面的代码,在Python的交互式环境中能够看到Tim Peter撰写的“Python之禅”,里面讲述的道理不只仅适用于Python,也适用于其余编程语言。

  2. 学习使用turtle在屏幕上绘制图形。

    说明:turtle是Python内置的一个很是有趣的模块,特别适合对计算机程序设计进行初体验的小伙伴,它最先是Logo语言的一部分,Logo语言是Wally Feurzig和Seymour Papert在1966发明的编程语言。

    import turtle
    
    turtle.pensize(4)
    turtle.pencolor('red')
    
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    
    turtle.mainloop()

    提示:本章提供的代码中还有画国旗和画小猪佩奇的代码,有兴趣的读者请自行研究。

    ---恢复内容结束---

    ## 初识Python

Python简介

Python的历史

  1. 1989年圣诞节:Guido von Rossum开始写Python语言的编译器。
  2. 1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面),能够调用C语言的库函数。在最先的版本中,Python已经提供了对“类”,“函数”,“异常处理”等构造块的支持,还有对列表、字典等核心数据类型,同时支持以模块为基础来构造应用程序。
  3. 1994年1月:Python 1.0正式发布。
  4. 2000年10月16日:Python 2.0发布,增长了完整的垃圾回收,提供了对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简史》的博文。

Python的优缺点

Python的优势不少,简单的能够总结为如下几点。

  1. 简单和明确,作一件事只有一种方法。
  2. 学习曲线低,跟其余不少语言相比,Python更容易上手。
  3. 开放源代码,拥有强大的社区和生态圈。
  4. 解释型语言,天生具备平台可移植性。
  5. 对两种主流的编程范式(面向对象编程和函数式编程)都提供了支持。
  6. 可扩展性和可嵌入性,例如在Python中能够调用C/C++代码。
  7. 代码规范程度高,可读性强,适合有代码洁癖和强迫症的人群。

Python的缺点主要集中在如下几点。

  1. 执行效率稍低,所以计算密集型任务能够由C/C++编写。
  2. 代码没法加密,可是如今不少公司都不销售卖软件而是销售服务,这个问题会被弱化。
  3. 在开发时能够选择的框架太多(如Web框架就有100多个),有选择的地方就有错误。

Python的应用领域

目前Python在Web应用开发、云基础设施、DevOps、网络数据采集(爬虫)、数据分析挖掘、机器学习等领域都有着普遍的应用,所以也产生了Web后端开发、数据接口开发、自动化运维、自动化测试、科学计算和可视化、数据分析、量化交易、机器人开发、天然语言处理、图像识别等一系列相关的职位。

安装Python解释器

想要开始Python编程之旅,首先得在本身使用的计算机上安装Python解释器环境,下面将以安装官方的Python解释器为例,讲解如何在不一样的操做系统上安装Python环境。官方的Python解释器是用C语言实现的,也是使用最为普遍的Python解释器,一般称之为CPython。除此以外,Python解释器还有Java语言实现的Jython、C#语言实现的IronPython以及PyPy、Brython、Pyston等版本,咱们暂时不对这些内容进行介绍,有兴趣的读者能够自行了解。

Windows环境

能够在Python官方网站下载到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缺失缘由分析和解决方法》一文讲解的方法进行处理或者直接在微软官网下载Visual C++ Redistributable for Visual Studio 2015文件进行修复;若是是由于更新Windows的DirectX以后致使某些动态连接库文件缺失问题,能够下载一个DirectX修复工具进行修复。

Linux环境

Linux环境自带了Python 2.x版本,可是若是要更新到3.x的版本,能够在Python的官方网站下载Python的源代码并经过源代码构建安装的方式进行安装,具体的步骤以下所示(以CentOS为例)。

  1. 安装依赖库(由于没有这些依赖库可能在源代码构件安装时由于缺失底层依赖库而失败)。
yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
  1. 下载Python源代码并解压缩到指定目录。
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
xz -d Python-3.7.3.tar.xz
tar -xvf Python-3.7.3.tar
  1. 切换至Python源代码目录并执行下面的命令进行配置和安装。
cd Python-3.7.3
./configure --prefix=/usr/local/python37 --enable-optimizations
make && make install
  1. 修改用户主目录下名为.bash_profile的文件,配置PATH环境变量并使其生效。
cd ~
vim .bash_profile
# ... 此处省略上面的代码 ...

export PATH=$PATH:/usr/local/python37/bin

# ... 此处省略下面的代码 ...
  1. 激活环境变量。
source .bash_profile

macOS环境

macOS也自带了Python 2.x版本,能够经过Python的官方网站提供的安装文件(pkg文件)安装Python 3.x的版本。默认安装完成后,能够经过在终端执行python命令来启动2.x版本的Python解释器,启动3.x版本的Python解释器须要执行python3命令。

运行Python程序

确认Python的版本

能够Windows的命令行提示符中键入下面的命令。

python --version

或者是在Linux或macOS系统的终端中键入下面的命令。

python3 --version

固然也能够先输入python或python3进入交互式环境,再执行如下的代码检查Python的版本。

import sys

print(sys.version_info)
print(sys.version)

编写Python源代码

能够用文本编辑工具(推荐使用SublimeVisual Studio Code等高级文本编辑工具)编写Python源代码并用py做为后缀名保存该文件,代码内容以下所示。

print('hello, world!')

运行程序

切换到源代码所在的目录并执行下面的命令,看看屏幕上是否输出了"hello, world!"。

python hello.py

python3 hello.py

代码中的注释

注释是编程语言的一个重要组成部分,用于在源代码中解释代码的做用从而加强程序的可读性和可维护性,固然也能够将源代码中不须要参与运行的代码段经过注释来去掉,这一点在调试程序的时候常常用到。注释在随源代码进入预处理器或编译时会被移除,不会在目标代码中保留也不会影响程序的执行结果。

  1. 单行注释 - 以#和空格开头的部分
  2. 多行注释 - 三个引号开头,三个引号结尾
"""
第一个Python程序 - hello, world!
向伟大的Dennis M. Ritchie先生致敬

Version: 0.1
Author: 骆昊
"""

print('hello, world!')
# print("你好,世界!")
print('你好', '世界')
print('hello', 'world', sep=', ', end='!')
print('goodbye, world', end='!\n')

Python开发工具

IDLE - 自带的集成开发工具

IDLE是安装Python环境时自带的集成开发工具,以下图所示。可是因为IDLE的用户体验并非那么好因此不多在实际开发中被采用。

IPython - 更好的交互式编程工具

IPython是一种基于Python的交互式解释器。相较于原生的Python交互式环境,IPython提供了更为强大的编辑和交互功能。能够经过Python的包管理工具pip安装IPython和Jupyter,具体的操做以下所示。

pip install ipython

pip3 install ipython

安装成功后,能够经过下面的ipython命令启动IPython,以下图所示。

Sublime Text - 高级文本编辑器

  • 首先能够经过官方网站下载安装程序安装Sublime Text 3或Sublime Text 2。

  • 安装包管理工具。
    1. 经过快捷键Ctrl+`或者在View菜单中选择Show Console打开控制台,输入下面的代码。
    • Sublime 3
    import  urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
    • Sublime 2
    import  urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos.path.exists(ipp)elseNone;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());print('Please restart Sublime Text to finish installation')
    1. 在浏览器中输入 https://sublime.wbond.net/Package%20Control.sublime-package 下载包管理工具的安装包,并找到安装Sublime目录下名为"Installed Packages"的目录,把刚才下载的文件放到这个文件加下,而后重启Sublime Text就搞定了。
  • 安装插件。经过Preference菜单的Package Control或快捷键Ctrl+Shift+P打开命令面板,在面板中输入Install Package就能够找到安装插件的工具,而后再查找须要的插件。咱们推荐你们安装如下几个插件:

    • SublimeCodeIntel - 代码自动补全工具插件。
    • Emmet - 前端开发代码模板插件。
    • Git - 版本控制工具插件。
    • Python PEP8 Autoformat - PEP8规范自动格式化插件。
    • ConvertToUTF8 - 将本地编码转换为UTF-8。

说明:事实上Visual Studio Code多是更好的选择,它不用花钱并提供了更为完整和强大的功能,有兴趣的读者能够自行研究。

PyCharm - Python开发神器

PyCharm的安装、配置和使用在《玩转PyCharm》进行了介绍,有兴趣的读者能够选择阅读。

练习

  1. 在Python交互式环境中输入下面的代码并查看结果,请尝试将看到的内容翻译成中文。

    import this

    说明:输入上面的代码,在Python的交互式环境中能够看到Tim Peter撰写的“Python之禅”,里面讲述的道理不只仅适用于Python,也适用于其余编程语言。

  2. 学习使用turtle在屏幕上绘制图形。

    说明:turtle是Python内置的一个很是有趣的模块,特别适合对计算机程序设计进行初体验的小伙伴,它最先是Logo语言的一部分,Logo语言是Wally Feurzig和Seymour Papert在1966发明的编程语言。

    import turtle
    
    turtle.pensize(4)
    turtle.pencolor('red')
    
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    turtle.right(90)
    turtle.forward(100)
    
    turtle.mainloop()

    提示:本章提供的代码中还有画国旗和画小猪佩奇的代码,有兴趣的读者请自行研究。

相关文章
相关标签/搜索