用户工具

站点工具


侧边栏

program:python:python

Python

Python是一种广泛使用的解释型、高级编程、通用型编程语言,由吉多·范罗苏姆(Guido van Rossum)于1989年底发明,第一版发布于1991年。可以视之为一种改良的LISP。Python的设计哲学强调代码的可读性和简洁的语法。相比于C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。

编程语言已超过上千种,大部分用在计算领域。最受欢迎的编程语言三强:Indeed 数据(2019年1月-7月)分别是Java、C++、Python,Tiobe 数据(2019年6月)分别是Java、C、Python,IEEE Spectrum 数据(2019年9月第六届编程语言排行榜)分别是Python、Java、C。

语言特点

  1. Python使用C语言开发,但是Python不再有C语言中的指针等复杂的数据类型。
  2. Python具有很强的面向对象特性,而且简化了面向对象的实现。它消除了保护类型、抽象类、接口等面向对象的元素。
  3. Python代码块使用空格或制表符缩进的方式分隔代码。
  4. Python仅有31个保留字,而且没有分号、begin、end等标记。
  5. Python是强类型语言,变量创建后会对应一种数据类型,出现在统一表达式中的不同类型的变量需要做类型转换。

应用场景

Python已在许多应用程序领域中使用。具体在官方Python的应用一节表述为:网络和互联网、数据科学、教育、桌面GUI、软件开发和商业应用;而有经验人士精简为Web开发、数据科学和脚本等三大主要应用。

网络应用程序

  • Web开发:一些Web框架,如Django、Pyramid、TurboGears、Tornado、web2py、Zope、Flask等,可以让程序员轻松地开发和管理复杂的Web程序。
  • Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。
  • 作为运维工程师首选的编程语言,Saltstack和Ansible都是大名鼎鼎的自动化平台。

GUI开发

  • Python本身包含的Tkinter库能够支持简单的GUI开发。
  • 通过PyInstaller还能将程序发布为独立的安装程序包。

操作系统

  • 很多操作系统里,Python是标准的系统组件。
  • 一些Linux发行版的安装器和系统组件使用Python语言编写。

科学计算

  • NumPy、SciPy、Matplotlib可以让Python程序员编写科学计算程序。
  • 很多游戏使用C++编写图形显示等高性能模块。
  • python已经基本成了人工智能的标准语言,tensorflow/pytorch等各种框架层出不穷。

云计算

  • 开源云计算解决方案OpenStack就是基于Python开发的。
  • Python是数据分析的主流语言之一。

版本控制

版本控制(Version Control)包括两个层面,一是Python及包、库的版本控制,二是代码管理。

Python有诸多的版本,现用的版本包括从2010年发布的2.7到2019年发布的3.8,大体归类为2.x版和3.x版。Python 2.x和Python 3.x代码是不兼容的,也就是说二者是独立发展的,而不是从2.x到3.x的渐进发展。如果是初学者,建议直接使用最新版;成熟的开发项目则需要细致的代码迁移过程。

Python 2.x or Python 3.x?已经不再是一个问题。确切的消息是,Python 2.x最新版本Python 2.7将在2020年1月1日退役。以下是Python发布周期图:

在通用入门教程《Python编程:从入门到实践》中,示范代码是区分支持Python 2.x和Python 3.x的。而在其他一些教程,则是随着编程软件升级另出新版。

由于 Python 拥有众多的版本,以及不同模块也有不同的版本。同一模块不同版本有时需要的 Python 版本是不相同的,所以 Python 的版本控制显得尤为重要。

常用的有以下三种工具进行 Python 版本管理:

  • virtualenv
  • pyenv
  • anaconda

VS Code对Python应用包的版本控制作如下描述——

Python开发人员中的最佳实践是避免将软件包安装到全局解释器环境中。在项目使用virtual environment,其中包含全局解释器的副本。激活该环境后,您随后安装的所有软件包都将与其他环境隔离。这种隔离减少了因版本冲突而引起的许多复杂情况。

代码版本控制系统有很多种,集中式管理的代表是 Subversion(SVN),分布式管理的代表是 Git,如今的新项目基本都首选 Git 作为版本控制系统。Git是基于本地存储的,要解决更换电脑或者多人协作的代码版本控制,可以使用云端存储的 GitHub

虚拟环境

Python的虚拟环境针对每个应用创建独立的Python运行环境,这样就可以对每个应用的Python环境进行隔离,比如独立使用不同的版本。Python 内置 venv用以创建虚拟环境。

Python之禅

在 Python Shell 里面使用 import this 查看:

program/python/python.txt · 最后更改: 2019/12/17 14:43 由 125.70.201.136