码迷,mamicode.com
首页 > 编程语言 > 详细

Python介绍

时间:2015-07-10 15:19:29      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

Python是一种面向对象的解释性的计算机程序设计语言,也是一种成熟、稳定、完善的通用性语言,具有丰富的类库。
Python也是一种高级语言,相比低级语言来说,编写Python程序耗时更少、程序更短,因此更容易阅读,也更容易保证程序的正确性。作为高级语言,Python是可移植的,同样的程序可以在不同类型的系统上运行。
这篇文章将介绍Python的历史、优点和缺陷,并为你介绍Python 3的基本语法和一些高级特性。

Python语言介绍

Python的历史

Python的创始人为Guido van Rossum,1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC语言的一种继承。之所以选中Python作为程序的名字,是因为他是一个Monty Python的飞行马戏团的爱好者。
ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido认为是非开放造成的。Guido决心在Python中避免这一错误(的确如此,Python与其它的语言如C、C++和Java结合的非常好)。同时,他还想实现在ABC中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了。实际上,第一个实现是在Mac机上。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

Python语言的特点

从Python自身的特点出发,它简单易学,具有可移植性,如果你避免使用依赖于系统的特性,那么你的Python程序无需修改即可在在Linux、Windows、FreeBSD等20多个系统上运行。
Python是一种脚本语言,因此也具有脚本语言的所有特点:解释的、面向对象的、内建的高级数据结构、支持模块和包、支持多种平台、可扩展。下面是Python自身的几个主要特性:
1)解释性
Python编写的程序可以直接从源代码执行。Python在执行时,首先会将.py文件中的源代码编译成Python的字节码,然后再有Python虚拟机来执行这些编译好的字节码。基于C的Python编译出的字节码文件,通常是.pyc格式。
由于这个特性,你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,从而使Python程序更加易于移植。
2)面向对象
Python即支持面向过程的编程,也支持面向对象的编程。相比于C++和Java,Python的面向对象编程的方式更加简单。
3)可扩展性
Python能够和其它语言制作的各种模块(尤其是C/C++)轻松地联结在一起。因此,如果你想要一些关键代码运行得更快,你可以将那部分代码用C或者C++实现,然后在Python程序中使用它们。
4)可嵌入性
你也可以将Python嵌入到C/C++程序中,从而向你的程序用户提供脚本功能。
5)丰富的库
Python具有强大而丰富的库,可以帮组你处理各种工作,后面我们将具体介绍。

为什么使用Python

Python具有清晰的语法结构,因此也被称为可执行的伪代码。并且Python开发环境默认已经附带了很多高级数据结构,如:列表、元组、字典、集合等,使编写程序变得异常简单,仅需要很少的代码就能实现你的想法。
Python也非常流行,使用广泛,具有丰富的模块库,可以大大的缩短开发周期。
基于Python以上的特性,使用Python可以避免花费太多精力在程序编写上,从而可以将精力更多的投入到处理数据的内在含义上。
Python语言的唯一不足就是性能问题,Python程序的运行效率不如Java或C,但在需要效率的地方,我们可以使用Python调用C编译的代码。

Python的安装和编程环境

在绝大部分Linux和Unix的系统中(包括Mac OS X),已经默认安装了Python的解释器,在提示符下输入python命令,可以得到:

# python
Python 2.6.6 (r266:84292, Nov 21 2013, 10:50:32) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

而在Windows下则需要安装,安装也非常简单,下载下来的msi文件(例如:python-3.3.1.msi),按照提示一次安装即可。在Windows环境下,提供了一个Python集成开发环境IDLE,打开后出现如下窗口:
技术分享
在里面就可以运行Python脚本了。
除了Python默认提供的IDLE开发环境,Python还有一些商业的IDE,如:Komodo、Wingware等,也存在一些免费的IDE,如:Eclipse(需要安装PyDev插件)、NotePad++(需要安装Python Script插件)等。

Python基础

值和类型

