一、 编程语言介绍

1.1 机器语言

  • 直接用计算机能理解的二进制指令编写程序,直接控制硬件

1.2 汇编语言

  • 用英文标签取代二进制指令取编写程序,本质也是在直接控制硬件

1.3 高级语言

  • 用人能理解的表达方式去编写程序,无需考虑硬件的操作细节

    • 编译型:类似于谷歌翻译,运行编译型语言是相对于解释型语言存在的,编译型语言的首先将源代码编译生成机器语言,再由机器运行机器码(二进制)。程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等都是编译型语言。
    • 解释型:类似于同声传译,相对于编译型语言存在的,源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次,因此效率比较低,依赖解释器,跨平台性好。比Python/JavaScript / Perl /Shell等都是解释型语言。

1.4 不同语言的比较

  • 执行效率:机器语言 > 汇编语言 > 高级语言(编译型 > 解释型)
  • 开发效率:机器语言 < 汇编语言 < 高级语言(编译型 < 解释型)
  • 跨平台性:机器语言 < 汇编语言 < 高级语言(编译型 < 解释型)

二、 Python解释器介绍

当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件

Python解释器的种类

  • CPython:由C语言开发,是使用最广的Python解释器。
  • IPython:基于CPython之上的一个交互式解释器,在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。
  • PyPy:PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
  • Jython:Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
  • IronPython:IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

三、 安装Python解释器1

  • 我们在Python官网下载的官方解释器就是CPython。早在2008年Python3就推出,但由于其不向下兼容Python2,很多公司拒绝升级,时至今日,仍然有很多运行的项目由Python2写成,所以多版本共存是我们当前必需的。下面我将介绍一下如何实现Python多版本共存。
  • 博主是Windows操作系统,就以Windows版本Python2的安装进行演示。
  • 首先我们先进入Python官网,点击Download根据你自己的电脑操作系统选择相对应的Python版本下载。



    点击下载即可,下载完成后我们开始安装。

    Install for all users,所有用户皆可使用,点击Next。

    默认安装路径是C盘,但是C盘一般是系统盘,所以我们安装到D盘。

    这里 Add python.exe to Path 默认是关闭的,意为将python.exe加入环境变量,这里博主保持默认,以便在后面讲解添加环境变量的方法,点击Next。

    这样就Python2的解释器就安装完成,那我们该如何检测有没有安装成功呢?Win键+R键,输入cmd,进入控制台,输入指令D: 回车(进入D盘),cd D:\python27 回车(进入你解释器的文件夹),python 回车。如果你出现下图一样的提示,恭喜你安装成功。

    这样每一次进入python2的交互环境是不是很麻烦?这就要引申出环境变量这个问题,将安装路径加入环境变量,我们直接输入你需要运行的程序(python2)就可进入交互界面。
    右键 此电脑 ,找到 高级系统设置

    单击进入后找到环境变量 ,在系统变量中找到Path


    双击进入编辑,将python2的安装路径加入,同时将pip的路径加入(可安装第三方库),完成后一路确定即可。

    这时我们直接输入python就可进入交互。

    至此,python2解释器的安装完美完成。那么怎么实现Python多版本的共存呢?首先我们要先安装Python3解释器,方法流程同Python2解释器的安装几乎没有差别,当然你可以在安装时直接将其加入环境变量。安装完成后,我们需要玩点小把戏,我们将Python27下的程序复制一个,重新命名为python2,同理python37下的复制后命名为python3。

    之后进入控制台分别输入python2和python3,如果看到下图,恭喜你多版本共存达成。

四、 执行Python程序的两种方式

  • 交互式:即时得到命令的执行结果,通常用来调试代码
  • 命令行:python3 文件路径
    注意:后缀名并不影响程序的执行,但是约定俗成是.py结尾

运行python程序经历3个阶段

  • 先启动python解释器
  • python解释器将test.txt文件的内容当成文本内容读入内存(此时的python解释器就像是一个文本编辑器)
  • python解释器解释执行刚刚读入的内存代码

