2019-6-28笔记总结-编程语言发展史和python安装
一、编程语言的发展史
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安装的更多相关文章
- Python学习【01】编程语言简介,Python安装及环境变量配置
编程语言介绍 开发 系统软件开发:Windows,iOS 应用软件开发:淘宝.网易云音乐.QQ 开发语言 高级语言:Python,Java,PHP, c#,GO,ruby,c++ ---&g ...
- day02-操作系统、编程语言分类及python安装
目录 操作系统 编程语言分类 安装python解释器 操作系统 操作系统有什么用 操作系统能接受外部指令转化成0和1,并把一些对硬件的复杂操作简化成一个个简单的接口,作为中间人连接硬件和软件 计算机三 ...
- python笔记1-基础概念、python安装使用配置
Python 1.基础概念 一.什么是python? python是一种面向对象.解释型的计算机语言,它的特点是语法简洁.优雅.简单易学.在1989诞生,Guido(龟叔)开发.这里的python并不 ...
- 「FFT」题单(upd 2019.4.28)
持续更新(last upd 2019.4.28) ZJOI2014 力 [题目链接] 解法 对原式进行转换,然后卷积FFT套上去求解就可以了. 推导过程简洁版: \[F_i=\sum_{j<i} ...
- Alpha冲刺(5/10)——2019.4.28
所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(5/10)--2019.4.28 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪 ...
- 2019.3.28&2019.3.30考试
2019.3.28 : 肥肠爆芡,因为这场考试的题太屑了,所以我咕咕了 Upd on 2019.3.30 压进来一篇(因为都没啥意义) 2019.3.30 : 全机房读错题+没有大样例=T2全体爆炸 ...
- 2019.2.28&2019.3.1 考试
因为没A/改几道题,就一起写了 题目在LOJ上都能找到 2019.2.28 100+20+12 前两个小时一直在睡觉+想题也没思路,我太菜了 T1 洗衣服 分开处理出洗衣服和烘干的时间,然后一边正着排 ...
- 梦想MxWeb3D协同设计平台 2019.02.28更新
梦想MxWeb3D协同设计平台 2019.02.28更新 SDK开发包下载地址: http://www.mxdraw.com/ndetail_10130.html 在线演示网址: http://www ...
- Beta冲刺(7/7)——2019.5.28
所属课程 软件工程1916|W(福州大学) 作业要求 Beta冲刺(7/7)--2019.5.28 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪万里 ...
随机推荐
- Xamarin.Forms之样式
使用XAML样式设置Xamarin.Forms应用的样式Xamarin.Forms应用程序的样式传统上是通过使用Style类将一组属性值分组到一个对象中来完成的,然后可以将其应用于多个视觉元素实例. ...
- isopod dsl 框架管理kubernetes 配置
isopod 是一个包含了丰富能力的dsl 框架我们可以不用编写yaml 文件来进行k8s 管理 说明 语法类似python,目前移植内置了一些不错的功能kube 方法 vault 集成,helm 集 ...
- AsyncAPI 试用
AsyncAPI 提供了类似openapi的代码生成,以下demo,来自官方,只是目前官方的generator有些问题以下 同时说明运行中的一些问题 环境准备 主要是安装依赖组件 npm instal ...
- 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 ...
- putty WinScp 免密登录远程 Linux
该方法的原理是预先生成一对公钥和私钥,私钥以文件的形式保存在本地,公钥保存在远程机器上.这样每次登录只需指定私钥文件,远程机器通过比对公钥和私钥来验证登录的合法性. Putty 免密登录 第一步 生成 ...
- JWT了解与实战
最近在使用JWT做一个单点登录与接口鉴权的功能,正好可以对JWT有深一步的了解. 一.JWT使用场景: 1. 授权:用户登录后,每个请求都包含JWT,允许用户访问该令牌允许的路由.服务和资源.单点登录 ...
- Net core学习系列(八)——Net Core日志
一.简介# 日志组件,作为程序员使用频率最高的组件,给程序员开发调试程序提供了必要的信息.ASP.NET Core中内置了一个通用日志接口ILogger,并实现了多种内置的日志提供器,例如 Conso ...
- 剑指offer:序列化二叉树
题目描述: 请实现两个函数,分别用来序列化和反序列化二叉树 思路分析: 这里一开始有点不明白题目的意思.实际上序列化应该指把二叉树用某种编码方式表示,这里一般是字符串的形式.而反序列就是将之前生成的序 ...
- MyBatis(八):Mybatis Java API枚举类型转化的用法
最近工作中用到了mybatis的Java API方式进行开发,顺便也整理下该功能的用法,接下来会针对基本部分进行学习: 1)Java API处理一对多.多对一的用法: 2)增.删.改.查的用法: 3) ...
- ip rule实现源IP路由,实现一个主机多IP(或多网段)同时通(外部看是完全两个独立IP)
利用ip rule实现基于源地址区分路由表,实现一个主机多IP网段同时通.(外部的一个主机无论访问哪个网段都可以访问通)实际应用:创建路由表table200ip route add 192.168.1 ...