前言:作为对于python小白而言,我们需要知道什么是python,为什么学习python而不是其他编程语言,它相比于其他语言有什么优势,同时了解python 的执行操作过程又是怎么样的,它有哪些分类?接下来开始走进python的世界。

一、Python的定义:

    什么是python呢?python是著名的‘龟叔Guido van Rossum在1989年圣诞节,为了打发无聊的圣诞节而开发的一门编程语言(脚本解释程序)。

    根据20017年12月的Tiobe排行榜--编程语言流行度,Python赶超C#、PHP名列第四。

    

  并且一直以来,Python整体呈上升的趋势,越来越多的人使用Python这门编程语言,逐渐更为广泛的得到行业的认可。


2、python的特点:

  那么Python如此迅速的发展,其本身有什么特点呢?

  先说说其优点吧:--->’优雅、明确、简单’。

    a、极佳的可读性。-->由于Python采用强制缩进的方式使得代码具有极佳的可读性。

    b、简单。-->非常适合学习,类似用一定的规则去写英语文章,并且使你可以专注的使用语言去解决问题而不是纠结于语言本身。

    c、开源。-->简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。

    d、可移植性。 -->由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、QNX、VMS、、Windows CE等甚至还有PocketPC、Symbian以及Google基于linux开发的Android平台!

    e、既支持面向过程编程也支持面向对象编程。-->在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。而类似Java、c++等很难实现。

    f、丰富的库。-->python有可定义的第三方库可以使用。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

    g、可扩展性和可嵌入性。-->如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。你也可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

  当然,Python也有其缺点:

    1、运行速度相对于其他语言而言较慢。--》由于其运行时要求边编译边执行的过程,故相对于C、Java、PHP等较慢。

    2、python的开源性使得Python语言不能加密。--》但是目前国内市场纯粹靠编写软件卖给客户的越来越少,网站和移动应用不需要给客户源代码,所以这个问题就是问题了。国随着时间的推移,很多国内软件公司,尤其是游戏公司,也开始规模使用他。

  那么相对于C、Java、PHP其他编程语言,Python的优劣在哪?

    C语言:首先我们要知道Python是有C语言实现的。

        C语言为编译型语言--》代码编译得到机器码,机器码在CPU上直接执行。故其运行速度快。

        Python为编译型还是解释型并不明确,姑且为解释型。---》代码编译得到字节码,再通过虚拟机执行字节码转换成机器码,最后由CPU执行。

    与Java、PHP、c#等相比:

      PHP类:适用于写网页,其局限性十分明显。

      Python和Java:既可以写网页,也可以写后台功能,这两者比较--》前者开发效率高、执行效率较低,或者开发效率较低,执行效率较高。


3、Python的种类:

  • Cpython
        Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
  • Jyhton
        Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
  • IronPython
        Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
  • PyPy(特殊)
        Python实现的Python,将Python的字节码字节码再编译成机器码。
  • RubyPython、Brython ..

4、Python的应用领域:

  • 系统编程

    Python语言在操作系统的内置接口,被称为Shell工具。Python程序可以搜索文件和目录树、可以运行其他的应有程序或是用进程或线程进行并行处理。Python标准库绑定了POSIX 以及其他常规操作系统工具。所以环境变量、管道、进程、多线程、文件、套接字、python正则表达式模式匹配、命令行参数、标准流接口、Shell 命令启动器、file扩展等。除此之外很多Python 的系统工具设计时都考虑了其可移植性。

  • 网络爬虫

    由于Python的网络方面的功能非常强大,常用来实现网络爬虫。常用框架有:

      grab – 网络爬虫框架(基于pycurl/multicur)。

      scrapy – 网络爬虫框架(基于twisted),不支持Python3。

      pyspider – 一个强大的爬虫系统。

      cola – 一个分布式爬虫框架。

      portia – 基于Scrapy的可视化爬虫。

      restkit – Python的HTTP资源工具包。它可以让你轻松地访问HTTP资源,并围绕它建立的对象。

      demiurge – 基于PyQuery的爬虫微框架。

  • 人工智能、科学计算

    科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas

  • WEB开发

    Python有众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣等等 典型WEB框架有Django、Flask等,享学课堂就是使用Django开发的。

  • 系统运维

    Python已经成为,运维人员必备语言,尤其是在Linux运维方面,基本上是自动化运维。

  • 大数据、云计算

    Python是大数据、云计算最火的语言, 典型应用OpenStack

  • 金融方面

    量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很厉害,生产效率远远高于c,c++,java,尤其擅长策略回测。

  • 图形界面方面

    PyQT, WxPython,TkInter

  • 企业和网站的案例方面    

    谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发

    CIA: 美国中情局网站就是用Python开发的

    NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算

    YouTube:世界上最大的视频网站YouTube就是用Python开发的

    Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载

    Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发

    Facebook:大量的基础库均通过Python实现的

    Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的

    豆瓣: 公司几乎所有的业务均是通过Python开发的

    知乎: 国内最大的问答社区,通过Python开发(国外Quora)

    等等。


4、python的安装

  还有便是关于Python的安装方面的知识,

     Windows上python的安装--》可参考  https://jingyan.baidu.com/article/574c52197b9fbc6c8c9dc170.html##1

     Linux下python3.x的安装可跟根据以下流程进行安装:

 #下载python3.x的安装包
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
#准备工作
yum install gcc-* glibc-* -y
#切换至安装包所在目录,并且解包
tar -xvf Python-3.6.5.tgz
#切换至解包的目录下,运行configure脚本,添加编译参数
./configure --prefix=/usr/local/python3.6
#编译
make
#安装
make install

   添加环境变量:

