python基础1之由来、种类、优缺点、安装环境

一、前世今生

  Python的创始人是吉多·范罗苏姆(Guido van Rossum),在1989年开发。今年最新的编程语言排行榜中,python名列第五。互联网公司广泛使用Python来做的事一般有:自动化运维自动化测试大数据分析、爬虫、Web 等。

由于Python语言简洁、高效的天生优势,Python也逐渐成为AI方面机器学习、深度学习、大数据分析等方面的流行语言。对于IT开发工程师而言,Python是已成为必备技能之一。

1.python C# PHP JAVA与C 的关系

  C语言:代码编译得到机器码,机器码在CPU上直接执行,每一条代码控制一个指令,机器码就是计算机语言。

其他语言:代码编译得到字节码,虚拟机执行字节码转换成机器码,然后再在CPU上执行,多了一步,所以这些语言成为高级语言。


2.python的优缺点

  a.Python 和 C  Python这门语言是由C开发而来

  对于使用:Python的类库齐全并且使用简洁,如果要实现同样的功能,Python 10行代码可以解决,C可能就需要100行甚至更多,python不需要操作内存,有句名言——“人生苦短,我学Python”
  对于速度:Python的运行速度相较与C,稍显逊色,因为编译多了一步。

  b.Python 和 Java、C#等

  对于使用:Linux原装Python,其他语言没有;以上几门语言都有非常丰富的类库支持,所以在自动化运维中占优势,不需要安装软件
  对于速度:Python在速度上可能稍显逊色,因为其多线程方面相对弱一些

所以,Python和其他语言没有什么本质区别,其他区别在于:擅长某领域、人才丰富、先入为主。


3.Python的种类

  主要分为CPython、pypy、其他Python

    CPython是Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。

    pypy是针对Python多线程较弱而优化的版本,代码执行速度比CPython快了0.15-6.9倍,要关注,是以后的潮流。

    其他Python,主要有Jython、IronPython、RubyPython等等,区别在于编译Python代码的解释器的语言版本,语法规则都是统一的,但是因为其编译流程多了一步,所以执行速度不如CPython。 

PyPy,在Python的基础上对Python的字节码进一步处理,从而提升执行速度!


二、 python安装

安装Python

windows:

 

 

1、下载安装包

https://www.python.org/downloads/

2、安装

默认安装路径:C:\python27

3、配置环境变量

【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】

如:原来的值;C:\python27,切记前面有分号

linux:

无需安装,原装Python环境

ps:如果自带2.6,请更新至2.7

http://www.cnblogs.com/liujianzuo888/p/5014847.html


更新Python

windows:

直接卸载安装

      linux:

Linux的yum依赖自带Python,为防止错误,此处更新其实就是再安装一个Python

查看默认Python版本

1
python -V

  

1、安装gcc,用于编译Python源码

1
yum install gcc

  

2、下载源码包,https://www.python.org/ftp/python/

3、解压并进入源码文件

4、编译安装

1
2
3
4
5
./configure
 
make all
 
make install

 

5、查看版本

1
/usr/local/bin/python2.7 -V

  

6、修改默认Python版本

1
2
3
mv /usr/bin/python /usr/bin/python2.6
 
ln -s /usr/local/bin/python2.7 /usr/bin/python

  

7、防止yum执行异常,修改yum使用的Python版本

1
2
3
vi /usr/bin/yum
 
将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6

  

python基础1之 由来、种类、优缺点、安装环境的更多相关文章

  1. Python笔记·第一章—— Python基础(一)

    一.Python的简介 1.Python的由来与版本 1.1 python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文 ...

  2. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  3. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  4. (路-莫)-Python基础一

    一,Python介绍 1,python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打 ...

  5. Python 基础知识(一)

    1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...

  6. 『Python基础-1 』 编程语言Python的基础背景知识

    #『Python基础-1 』 编程语言Python的基础背景知识 目录: 1.编程语言 1.1 什么是编程语言 1.2 编程语言的种类 1.3 常见的编程语言 1.4 编译型语言和解释型语言的对比 2 ...

  7. 一、python基础相关知识体系

    python基础 a. Python(解释型语言.弱类型语言)和其他语言的区别? 一.编译型语言:一次性,将全部的程序编译成二进制文件,然后在运行.(c,c++ ,go) 运行速度快.开发效率低 二. ...

  8. python基础学习(一)

    一,Python介绍 1,python的出生与应用 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打 ...

  9. Python基础(Day1)

    一.Python的简介  1.Python的诞生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发 ...

随机推荐

  1. 海思uboot启动流程详细分析(三)【转】

    1. 前言 书接上文(u-boot启动流程分析(二)_平台相关部分),本文介绍u-boot启动流程中和具体版型(board)有关的部分,也即board_init_f/board_init_r所代表的. ...

  2. c/c++ 模板 类型推断

    模板类型的推断 下面的函数f是个模板函数,typename T.下表是,根据调用测的实参,推断出来的T的类型. 请注意下表的红字部分, f(T&& t)看起来是右值引用,但其实它会根据 ...

  3. cent os 7 与cent os 6区别

    原文地址:https://www.cnblogs.com/Csir/p/6746667.html 前言 centos7与6之间最大的差别就是初始化技术的不同,7采用的初始化技术是Systemd,并行的 ...

  4. Dora.Interception,为.NET Core度身打造的AOP框架 [1]:更加简练的编程体验

    很久之前开发了一个名为Dora.Interception的开源AOP框架(github地址:https://github.com/jiangjinnan/Dora,如果你觉得这个这框架还有那么一点价值 ...

  5. opendir函数和readdir函数内涵及用法

    工作中遇到奇怪的事,加载增量的时候加载不上.于是开始分析原因,log里边没有任何错误信息,只有加载完成的标志.增量的数据在目录里边是存在的,但是显示的目录大小却不是4096,而是17,不知道为什么.后 ...

  6. Namespace讨论

    我们需要讨论一个深层次的问题: 为什么不直接在 tape17162c5-00 和 tapd568ba1a-74 上配置 Gateway IP,而是引入一个 namespace,在 namespace ...

  7. Make a Person 闭包

    用下面给定的方法构造一个对象. 方法有 getFirstName(), getLastName(), getFullName(), setFirstName(first), setLastName(l ...

  8. ##Django中Application labels aren't unique解决方法##

    pip更新了所有插件,发现了按平常编码遇到些问题,记录下. Django错误 django.core.exceptions.ImproperlyConfigured: Application labe ...

  9. NodeJs之文件上传

    NodeJs之文件上传 一,介绍与需求 1.1,介绍 1,multer模块 multer用于处理文件上传的nodejs中间件,主要跟express框架搭配使用,只支持表单MIME编码为multipar ...

  10. P5057 [CQOI2006]简单题

    题目描述 有一个 n 个元素的数组,每个元素初始均为 0.有 m 条指令,要么让其中一段连续序列数字反转——0 变 1,1 变 0(操作 1),要么询问某个元素的值(操作 2). 例如当 n = 20 ...