python(一)简介、安装 、 python解释器介绍

一、 简介

  1. python提供了非常完善的基础代码库 , 覆盖了网络 、 文件 、 GUI 、 数据库 、 文本等大量的内容 , 被称之为“内置电池(batteris include)” 。
  2. 很多大型网站都是python开发的 , 比如国内的豆瓣和NASA(美国航空航天局)都大量的使用python 。
  3. python 的定位就是“优雅” 、 “明确” 、 “简单” , 所以python程序看上去简单易懂 。 但是深入学习也可以写很多非常复杂的程序 。
  4. python 优点:
    1. 简单优雅, 容易看懂 , 代码量少 。
    2. 适合开发网络应用 、 日常小工具 、 和系统管理员使用的脚本任务等 。
    3. 可以把其他语言开发的程序包装起来 , 方便使用 。
  5. python 缺点:
    1. 运行速度慢 。 因为python是解释型语言 , 代码在执行是会在cpu中一句一句的翻译后实在执行 , 翻译过程非常耗时 。而像C 、 java这类的语言是先编译 , 后再cpu中执行的非常快 。
    2. 代码不能加密 , 发布python应用是 , 只能发布源代码 。 而编译型的语言发布时可以直接发布编译后的代码 , 要从机器码反推出C代码几乎是不可能的 。 (大家那么忙 , 谁有闲工夫破解你的烂代码 , 啊哈哈哈)

二、 安装

  1. python 语言是跨平台的 , 可以运行在Windows 、 mac 、 Linux系统上 。 这得益于python的解释器 , 只要在系统中安装了python的解释器, 就可以运行python代码 。
  2. windows上安装python
    1. 根据你的系统下载对应的python特别注意要勾上add python 3.6 to PATH (这样你就可以不用手动配置环境变量了), 然后点击install now即可完成安装
  3. 运行python解释器
    1. 安装成功之后 , 打开命令提示符窗口 , 敲入python之后 ,会出现两种情况 。
    2. 情况一: 安装成功
    3. 情况二: 得到一个错误: python不是内部或外部命令 , 也不是可运行的程序或批处理文件 。 只是因为windows会根据python的环境变量去寻找python.exe 如果没找到 , 就会报错 。 这时需要重新手动配置环境变量 , 如果不会配置环境变量 , 建议重新执行安装程序 , 这次一定要记住勾选 add python 3.6 to PATH

三、 python解释器

  1. 由于整个python语言从规范到解释器都是开源的 , 所以理论上 , 只要水平够高 , 任何人都可以编写python解释器来执行python代码(难度很大) , 事实上 , 确实有很多python解释器 。
  2. CPython : 当我们从python官网下载并安装好python之后 , 我们就直接得到了一个官方版本的解释器(CPython) , 这个解释器是C语言开发的 。
  3. IPython : 是基于CPython之上的一个交互式解释器 , 也就是说 , IPython只是 在交互方式上有所增强 , 但是执行python代码的功能和Cpython是完全一样的 。
  4. PYPY : PyPy是另一个解释器 , 他的目标是执行速度 , PyPy采用JIT技术 , 对python代码进行动态编译(注意不是解释) , 所以可以显著的提高代码的执行速度 。 绝大部分Python代码都是可以在PyPy解释下运行的 , 但是PyPy和CPython有一些不同 , 这就导致同样的Python代码在两种解释器下运行结果不同 。 如果你要使用PyPy解释器 , 那就必须要了解PyPy解释器与CPython的不同点 。
  5. Jython : Jython是运行在java平台下的Python解释器 , 可以直接把Python代码编译成java字节码执行 。
  6. IronPython : IronPython与Jython类似 , 只不过IronPython是运行在微软.Net平台上的Python解释器 , 可以直接把Python代码编译成.Net字节码文件 。
  7. 解释器总结: Python的解释器很多 , 但是用最广泛的还是CPython , 如果想要与Java平台或.Net平台交互 , 最好的办法不是使用Jython或IronPython , 而是通过网络调用来交互 , 来确保各程序之间的独立性 。

补充:

  1. PyPy解释器使用的JIT技术 :https://en.wikipedia.org/wiki/Just-in-time_compilation
  2. PyPy和CPython的不同点 :http://pypy.readthedocs.io/en/latest/cpython_differences.html
    1. 扩展模块
    2. 垃圾收集策略相关的差异
    3. 内置类型的子类
    4. 突变一杯用作字典键的对象类
    5. 忽略了例外
    6. 原始值得对象标识is和id
    7. C-API的差异
    8. 性能差异
    9. 其他