程序的主要工作就是对数据进行操作,而值就是构成数据的最基本单位,比如字符或者数字。在Python中可以通过type方法查看一个值的类型,例如:

>>> type(‘Hello,world!‘)
<class ‘str‘>
>>> type(17)
<class ‘int‘>
>>> type(1.34)
<class ‘float‘>

str表示字符串,而int表示整数,float表示浮点数,整数和浮点数都属于数字
在Python中,布尔类型为bool:

>>> type(False)
<class ‘bool‘>
>>> type(1==0)
<class ‘bool‘>

变量

Python中直接使用赋值语句就可以创建新的变量:

>>> n = 10
>>> x = 3.91
>>> str = ‘Hello,world!‘

操作符和操作对象

Python中支持的操作符包括:+、-、、/和*(乘方),例如:

>>> 2 ** 3
8

也可以使用变量:

>>> x = 59
>>> x / 60
0.9833333333333333

容器

容器用于存储数据,可以对容器进行遍历和查找操作。容器通常分为可变容器和不可变容器,可变容器支持对数据的插入、修改和删除,而不可变容器则只能遍历和查找。
Python中的容器都可以作为迭代器,包括:列表、元组、range、字符串、集合和字典。容器存在一些公共的操作,请看序列概览
列表是可变序列,通常用于存储同类型的元素。
元组和range都是不可变序列,元组通常用于存储异构数据的集合,而range则只用于数字,通常用于for循环中。
字符串对应对象str,是使用Unicode编码的不可变序列。
集合是一组无序排列的可哈希的值,集合中不能包含重复的值。
字典是映射类型,是可变对象,用于将一个值映射到另一个值,字典中的值没有特殊的顺序,都是与一个key对应,key必须是不可变类型。

条件判断和循环

程序不总是顺序执行的,所以需要条件控制语句来支持分支处理,循环来处理反复多次调用,请参考条件判断和循环

函数

当编写大型程序时,你可能发现在很多地方都需要使用到相同或相似的代码,这是,你就可以将相同或相似的代码定义为函数,供所有需要它的地方调用。并且函数名也可以帮助我们更容易的理解代码。

模块

如果你实现的功能很简单,那么使用一个文件就足够了,但如果你需要实现更大的功能,则你就会考虑将代码分解为多个文件,便于管理;或者你也可能想使用一些已有的代码,而不用将他们拷贝过来。
这时,你就需要使用模块。模块被定义为一个单独的文件,文件名即为它的模块名称,在一个模块中的定义能被导入其它模块或者主模块中。

Python是面向对象的语言,Python的提供了面向对象的所有特征:多态、封装和继承。
- 多态:可以对不同的对象使用同样的操作,它会根据对象(或类)类型的不同而表现出不同的行为;
- 封装:对外部世界隐藏对象的工作细节;
- 继承:以普通的类为基础建立特定的类对象。

错误和异常

程序总是需要处理异常情况,有些异常是错误,但有些则是正常情况下的异常流程,Python提供了错误和异常处理的有效机制。

更多特性

到这里,你已经可以使用Python编写脚本来解决问题,但Python还具有很多的特性需要你了解,这些特性在实际使用中经常都会用到,例如:迭代器和生成器文件等。

基础库

很多通用的问题你都不需要从头开始编写代码,Python提供了基础库供你调用,一些常用的基础库你需要熟悉,而还有一些只有某些应用会用到的基础库你则需要选择性的了解。

高级主题

在对Python了解了这么多后,就是时候了解一些高级特性了,这些告警特性往往是针对某个领域的,例如:正则表达式()、多线程、网络编程等。
多线程分为:threadingschedqueue_thread
其它高级主题待补充。

接下来呢

接下来则是实战部分了,可以通过一些小的联系熟悉Python的语法,然后做一些项目将Python熟悉起来。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Python介绍

标签:

原文地址:http://blog.csdn.net/tomato__/article/details/46829887

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!