Python 是一种面向对象、直译式计算机编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。
Python 可以和 C/C++ 语言整合在一起,也能支持命令式程序设计、面向对象程序设计、函数式编程、面向侧面程序设计、泛型编程多种编程范式。(摘自维基百科Python词条)
Python 的一些重要特性
- 简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
- 易学:Python极其容易上手,因为Python有极其简单的说明文档。
- 速度快:Python 的底层是用 C 语言写的,很多标准库和第三方库也都是用 C 写的,运行速度非常快。
- 免费、开源:Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
- 高层语言:用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
- 可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台 上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、 BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。
- 解释性:一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行 程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。
- 面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。
- 可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
- 可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
- 丰富的库:Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。(摘自 百度百科Python词条)
下面是 sangkrit 收集整理的 25 本免费的 Python 电子书。如果你是 Python 新手,并且不知该先看哪本,sangkrit 是建议从第 12 本开始。
对于Python新手应该从哪本开始,如果各位朋友有不同看法,欢迎在评论中留言。
- Think Stats
- Dive Into Python
- A Byte Of Python
- Think Complexity
- Dive Into Python 3
- DJANGO TUTORIAL
- Building Skills In OOP
- Pyramid For Humans
- Flask Microframework
- Building Skills In Python
- Kivy Programming Guide
- Snake Wrangling For Kids
- An Introduction To Python
- Programmez Avec Python 2
- Programmez Avec Python 3
- Python Module Of The Week
- Learn Python The Hard Way
- The Standard Python Library
- Building Skills In Programming
- Python Scientific Lecture Notes
- Making Games With Python & Pygame
- Python 101 (an introduction to python)
- How To Think Like A Computer Scientist
- Natural Language Processing With Python
- Programming Computer Vision With Python