#找到python3.x安装的位置,修改配置文件
vim /etc/profile
#将python3.x的安装目录添加至PATH后面
PATH =/usr/local/bin:/usr/bin/.......:/usr/local/python 3.6
export PATH

   而关于python2.安装---》Linux下默认安装是为python2.X可直接运行。

    

第一篇:python简介的更多相关文章

  1. python学习第一讲,python简介

    目录 python学习第一讲,python简介 一丶python简介 1.解释型语言与编译型语言 2.python的特点 3.python的优缺点 二丶第一个python程序 1.python源程序概 ...

  2. SAP-ABAP系列 第一篇SAP简介

    第一篇 SAP简介 SAP全名为System Application and Products in Data Processing.SAP目前是全世界排名第一的RP软件,号称“全球最大的企业管理解决 ...

  3. 第一章----python简介

    1.python简介 定义:python是一种计算机程序设计语言,是一种相当高级的语言,是用来编写应用程序的高级编程语言: 特点:优势:简单易用:提供了非常完善的基础代码库:优雅,明确,简单.劣势 : ...

  4. 第一章python 简介

    python语言是目前最流行的编程语言之一,在笔者写这篇文章的前一周,2018年的IEEE的编程语言排行出来了,python又雄踞第一. Python 强势霸榜第一名!排名第二的 C++ 得分是 98 ...

  5. Python开发 第一篇 python的前世今生

    Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...

  6. 第一篇 Python图片处理模块PIL(pillow)

    本篇包含:一.Image类的属性:1.Format   2.Mode   3.Size    4.Palette    5.Info                   二.类的函数:1.New   ...

  7. 第一篇:python基础

    python基础   python基础 本节内容 python起源 python的发展史 为什么选择python3 第一个python程序 变量定义 表达式和运算符 用户输入 流程控制 判断 流程控制 ...

  8. python第一篇-------python介绍

    一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写Python语言的编译器.Python这个名字,来自Guido所 ...

  9. Python第一部分--Python简介+第一个程序+Python2和Python3介绍 001-016

    一.Python起源 1.1 解释器(科普) 1.2Python的设计目标 1.3 Python的设计哲学 02.为什么学Python? 代码量少 同一样问题,不用的语言解决,代码量差距还是很多的,一 ...

  10. Python基础第一篇-------python的介绍

    一.python的介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本 ...

随机推荐

  1. 【427】Graph 实现 以及 DFS & BFS

    目录: Graph 实现 二维数组实现 Linked List 实现 DFS:深度优先搜索 stack 实现 recursion 实现 BFS:广度优先搜索(queue) 其他应用 非连通图遍历 - ...

  2. html的输出&,空格,大小于号

    最近定做安装程序,因为这次定做名字里有&符号,用微软的txt文本打开配置文件,在配置文件里修改了名称,名称在文本里显示正常,但是定做出来后,发现&符号变成了_下划线,在本来的& ...

  3. C#中 [], List, Array, ArrayList 區別

    [] 是針對特定類型.固定長度的.List 是針對特定類型.任意長度的.Array 是針對任意類型.固定長度的.ArrayList 是針對任意類型.任意長度的.Array 和 ArrayList 是通 ...

  4. vue-cli3项目中全局引入less sass文件 以及使用本地图片在不同地方规则

    第一种直接在main.js中引入,需要声明loader demo: import '!style-loader!css-loader!less-loader!./assets/css/common.l ...

  5. 海思HI2115芯片-NB-IOT模块向外发短信测试

    1. 说是有短信这个功能,测试下怎么使用?先使能BIP功能 AT+NCONFIG=ENABLE_BIP,TRUE 给SIM卡上电 AT+NUICC= 查询下短信中心服务号码 AT+CSCA? 发送短信 ...

  6. Vue 项目中的ESlint语法报错问题

    在项目中的""和;经常会报错,真的很纠结,今天看到一个解决方法,可以不用卸载删除 在项目根目录中,新建一个.prettierrc文件,来移除分号,和替换为单引号. { " ...

  7. Ansible-Ad_Hoc临时命令的使用

    Ad_Hoc临时命令的使用 1.使用场景: 所有的临时获取信息的都可以使用,比如节前健康检查.临时更新配置文件. 2.用法: ansible -i 主机 -m 模块 选项 3.常用的命令选项: -v ...

  8. webpack config to use plugin and webpack-dev-server

    Demo3操作手册 本Demo演示如何配合各种plugin进行偏复杂的使用 准备环境 初始化环境, cd到demo1目录之后, 执行如下命令: npm init -y npm install webp ...

  9. Spring @Transactional 事务机制

    几个概念要清楚:事务的传播机制,事务的边界 工作原理 运行配置@Transactional注解的测试类的时候,具体会发生如下步骤 1)事务开始时,通过AOP机制,生成一个代理connection对象, ...

  10. Mybatis应用入门

    mybatis简介 Mybatis是在jdbc的基础之上封装而成的持久层框架. Mybatis是一个ORM框架.ORM(object relational mapping):对象关系型映射 搭建myb ...