Python3学习笔记(一)简介 、 安装 、 解释器相关推荐

  1. Python3学习笔记01-环境安装和运行环境

    最近在学习Python3,想写一些自己的学习笔记.方便自己以后看,主要学习的资料来自菜鸟教程的Python3教程和廖雪峰官方网站的Python教程. 1.下载 1)打开https://www.pyth ...

  2. MongoDB学习笔记(一)简介+安装+基本CRUD+索引

    思维导图 文章目录 思维导图 1. MongoDB相关概念 1.1 业务应用场景 1.1.1 三高需求 1.1.2 何时选择MongoDB 1.2 MongoDB简介 1.3 体系结构 1.4 数据模 ...

  3. Python3 学习笔记

    Python3 学习笔记 1.基础语法 1.1 字符串操作 title() 将单词首字母改为大写 upper() 所有字母改为大写 lower() 所有字母改为小写 str1+str2 字符串通过'+ ...

  4. tensorflow学习笔记一:安装调试

    denny的学习专栏 徐其华 博客园 首页 新随笔 联系 管理 订阅 随笔- 129  文章- 0  评论- 791  tensorflow学习笔记一:安装调试 用过一段时间的caffe后,对caff ...

  5. A Byte of Python3 学习笔记

    A Byte of Python3 学习笔记 第七章 控制流 1.if语句(带输入函数) 2.while语句 3.for循环 4.break.continue.return的区别 第八章 函数 8.1 ...

  6. 51单片机学习笔记1 简介及开发环境

    51单片机学习笔记1 简介及开发环境 一.51单片机 1. STC89C52单片机简介 2. 命名规则 3. 封装 (1)PDIP (2)LQFP (3)PLCC (4)PQFP 二.STC8051结 ...

  7. python基础第三章选择结构答案-python3 学习笔记(二)选择结构、循环结构

    python3 学习笔记 python 优雅 明确 简单 1.选择结构 (1)简单判断 if else 使用格式: if  条件: 表达式1 else: 表达式2 (2)多条件判断 elif 使用格式 ...

  8. STM32F103CUBE学习笔记 一 环境安装

    STM32F103CUBE学习笔记一 stm32cubemx安装 jre安装 stm32cubemx安装 stm32cubemx创建工程 准备工作 配置时钟 KEIL PACK安装 keil安装 st ...

  9. PHP学习笔记01: 安装PHP开发套件xampp

    PHP学习笔记01: 安装PHP开发套件xampp 1.从网上下载xampp7.3.7 2.安装xampp

  10. APPCAN学习笔记005---AppCan IDE安装下载,AppCan IDE启动

    APPCAN学习笔记005---AppCan IDE安装下载,AppCan IDE启动 创梦技术交流平台:资源下载,技术交流,网络赚钱: 交流qq群:1群:248318056 2群:251572072 ...

最新文章

  1. 微星网卡linux驱动,微星中国
  2. Linq中使用Left Join 和 Right Join
  3. 成功解决 ValueError: fill value must be in categories
  4. Boost.MultiIndex 双向映射示例
  5. OpenGL:纹理Textures
  6. SQLServer数据库访问帮助类
  7. Context是怎么在Go语言中发挥关键作用的
  8. tomcat服务器的虚拟目录,Windows系统下安装Tomcat服务器和配置虚拟目录的方法
  9. java关于创建对象描述_java中创建对象的方法
  10. ad17如何删除3d实体_3D打印的过程/流程
  11. 晶体管开关电路的设计以及如何提高其开关速度
  12. NB-IoT、LoRa逐渐商用 连接物联网长尾效应凸显
  13. Leach协议的实现
  14. 网心科技CEO、迅雷联席CEO陈磊:开启共享经济云计算时代
  15. git commit后回退方法
  16. AD19画原理图和PCB注意事项和步骤(主要为PCB和总结注意事项)
  17. 定时器、Lambda表达式、Stream流
  18. Python实战:利用Tkinter实现屏保程序
  19. 使用有限差分法求解无限长直的金属槽内的电位分布
  20. 推荐系统冷启动问题的常见解决方案

热门文章

  1. .NET中委托写法的演变(上):委托与匿名方法
  2. java 删除二进制内容_二进制搜索树节点删除
  3. 1加6投屏_今天说说投屏那点事,建议大家选购投屏器,要关注这些点
  4. 在浏览器里,从输入 URL 到页面展示,这中间发生了什么?-学习笔记
  5. 6、用户登录并发、新建以及编辑操作;
  6. springboot-custom starter
  7. 查询数据库耗费资源的sql
  8. VMware如何进入安全模式
  9. JavaScript技巧
  10. Python3学习笔记(2)——递归函数