Python 的课程介绍

                                                         Python 的课程介绍
一、Python编程语言的排名(TIOBE连接:https://www.tiobe.com/tiobe-index/

 


二、编程语言分类。
  • Python(目前排名第四的语言)
          Python是一门优秀的综合语言, Python的宗旨是简明、优雅、强大,在人工智能、云计算、金融分析、大数据开发、WEB开发、自动化运维、测试等方向应用普遍,已经是全球第4大最流行的语言。
  • JAVA(目前排名第一的语言):
         Java是一种能够撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具备卓越的通用性、高效性、平台移植性和安全性,普遍应用于我的PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具有了显著优点和广阔前景。
  • C语言(目前排名第二的语言):
          C语言是一种计算机程序设计语言,它既具备高级语言的特色,又具备汇编语言的特色。C语言由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已前后被移植到大、中、小及微型机上,它能够做为工做系统设计语言,编写系统应用程序,也能够做为应用程序设计语言,编写不依赖计算机硬件的应用程序。
         C语言的应用范围普遍,具有很强的数据处理能力,不只仅是在软件开发上,并且各种科研都须要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用好比单片机以及嵌入式系统开发。
  • C++(目前排名第三的语言):
          C++ 是 C 语言的继承的扩展,它既能够进行C语言的过程化程序设计,又能够进行以抽象数据类型为特色的基于对象的程序设计,还能够进行以继承和多态为特色的面向对象的程序设计。C++擅长面向对象程序设计的同时,还能够进行基于过程的程序设计,于是C++就适应的问题规模而论,大小由之。
          C++ 不只拥有计算机高效运行的实用性特征,同时还致力于提升大规模程序的编程质量与程序设计语言的问题描述能力。
  • PHP(目前排名第九的语言):
          PHP(英文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸取了C语言、Java 和 Perl 的特色,利于学习,使用普遍,主要适用于Web开发领域。


三、Python与其余语言的区别:
  • C\C++:它的学习成本高,学习周期长,偏系统感层,在开发硬件驱动,嵌入式,游戏引擎开发等领域有着普遍的应用。
  • JAVA:目前使用最普遍的语言,它是第一个跨平台运行的语言,在大型 ERP 软件开发,安卓APP 开发,网站开发领域使用普遍。
  • PHP:使用最普遍的 web 开发语言,很是适合中小型网站开发,学习成本较低,开发效率高。
  • PYTHON:使用领域几乎和 JAVA 同样普遍,可是它的开发效率要高于JAVA,而且学习成本较低,在科学运算、数据分析、网站开发、爬虫开发、云计算、自动化运维、自动化测试等领域优点明显。


四、Python生态圈:
①WEB开发。
      最火的Python web框架Django, 支持异步高并发的Tornado框架,短小精悍的flask,bottle, Django官方的标语把Django定义为the framework for perfectionist with deadlines(大意是一个为彻底主义者开发的高效率web框架)。

②人工智能
      谁会成为AI 和大数据时代的第一开发语言?这本已经是一个不须要争论的问题。若是说三年前,Matlab、Scala、R、Java 和 Python还各有机会,局面尚且不清楚,那么三年以后,趋势已经很是明确了,特别是前两天 Facebook 开源了 PyTorch 以后,Python 做为 AI 时代头牌语言的位置基本确立,将来的悬念仅仅是谁能坐稳第二把交椅。(人工智能的转折点,在2014年,著名科学家――吴恩达)③云计算
     目前最火最知名的云计算框架就是OpenStack, Python 如今的火,很大一部分就是由于云计算。(云计算 是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源可以被快速提供,只需投入不多的管理工做,或与服务供应商进行不多的交互。例如,国内的“阿里云”与云谷公司的XenSystem,以及在国外已经很是成熟的Intel 和IBM。)

④金融分析
       公司写的好多分析程序、高频交易的软件就是用的 Python,到目前,Python是金融分析、量化交易领域里用的最多的语言。

⑤爬虫
        爬虫领域,Python几乎是霸主地位,Scrapy、Request、BeautifuSoap、urllib等,想爬什么就爬什么。(网络爬虫,又被称为网页蜘蛛、网络机器人,在FOAF社区中间,更常常被称为网页追逐者,是一种按照必定的规则,自动的抓取万维网信息的程序或者脚本,已被普遍应用于互联网领域。搜索引擎使用网络爬虫抓取Web网页、文档甚至图片、音频、视频等资源,经过相应的索引技术组织这些信息,提供给搜索用户进行查询。网络爬虫也为中小站点的推广提供了有效的途径。)

⑥自动化运维
       问问中国的每一个运维人员,运维人员必须会的语言是什么?10我的相信会给你一个相同的答案,它的名字叫Python。

⑦科学运算
      从97年开始,NASA 就在大量使用 Python 在进行各类复杂的科学运算,随着NumPy, SciPy, Matplotlib, Enthought librarys等众多程序库的开发,使的Python愈来愈适合于作科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更普遍。

⑧游戏开发
       在网络游戏开发中Python也有不少应用。相比Lua or C++,Python 比 Lua 有更高阶的抽象能力,能够用更少的代码描述游戏业务逻辑,与 Lua 相比,Python 更适合做为一种 Host 语言,即程序的入口点是在 Python 那一端会比较好,而后用 C/C++ 在很是必要的时候写一些扩展。Python 很是适合编写 1 万行以上的项目,并且可以很好地把网游项目的规模控制在 10 万行代码之内。另外,知名的游戏<文明> 就是用Python写的。

⑨网络编程
     支持高并发的Twisted网络框架, py3引入的asyncio使异步编程变的很是简单。


五、应用Python的公司:

 

  • 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发。
  • CIA: 美国中情局网站就是用Python开发的。
  • NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算。
  • YouTube:世界上最大的视频网站You
  • Tube就是用Python开发的。
  • Dropbox:美国最大的在线云存储网站,所有用Python实现,天天网站处理10亿个文件的上传和下载。
  • Instagram:美国最大的图片分享社交网站,天天超过3千万张照片被分享,所有用python开发。
  • Facebook:大量的基础库均经过Python实现的。
  • Redhat:世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的。
  • 豆瓣:公司几乎全部的业务均是经过Python开发的。
  • 知乎:国内最大的问答社区,经过Python开发(国外Quora)。
  • 春雨医生:国内知名的在线医疗网站是用Python开发的。

除上面以外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各类各样的任务。

                                     
                                                                                              Python 编程语言介绍
一、编程的概念。
       编程,是个动词,“编程”就等于“写代码”。写代码的目的就是为了让计算机作咱们想要让它作的事情。因此若是咱们如今想要让一台电脑听你的话去干活,就得使用它可以理解的语言去让它干活。
      计算机只能理解“二进制”,也就是只能使用“0”和“1”来与计算机进行交流。例如,010110100100010011。

 


二、机器语言&汇编语言。
  • 编程语言的分类:
              机器语言(Machine Language)
              汇编语言(Assembler Language)
              高级语言(High-level language)

①机器语言
        因为计算机内部只接受二进制代码,所以,用二进制代码“1”和“0”描述的指令称为机器指令,所有机器指令的集合构成计算机的机器语言。
        机器语言属于低级语言。
        输出的程序全是些“0”和“1”的指令代码,它的直观性差,还容易出错,除了计算机生产厂家的专业人员外,绝大多数的程序员已经再也不去学习机器语言了。机器是微处理器理解和使用的,监管机器语言好像是很复杂的,然而它是有规律的。
        存在着多至100000种机器语言的指令,这意味着不能把这些种类所有列出来。
        

 


②汇编语言
        汇编语言的实质和机器语言是相同的,他们都是直接对硬件操做,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
        它一样须要一个编程者将每一步具体的操做用命令的形式写出来。汇编语言的每一句指令,只能对应实际操做过程当中的一个很细微的动做。例如移动、自增,所以汇编源程序通常比较冗长,复杂,容易出错,并且使用汇编语言编程须要更多的计算机专业知识。
        可是汇编语言的优势也是显而易见的,用汇编语言所能完成的操做不是通常高级语言所可以实现的,并且源程序经汇编生成的可执行文件不只比较小,并且执行速度很快。
        汇编语言属于低等语言。
        

 


③高级语言
        高级语言是大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,而且去掉了与具体操做有关但与完成工做无关的细节,例如使用堆栈、寄存器等。这样就大大的简化了程序中的指令,同时,因为省略了不少细节,编程者就不须要有太多的专业知识。
       高级语言主要是相对于汇编语言而言的,他并非一个特指某同样具体的语言,而是包括了不少编程语言,例如 C、C++、JAVA、PHP、GO、Python等等都属于高级语言。
       相比机器语言和汇编语言,高级语言对开发人员更加友好,在开发效率上有着大大的提升。
       
三、高级语言。
      不一样的高级语言的区别在于转变二进制的方式不一样。
①高级语言的特征:
 特征一:计算机不能直接理解高级语言,只能直接理解机器语言,因此必需要把高级语言翻译成机器语言,计算机才可以去执行高级语言编写的程序。 
特征二:高级语言对开发人员友好,开发效率会更高。
 

 


②高级语言转换方式的分类:
  • 高级语言――编译型语言(Compiling Languages)
              程序在执行以前,须要将程序源代码先“编译”成目标程序(机器语言),所以他的目标程序能够脱离其语言环境独立执行(编译生成的可执行文件是CPU能够理解的二进制的机器码组成的),使用比较方便,效率较高,但应用程序一旦须要修改,必须先修改源代码,再从新编译生成新的目标文件(*.cbj 也就是CBJ文件)才能够执行,只有目标文件而没有源代码,修改比较麻烦。
             编译后程序运行的时候不须要从新翻译,以前使用编译的结果就好了,程序执行效率高,依赖编译器,跨平台性差些,好比C/C++、vb、Delphi等高级语言。
          

 


  • 高级语言――解释型语言(Interpreted Languages)
            也称脚本语言,程序在执行的时候才翻译成机器语言,每执行一次就要翻译一次,所以执行效率比较低。因为是在执行时才翻译,能够动态修改程序的属性和方法,因此也可称为动态语言。因为在执行时才翻译,能够调用不一样的平台的解释器进行翻译,作到一份代码跨平台应用。好比Perl、Ruby、Python等。

 


③程序设计语言从机器语言到高级语言的抽象,带来的主要好处是:
       高级语言接近算法语言,易学、易掌握,通常工程技术人员只要几周时间的培训就能够胜任程序员的工做;
       高级语言为程序员提供告终构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;
       高级语言远离机器语言,与具体的计算机硬件关系不大,于是所写出来的程序可移植性好,重用率高;
       因为把繁杂琐碎的事务交给了编译程序去作,因此自动化程度高,开发周期短,且程序员获得解脱,能够集中时间和精力去从事对于他们来讲更为重要的创造性劳动,以提升程序的质量。
 

四、编程语言小结。
  • 机器语言:
          优势是最底层,速度最快;
          缺点是最复杂,开发效率最低;
  • 汇编语言:
           优势是比较底层,速度最快;
           缺点是复杂,开发效率最低;
  • 高级语言:
           编译型语言优势是执行速度快,不依赖语言环境运行;缺点是跨平台性差。            解释型语言优势是跨平台性好,一份代码,处处使用;缺点是执行速度慢,依赖解释器运行。  
相关文章
相关标签/搜索