Python入门01 — Python语言简介

2018-01-09 geekspeng 更多博文 » 博客 » GitHub »

Python

原文链接 http://geekspeng.cn/2018/01/09/Python%E5%85%A5%E9%97%A801-%E2%80%94-Python%E8%AF%AD%E8%A8%80%E7%AE%80%E4%BB%8B.html
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。


Python 是一种极少数能兼具 简单功能强大 的编程语言。你将惊异于发现你正在使用的这门编程语言是如此简单,它专注于如何解决问题,而非拘泥于语法与结构。

官方对 Python 的介绍如下:

Python 是一款易于学习且功能强大的编程语言。 它具有高效率的数据结构,能够简单又有效地实现面向对象编程。Python 简洁的语法与动态输入之特性,加之其解释性语言的本质,使得它成为一种在多种领域与绝大多数平台都能进行脚本编写与应用快速开发工作的理想语言。

<!-- more -->

名字的由来

Python是Guido van Rossum(吉多·范罗苏姆)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言,他采用 BBC 电视节目《蒙提·派森的飞行马戏团(Monty Python's Flying Circus,一译巨蟒剧团)》的名字来为这门编程语言命名。

Python 的特点

  • 简单

Python 是一门简单且简约的语言。阅读一份优秀的 Python 程序代码就如同在阅读英语文章一样,Python 这种伪代码式的特质正是它的一大优势。它能够让你专注于解决问题的方案,而不是语言本身。

  • 易于学习

Python 是一门非常容易入门的语言,Python 有一套极其简单的语法体系。

  • 免费开源

Python 是 FLOSS (自由/开放源代码软件)的成员之一。简单来说,你可以自由地分发这一软件的拷贝,阅读它的源代码,并对其作出改动,或是将其的一部分运用于一款新的自由程序中。FLOSS 基于一个可以分享知识的社区理念而创建。

  • 高级语言

当你在用 Python 编写程序时,你不必考虑诸如你的程序应当如何使用内存等底层细节。

  • 跨平台

由于其开放源码的特性,Python 已被移植到其它诸多平台(意即它们已经过改动以保证其能正常工作)。如果你小心地避开了所有系统依赖型的特性,那么你所有的 Python 程序不必作任何改动就可以在其中任何一个平台上工作。

  • 解释性

一个用编译性语言比如C/C++写的程序在运行前需要通过编译器翻译成计算机能执行的机器码。而解释性语言比如Python写的程序在运行前不需要编译成机器码,而是先由Python解释器将源代码转换成称为字节码的中间形式,在运行时再把它翻译成计算机能理解的机器码。这一流程使得 Python 更加易于使用,你不必再担心该如何编译程序,或如何保证适当的库被正确的链接并加载等等步骤。这也同样使得 Python 程序更便携且易于移植,你只需要将 Python 程序拷贝到另一台电脑便可让它立即开始工作!

  • 面向对象

Python 同时支持面向过程编程与面向对象编程。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。

  • 可扩展性

如果你需要代码的某一重要部分能够快速地运行,或希望算法的某些部分不被公开,你可以在 C/C++ 语言中编写这些程序,然后再将其运用于你的 Python 程序中。

  • 可嵌入性

你可以在你的 C/C++ 程序中嵌入 Python,从而向你的程序用户提供 脚本 功能

  • 丰富的库

实际上 Python 标准库的规模非常庞大。它能够帮助你完成诸多事情,包括正则表达式、文档生成、单元测试、多线程、数据库、网页浏览器、CGI、FTP、邮件、XML、XML-RPC、HTML、WAV 文件、密码系统、GUI(图形用户界面),以及其它系统依赖型的活动。

Python的缺点

  • 运行速度慢

和 C/C++ 程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成计算机能理解的机器码,这个翻译过程非常耗时,所以很慢。而 C/C++ 程序是运行前直接编译成CPU能执行的机器码,所以非常快。但是,除了像视频高清解码等计算密集型任务对运行速度有较高的要求外,在大部分时候,我们可能并不需要非常快的运行速度。

  • 代码不能加密

如果要发布你的Python程序,实际上就是发布源代码,这一点跟C/C++语言不同,C/C++语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。这个缺点仅限于你要编写的软件需要卖给别人挣钱的时候。好消息是目前的互联网时代,靠卖软件授权的商业模式越来越少了,靠网站和移动应用卖服务的模式越来越多了,后一种模式不需要把源码给别人。

Python 适合做什么

  • 脚本开发

这些简短的程序自动执行常见的管理任务,如在系统中新增用户、将文件上传到网站、在不使用浏览器的情况下下载网页等。

  • 网站开发

不少大型网站都是使用 Python 作为后台开发语言的,比如 YouTube、Pinterest、国内的豆瓣和知乎等。

  • 文本处理

Python在字符串和文本文件处理方面提供了强大的支持,包括正则表达式和Unicode。

  • 科学计算

网上有很多卓越的Python科学计算库,提供了用于统计、数学计算和绘图的函数。

  • 机器学习

有不少知名的机器学习库也是使用 Python 开发的,比如,scikit-learn 是一个强大的机器学习库,Theano 是一个成熟的深度学习库。

  • 教育

鉴于Python简洁实用,越来越多的学校将其作为第一门编程教学语言。