001-Python简介

简介:

Python学习笔记之Python简介

Python 简介

  • 1、Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。

  • 2、Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

  • 3、Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

    (1)Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。

    (2)Python 是交互式语言: 这意味着,您可以在一个Python提示符,直接互动执行写你的程序。

    (3)Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

    (4)Python是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

  • 4、现在,全世界差不多有600多种编程语言,但流行的编程语言也就那么20来种。如果你听说过TIOBE排行榜,你就能知道编程语言的大致流行程度。这是最近10年最常用的10种编程语言的变化图:

Python发展历史

Python是由Guido van Rossum在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。

Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。

像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。

现在Python是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。

Python特点

  • 1、优点

    (1)易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

    (2)易于阅读:Python代码定义的更清晰。

    (3)易于维护:Python的成功在于它的源代码是相当容易维护的。

    (4)一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

    (5)互动模式:互动模式的支持,您可以从终端输入并获得结果的语言,互动的测试和调试代码片断。

    (6)便携式:Python可以运行在多种硬件平台和所有平台上都具有相同的接口。

    (7)可扩展:可以添加低层次的模块到Python解释器。这些模块使程序员可以添加或定制自己的工具,更有效。

    (8)数据库:Python提供所有主要的商业数据库的接口。

    (9)GUI编程:Python支持GUI可以创建和移植到许多系统调用。

    (10)可扩展性:相比 shell 脚本,Python 提供了一个更好的结构,且支持大型程序。

  • 2、缺点

    (1)代码不能加密:如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。

    注:目前的互联网时代,靠卖软件授权的商业模式越来越少了,靠网站和移动应用卖服务的模式越来越多了,后一种模式不需要把源码给别人。

    (2)速度慢:和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。

    注:大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。

    例如:开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?

Python的应用

  • 1、系统编程:提供API(Application Programming Interface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。

  • 2、图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。

  • 3、数学处理:NumPy扩展提供大量与许多标准数学库的接口。

  • 4、文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。

  • 5、数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。

  • 6、网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。

  • 7、Web编程:应用的开发语言,支持最新的XML技术。

  • 8、多媒体应用:Python的PyOpenGL模块封装了"OpenGL应用程序编程接口",能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。

  • 9、pymo引擎:PYMO全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memories off)风格的AVG游戏,故命名为PYMO。

  • 10、黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。

  • 11、用Python写简单爬虫
    首先,要通过urllib2这个Module获得对应的HTML源码。
    import urllib2  #调用urllib2
    url='http://www.baidu.com/s?wd=cloga' #把等号右边的网址赋值给url
    html=urllib2.urlopen(url).read()   #html随意取名 等号后面的动作是打开源代码页面,并阅读
    print html #打印

    通过上面这三句就可以将URL的源码存在content变量中,其类型为字符型。
    接下来是要从这堆HTML源码中提取我们需要的内容。用Chrome查看一下对应的内容的代码(也可以用Firefox的Firebug)。
    可以看到url的信息存储在span标签中,要获取其中的信息可以用正则式。

Python解释器

  • 1、Python是一门跨平台的脚本语言,Python规定了一个Python语法规则,实现了Python语法的解释程序就成为了Python的解释器。

  • 2、CPython(ClassicPython,也就是原始的Python实现,需要区别于其他实现的时候才以CPython称呼;或解作C语言实现的Python)。这是最常用的Python版本。

  • 3、Jython(原名JPython;Java语言实现的Python,现已正式发布)。Jython可以直接调用Java的各种函数库。

  • 4、PyPy(使用Python语言写的Python)

  • 5、IronPython(面向.NET和ECMA CLI的Python实现)。IronPython能够直接调用.net平台的各种函数库。可以将Python程序编译成.net程序。

  • 6、ZhPy(周蟒)(支持使用繁/简中文语句编写程序的Python语言)










本文转自 运维小当家 51CTO博客,原文链接:http://blog.51cto.com/solin/1943029,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
安全 数据库 开发者
Python Web框架简介
【2月更文挑战第10天】Python Web框架简介。
90 2
|
2月前
|
Linux 开发工具 C语言
30天python速成-第一天(python简介及下载安装)
30天python速成-第一天(python简介及下载安装)
49 3
|
1月前
|
存储 算法 数据挖掘
python列表简介(二)
python列表简介(二)
27 2
|
4月前
|
XML 测试技术 数据格式
Python性能测试Locust简介
Python性能测试Locust简介
Python性能测试Locust简介
|
4月前
|
机器学习/深度学习 人工智能 数据挖掘
【Python数据挖掘】数据挖掘简介及Jupyter notebook操作介绍(图文解释 超详细)
【Python数据挖掘】数据挖掘简介及Jupyter notebook操作介绍(图文解释 超详细)
63 0
|
4月前
|
存储 NoSQL Redis
Redis 简介 + Python 操作发布订阅
Redis 简介 + Python 操作发布订阅
|
7天前
|
网络协议 Java API
Python网络编程基础(Socket编程)Twisted框架简介
【4月更文挑战第12天】在网络编程的实践中,除了使用基本的Socket API之外,还有许多高级的网络编程库可以帮助我们更高效地构建复杂和健壮的网络应用。这些库通常提供了异步IO、事件驱动、协议实现等高级功能,使得开发者能够专注于业务逻辑的实现,而不用过多关注底层的网络细节。
|
15天前
|
数据采集 网络协议 API
python中其他网络相关的模块和库简介
【4月更文挑战第4天】Python网络编程有多个流行模块和库,如requests提供简洁的HTTP客户端API,支持多种HTTP方法和自动处理复杂功能;Scrapy是高效的网络爬虫框架,适用于数据挖掘和自动化测试;aiohttp基于asyncio的异步HTTP库,用于构建高性能Web应用;Twisted是事件驱动的网络引擎,支持多种协议和异步编程;Flask和Django分别是轻量级和全栈Web框架,方便构建不同规模的Web应用。这些工具使网络编程更简单和高效。
|
25天前
|
Python
Python面向对象编程简介
Python面向对象编程简介
17 1
|
25天前
|
数据可视化 数据挖掘 Python
Python中的数据可视化工具Matplotlib简介与实践
在本文中,我们将介绍Python中常用的数据可视化工具Matplotlib,包括其基本概念、常用功能以及实际应用。通过学习Matplotlib,读者可以更好地理解和运用数据可视化技术,提升数据分析与展示的能力。