五、 变量

  1. 什么是变量
    量指的是记录事物的状态。
    变指的是事物的状态是可以改变的。
  2. 为何要用变量
    为了让计算机具备人记忆事物状态的技能
  3. 如何用变量
    3.1 先定义
  • 定义三大组成部分

            变量名(标识符):变量名应该能反映出事物的属性赋值符=:把变量值绑定给变量名变量值:就是事物的状态
    

    3.2 后引用

  • 通过变量名引用值

  • 变量名是访问到值的唯一方式

    3.3 变量名的命名
    大前提:变量名应该见名知意
    语法规定:

           1. 变量名由字母、数字、下划线组成2. 不能以数字开头3. 不能使用python的关键字['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
    

    命名风格:

           纯小写加下划线(在python中,变量名的命名推荐使用该方式)age_of_oldboy=73驼峰体(类命名推荐此方法)AgeOfOldboy=73
    

3.4 常量

  • AGE_OF_OLDBOY=83 全部大写

3.5 变量值具备两种特征

  • id:是变量值在内存中的唯一标识(根据内存地址计算而来,内存地址不同则id不同,内存地址相同则id相同)
  • type:不同类型的值用来记录不同的状态

3.6 内存管理

  • 垃圾回收机制:引用计数
    引用计数增加
    age=18 ———— 18的引用计数为1
    x=age ———— 18的引用计数为2
    引用计数减少
    del age ———— 18的引用计数减为1
    x = 10 ———— 18的引用计数减为0,此时18被回收。
    若没有del age这一步,x = 10 ————18的引用计数减为1,此时age = 18。

  1. 参考廖雪峰老师的文章。 ↩︎

基石为勤能补拙的迷宫之旅——第二天(编程语言介绍、Python解释器介绍与安装、执行Python程序的方式和变量)相关推荐

  1. 基石为勤能补拙的迷宫之旅——第三天(Python基本数据类型,与用户交互(输出输入),运算符)

    一. 基本数据类型 为何数据要区分类型?     数据类型值的是变量值的类型,变量值之所区分类型,是因为变量值是用来记录事物状态的,而事物的状态有不同的种类,对应着,也必须使用不同类型的值去记录它们. ...

  2. 基石为勤能补拙的迷宫之旅——客户端/服务器架构,OSI模型

    一.客户端/服务器架构     服务器就是一系列硬件或软件,为一个或多个客户端(服务的用户)提供所需的"服务".它存在唯一目的就是等待客户端的请求,并响应它们(提供服务),然后等待 ...

  3. 基石为勤能补拙的迷宫之旅——第十六天(包)

    一.包的认识 包通过文件夹来管理一系列功能相近的模块. 包:一系列模块的集合体,包中一定有一个专门用来管理包中所有模块的文件__init__.py 包名:存放一系列模块的文件夹名字,存放的是管理模块的 ...

  4. 基石为勤能补拙的迷宫之旅——第十五天(Python模块)

    一.什么是模块 模块就是一系列功能的集合体.在Python中,一个py文件就是一个模块,比如module.py就是一个模块,其中模块名是module. 模块的四种存在方式(通用类别): 使用pytho ...

  5. 基石为勤能补拙的迷宫之旅——第十天(Python函数参数)

    一.形参和实参 实参     在函数调用()中出现的参数(外界实际存在的值):实参.值可以为常量.变量.表达式或三者的组合 形参     在函数定义()中出现的参数:形参.形参就是拷贝实参的值,随着函 ...

  6. 基石为勤能补拙的迷宫之旅——第八天(Python文件操作)

    一.文件操作基本步骤 1.打开文件的两种方式 变量名 = open('需打开的文件','模式选择',encoding='编码类型')with open('需打开的文件','模式选择',encoding ...

  7. 基石为勤能补拙的迷宫之旅——第十二天(Python函数装饰器)

    一.开放封闭原则 不改变调用方式与源代码的前提下增加功能 不能修改被装饰对象(函数)的源代码 不能修改被修饰对象(函数)的调用方式,且能达到增加功能的效果(开放) 二.初识 洗碗机Dishwasher ...

  8. 基石为勤能补拙的迷宫之旅——第一天(计算机硬件和操作系统)

    计算机硬件和操作系统 一. 编程与编程的目的 什么是语言?什么是编程语言? 什么是编程? 为什么要编程? 二. 计算机组成 五大组成部分: 三. CPU详解 四. 存储器详解 数据单位 寄存器 高速缓 ...

  9. 基石为勤能补拙的迷宫之旅——第九天(Python函数初步)

    一.函数的定义 重复利用的工具 可以完成特定功能的代码块,函数就是存放代码块的容器 二.函数的语法 函数四部分 函数名:使用该函数的依据 函数体:完成功能的代码块 返回值:功能完成的反馈结果 参数:完 ...

最新文章

  1. 再发力!Facebook AI何恺明等最新研究MoCo(动量对比学习)第二版,超越Hinton的SimCLR,刷新SOTA准确率...
  2. Android 快捷方式的创建与查询 快捷方式问题大全 获取快捷方式在Launcher数据库中的信息 Failed to find provider info for com.android.la
  3. 为企业门户提供问答式检索--------让系统能回答普通用户提出的问题
  4. OpenGL之图元描边的绘制流程
  5. 多少人能过初赛_蜂蜜和水的比例是多少?蜂蜜水怎么冲最好?
  6. 基于Tensorflow实现DeepFM
  7. Sublime功能拓展及插件
  8. Flume案例之采集特定目录的数据到HDFS
  9. pdf文字无法复制怎么办?unlock解密pdf
  10. GO、Rust这些新一代高并发编程语言为何都极其讨厌共享内存?
  11. Android模拟器6.0,逍遥安卓模拟器新版6.0.0 刺激战场手游流畅不卡专版
  12. 生物化学-第二章-氨基酸
  13. php mb_eregi_replace 只替换一个,php正则ereg ereg_replace eregi eregi_replace split
  14. Espresso:自定义Idling Resource
  15. 小米air2se耳机只有一边有声音怎么办_盘点2020半入耳蓝牙耳机排名
  16. oculus 登录 错误代码 ovr40779122
  17. 组织结构图 js实现
  18. cgb2105-day02
  19. 数据分析法之对比分析法
  20. 关于 IO、存储、硬盘和文件系统

热门文章

  1. dede服务器建站_如何用DEDECMS建站的详细新手指南
  2. 一些比较好的流体力学视频
  3. python 头条新闻机器人_新闻写作机器人的应用及前景展望——以今日头条新闻机器人张小明(xiaomingbot)为例...
  4. Java程序员必须要学ajax吗,Java程序员需要具备哪些专业技能?
  5. Scratch(二十一):开船钓鱼
  6. php wap 2.0,WAP2.0网站分类及其架构浅析
  7. 在cadence集成calibre
  8. HDU5441 Travel 有秩并查集
  9. 【自然语言处理】1. 细讲:Attention模型的机制原理
  10. [转载]大数据量,海量数据 处理方法总结 作者phylips@bmy