一、编程语言的发展史

  1.机器语言(就是010101的二进制数,直接用二进制跟计算机直接沟通交流,直接操作硬件)

    优点:计算机能够直接读懂,速度快

    缺点:开发效率极低

  2.汇编语言(用简单的英文标签来表示二进制数,直接操作硬件)

    优点:开发效率高于机器语言

    缺点:执行效率低于机器语言

  3.高级语言(包括php,c,c++,java,python等)

    1.编译型(类似于谷歌翻译)   c语言就是编译型

      一次性全部翻译,编译过程需要用到编译器

      优点:执行效率高

      缺点:开发效率低

    2.解释型(类似于同声传译)   python

      一行一行翻译(读一行翻译一行)

      优点:开发效率高

      缺点:执行效率低

  学习难度:

      机器语言>>汇编语言>>高级语言

  执行效率:

      机器语言>>汇编语言>>高级语言

  开发效率:

      高级语言>>汇编语言>>机器语言

  

二、python下载安装

  python也可以叫做胶水语言、调包侠

    前面讲到了python属于解释型语言,所以我们要安装python的解释器,打开官网 https://www.python.org/downloads/windows/ 下载中心

  

  测试是否安装成功,打开cmd,运行python(出现截图所示就是安装成功了,这里是安装python3)

  

三、python的第一个程序 

   有两种运行python程序的方式:

      1.交互式(比如在cmd中输入)

        优点:输入内容立刻就有对应的结果

        缺点:无法永久保存数据

      2.命令行(文件的形式)

        优点:可以永久的保存数据

        缺点:运行该文件有点麻烦(因为要输入文件路径)

    运行py文件需要这几个步骤:

      1.将python解释器代码从硬盘读到内存(这步就相当于如果要打开word文档就是点击word图标)

      2.将写好的py文件从硬盘读到内存中(就相当于打开word文档)

      3.解释器解释读取py文件中的内容,解释成计算机能够识别的语言

四、变量  

  1.什么是变量? 

量:衡量、记录事物的状态、特征
变:状态、特征是可以改变的

  2.为什么要有变量?

    帮助你记录保存事物的某种状态或者特征

  变量必须先定义后调用,变量名不要加引号

  通常变量名的命名有两个流派

    1.驼峰体(前端语言推荐的命名方式) userName

    2.下划线(python推荐的命名方式) user_name

  3.变量名的命名规范:(以字母或者下划线_开头)

    1.只能包含数字、字母、下划线

    2.不能以数字开头

    3.关键字不能作为变量名

  4.变量的三要素:

    1.id():返回的是一串数字,这一串数字可以理解为内存地址

    2.type():返回的是该变量对应的数据的类型

    3.value:该变量指向的内存当中数据的值

  5.小整数池

    python实现int的时候有个小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题,python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内的小整数对象会被重复使用。

  在代码编写过程中,写清楚注释很重要

五、垃圾回收机制

  1.引用计数:内存中的数据如果没有任何的变量名与其有绑定关系,那么就会被自动回收

  2.标记清除:当内存快要被某个应用程序占满的时候,会自动触发

  3.分代回收:根据值的存活时间的不同,化为不同的等级,等级越高垃圾回收机制扫描的频率越低

六、常量(不可变的量)

  python里面压根没有常量

  通常将全大写的变量名看做常量(约定俗成的),虽然说是不可改变的量,但是如果要改变的还是可以改变的

    

