设为首页 收藏本站
查看: 943|回复: 0

[经验分享] 001-Python简介

[复制链接]

尚未签到

发表于 2018-8-6 11:02:53 | 显示全部楼层 |阅读模式
  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种编程语言的变化图:
DSC0000.png

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语言)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-547528-1-1.html 上篇帖子: Python:python编辑器对比和推荐 下篇帖子: python---list()用法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表