Python 的课程介绍

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

2、编程语言分类。
  • 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开发领域。


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


4、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使异步编程变的非常简单。


5、应用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 编程语言介绍
1、编程的概念。
       编程,是个动词,“编程”就等于“写代码”。写代码的目的就是为了让计算机做我们想要让它做的事情。所以如果我们现在想要让一台电脑听你的话去干活,就得使用它能够理解的语言去让它干活。
      计算机只能理解“二进制”,也就是只能使用“0”和“1”来与计算机进行交流。例如,010110100100010011。

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

①机器语言
        由于计算机内部只接受二进制代码,因此,用二进制代码“1”和“0”描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言。
        机器语言属于低级语言。
        输出的程序全是些“0”和“1”的指令代码,它的直观性差,还容易出错,除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。机器是微处理器理解和使用的,监管机器语言好像是很复杂的,然而它是有规律的。
        存在着多至100000种机器语言的指令,这意味着不能把这些种类全部列出来。
        
②汇编语言
        汇编语言的实质和机器语言是相同的,他们都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
        它同样需要一个编程者将每一步具体的操作用命令的形式写出来。汇编语言的每一句指令,只能对应实际操作过程中的一个很细微的动作。例如移动、自增,因此汇编源程序一般比较冗长,复杂,容易出错,而且使用汇编语言编程需要更多的计算机专业知识。
        但是汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能够实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
        汇编语言属于低等语言。
        
③高级语言
        高级语言是大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等。这样就大大的简化了程序中的指令,同时,由于省略了很多细节,编程者就不需要有太多的专业知识。
       高级语言主要是相对于汇编语言而言的,他并不是一个特指某一样具体的语言,而是包括了很多编程语言,例如 C、C++、JAVA、PHP、GO、Python等等都属于高级语言。
       相比机器语言和汇编语言,高级语言对开发人员更加友好,在开发效率上有着大大的提高。
       
3、高级语言。
      不同的高级语言的区别在于转变二进制的方式不同。
①高级语言的特征:
 特征一:计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能够去执行高级语言编写的程序。 
特征二:高级语言对开发人员友好,开发效率会更高。
 

②高级语言转换方式的分类:
  • 高级语言――编译型语言(Compiling Languages)
              程序在执行之前,需要将程序源代码先“编译”成目标程序(机器语言),因此他的目标程序可以脱离其语言环境独立执行(编译生成的可执行文件是CPU可以理解的二进制的机器码组成的),使用比较方便,效率较高,但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*.cbj 也就是CBJ文件)才可以执行,只有目标文件而没有源代码,修改比较麻烦。
             编译后程序运行的时候不需要重新翻译,之前使用编译的结果就行了,程序执行效率高,依赖编译器,跨平台性差些,比如C/C++、vb、Delphi等高级语言。
          
  • 高级语言――解释型语言(Interpreted Languages)
            也称脚本语言,程序在执行的时候才翻译成机器语言,每执行一次就要翻译一次,因此执行效率比较低。由于是在执行时才翻译,可以动态修改程序的属性和方法,所以也可称为动态语言。由于在执行时才翻译,可以调用不同的平台的解释器进行翻译,做到一份代码跨平台应用。比如Perl、Ruby、Python等。

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

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

 

猜你喜欢

转载自www.cnblogs.com/wqq0723/p/9229461.html