2019-6-28笔记总结-编程语言发展史和python安装的更多相关文章

  1. Python学习【01】编程语言简介,Python安装及环境变量配置

    编程语言介绍 开发 系统软件开发:Windows,iOS 应用软件开发:淘宝.网易云音乐.QQ 开发语言 高级语言:Python,Java,PHP, c#,GO,ruby,c++      ---&g ...

  2. day02-操作系统、编程语言分类及python安装

    目录 操作系统 编程语言分类 安装python解释器 操作系统 操作系统有什么用 操作系统能接受外部指令转化成0和1,并把一些对硬件的复杂操作简化成一个个简单的接口,作为中间人连接硬件和软件 计算机三 ...

  3. python笔记1-基础概念、python安装使用配置

    Python 1.基础概念 一.什么是python? python是一种面向对象.解释型的计算机语言,它的特点是语法简洁.优雅.简单易学.在1989诞生,Guido(龟叔)开发.这里的python并不 ...

  4. 「FFT」题单(upd 2019.4.28)

    持续更新(last upd 2019.4.28) ZJOI2014 力 [题目链接] 解法 对原式进行转换,然后卷积FFT套上去求解就可以了. 推导过程简洁版: \[F_i=\sum_{j<i} ...

  5. Alpha冲刺(5/10)——2019.4.28

    所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(5/10)--2019.4.28 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪 ...

  6. 2019.3.28&2019.3.30考试

    2019.3.28 : 肥肠爆芡,因为这场考试的题太屑了,所以我咕咕了 Upd on 2019.3.30 压进来一篇(因为都没啥意义) 2019.3.30 : 全机房读错题+没有大样例=T2全体爆炸 ...

  7. 2019.2.28&2019.3.1 考试

    因为没A/改几道题,就一起写了 题目在LOJ上都能找到 2019.2.28 100+20+12 前两个小时一直在睡觉+想题也没思路,我太菜了 T1 洗衣服 分开处理出洗衣服和烘干的时间,然后一边正着排 ...

  8. 梦想MxWeb3D协同设计平台 2019.02.28更新

    梦想MxWeb3D协同设计平台 2019.02.28更新 SDK开发包下载地址: http://www.mxdraw.com/ndetail_10130.html 在线演示网址: http://www ...

  9. Beta冲刺(7/7)——2019.5.28

    所属课程 软件工程1916|W(福州大学) 作业要求 Beta冲刺(7/7)--2019.5.28 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪万里 ...

随机推荐

  1. Xamarin.Forms之样式

    使用XAML样式设置Xamarin.Forms应用的样式Xamarin.Forms应用程序的样式传统上是通过使用Style类将一组属性值分组到一个对象中来完成的,然后可以将其应用于多个视觉元素实例. ...

  2. isopod dsl 框架管理kubernetes 配置

    isopod 是一个包含了丰富能力的dsl 框架我们可以不用编写yaml 文件来进行k8s 管理 说明 语法类似python,目前移植内置了一些不错的功能kube 方法 vault 集成,helm 集 ...

  3. AsyncAPI 试用

    AsyncAPI 提供了类似openapi的代码生成,以下demo,来自官方,只是目前官方的generator有些问题以下 同时说明运行中的一些问题 环境准备 主要是安装依赖组件 npm instal ...

  4. luogu P1447 [NOI2010]能量采集 欧拉反演

    题面 题目要我们求的东西可以化为: \[\sum_{i=1}^{n}\sum_{j=1}^{m}2*gcd(i,j)-1\] \[-nm+2\sum_{i=1}^{n}\sum_{j=1}^{m}gc ...

  5. putty WinScp 免密登录远程 Linux

    该方法的原理是预先生成一对公钥和私钥,私钥以文件的形式保存在本地,公钥保存在远程机器上.这样每次登录只需指定私钥文件,远程机器通过比对公钥和私钥来验证登录的合法性. Putty 免密登录 第一步 生成 ...

  6. JWT了解与实战

    最近在使用JWT做一个单点登录与接口鉴权的功能,正好可以对JWT有深一步的了解. 一.JWT使用场景: 1. 授权:用户登录后,每个请求都包含JWT,允许用户访问该令牌允许的路由.服务和资源.单点登录 ...

  7. Net core学习系列(八)——Net Core日志

    一.简介# 日志组件,作为程序员使用频率最高的组件,给程序员开发调试程序提供了必要的信息.ASP.NET Core中内置了一个通用日志接口ILogger,并实现了多种内置的日志提供器,例如 Conso ...

  8. 剑指offer:序列化二叉树

    题目描述: 请实现两个函数,分别用来序列化和反序列化二叉树 思路分析: 这里一开始有点不明白题目的意思.实际上序列化应该指把二叉树用某种编码方式表示,这里一般是字符串的形式.而反序列就是将之前生成的序 ...

  9. MyBatis(八):Mybatis Java API枚举类型转化的用法

    最近工作中用到了mybatis的Java API方式进行开发,顺便也整理下该功能的用法,接下来会针对基本部分进行学习: 1)Java API处理一对多.多对一的用法: 2)增.删.改.查的用法: 3) ...

  10. ip rule实现源IP路由,实现一个主机多IP(或多网段)同时通(外部看是完全两个独立IP)

    利用ip rule实现基于源地址区分路由表,实现一个主机多IP网段同时通.(外部的一个主机无论访问哪个网段都可以访问通)实际应用:创建路由表table200ip route add 192.168.1 ...