当前位置: 首页 > news >正文

python解释器与编译环境_python入门之解释器环境安装

编程语言介绍

python是一种解释型编程语言,与之相对的是编译型语言,如C/C++,Java等。

# 编程语言分类:

机器语言

汇编语言

高级语言(编译型、解释型号)

# 总结:

#1、执行效率:机器语言>汇编语言>高级语言(编译型>解释型)

#2、开发效率:机器语言

#3、跨平台性:解释型具有极强的跨平台型

提到python,一般有两个意思:

其一是python这种语法风格的编程语言;

其二是python解释器,即解释python语法风格的软件。

目前,官方的python解释器是Cpython(用C语言编写的软件,用来解释python语法风格的软件)。

# python编译器:

# IPython

IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。

# PyPy

PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。

# Jython

Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

# IronPython

IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

# 小结

Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

python解释器安装

官网下载对应平台的不同版本的python解释器

通过添加环境变量实现python解释器在任何路径下执行

通过复制一份python解释器可执行程序并重命名实现python解释器多版本共存。

IDE集成开发环境

python解释器自带的IDLE用户友好型太差,不推荐使用

IDE集成开发环境pycharm是神一般的存在,一般工作开发都是使用它

VScode也可以,轻量级的IDE

python程序运行的两种方式

# 交互式

- 即时得到程序的运行结果,多用于调试

# 脚本方式

- 把程序写到文件里(约定俗称文件名后缀为.py),然后用python解释器解释执行其中的内容

python3.8 python程序文件的路径,用于项目开发

python程序运行的三步骤

# 启动python解释器

- 启动python解释器相当于开启一个文本编辑器

# 将脚本文件读入内存

- 解释器会发送系统调用,把c.py的内容从硬盘读入内存,此时c.py中的内容仅为字符串,没有任何语法意义

# 解释器开始工作

- 解释器开始解释执行刚刚读入内存的c.py的代码,开始识别python语法

# 对比文本编辑器读取C:\a\b\c.py文件内容也经历了三个步骤

1、先启动文本编辑器

2、文本编辑器会发送系统调用,把c.py的内容从硬盘读入内存

3、文本编辑会将刚刚读入内存的内容控制输出到屏幕上,让用户看到结果

# 对比:

- 二者在前两个阶段做的事情完全一致

- 唯一不同的就是第三个阶段对读入内存的python代码的处理方式不同

注释

注释这个东西是用来给代码做笔记用的,方便日后维护和阅读。

代码中注释的语句不会被程序执行,不影响代码的功能。

python中的注释有两类:单行注释、多行注释

# 单行注释 # 所在行后面的内容被注释

# "#"用来单行注释

# 多行注释:三引号内的内容被注释

"""

三引号用来多行注释

"""

相关文章:

  • HDU 1299 基础数论 分解
  • simpledateformat格式_2020 年,你还在使用 Java 中的 SimpleDateFormat 吗?
  • 人生苦短我学python谁说的_人生苦短,我学python
  • [PY3]——logging
  • python笔记视频_python视频笔记之三(循环和函数)
  • 洛谷P3003 [USACO10DEC]苹果交货Apple Delivery
  • linux添加ip白名单_为什么IP代理需要授权?
  • 事件对象练习
  • yii beforeaction 如何赋值全局变量_讲讲 js 的内存泄漏、如何监控和分析
  • Java基础总结--变量、运算符总结
  • boolean mybatis_mybatis的环境搭建以及问题
  • 软件工程实践2017第二次作业
  • python django步骤_python - django (创建到运行流程)
  • CODEVS——T 1004 四子连棋
  • linux查看显卡信息_如何查看linux系统的相关信息
  • Angular4 模板式表单用法以及验证
  • CODING 缺陷管理功能正式开始公测
  • css布局,左右固定中间自适应实现
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • exports和module.exports
  • gitlab-ci配置详解(一)
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • HTTP请求重发
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • mysql 5.6 原生Online DDL解析
  • Node项目之评分系统(二)- 数据库设计
  • Vue 2.3、2.4 知识点小结
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • web标准化(下)
  • 初识 beanstalkd
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 前端自动化解决方案
  • 中文输入法与React文本输入框的问题与解决方案
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​如何防止网络攻击?
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (动态规划)5. 最长回文子串 java解决
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (六)c52学习之旅-独立按键
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (一)Java算法:二分查找
  • .NET Core 版本不支持的问题
  • .NET Core 中的路径问题
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • /etc/skel 目录作用
  • @media screen 针对不同移动设备
  • @requestBody写与不写的情况
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600