操作系统,语言分类,变量
操作系统
1. 什么是操作系统
操作系统是一个协调\管理\控制计算机硬件资源与软件资源的一个控制程序
2. 为何要有操作系统
1. 把复杂硬件操作封装成简单的功能/接口用来给用户或者应用程序使用(如:文件的操作)
2. 把应用程序多硬件的竞争变得有序(协调并发)
3. 如何用操作系统
一套完整的计算机系统分为三层:
应用程序层
操作系统层
计算机硬件层
编程语言分类
1. 机器语言(直接操作硬件):直接使用二进制指令去编写程序
优点:计算机无障碍理解,运行效率非常高
缺点:开发效率低
2. 汇编语言(直接操作硬件):使用英文标签代替二进制指令去编写程序
优点:比起机器语言开发效率高
缺点:开发效率比机器语言高,但仍然比较低
3. 高级语言:直接使用人能力理解的表达方式去编写程序
问题是计算机无法直接理解,程序是需要经过翻译才能被计算机理解执行的,
按照翻译方式的不同,分为两种:
1. 编译型(C语言):谷歌翻译,全部结束后进行翻译
优点:执行效率高于解释型
缺点:开发效率低于解释型
2. 解释型(Python):同声传译,边进行边翻译
优点:开发效率高于编译型
缺点:执行效率低于编译型
执行效率:机器语言>汇编语言>编译型>解释型
开发效率:解释型>编译型>汇编语言>机器语言
编写Python程序
执行python程序有两种方式:
1. 交互式环境:输入代码立即执行
优点:调试程序方便,在未来的编程中可以用来检验一行代码的功能
缺点:无法永久保存程序
2 代码写入文件,文件的名test.py
打开cmd执行:python3 D:\test.py
优点:永久保存程序
变量
1. 什么是变量 量:衡量/计量/记录某种状态 变:记录下来的某种状态是可以发生变化的 e.g:对于一个新认识的人,会在自己的潜意识里给这个人的姓名,年龄,性别,身高,体重进行赋值, 这些参数就相当于是变量,过一段再次看到这个人,其所发生的变化就会重新赋值 2. 为何要用变量 为了让计算机能够像人一样去识别世间万物, 如何识别,就是把事物的特征记录下来-->变量的定义 3. 如何用变量 变量的使用必须遵循:先定义,后引用 变量的定义 一: 定义变量name = 'egon'
age=18salary=3.1# 定义一个变量分为三部分:# 1. 变量名:变量名是访问到值的唯一方式,相当于房间门牌号(值在内存中的地址,变量的引用)# 2. 赋值符号:将值的内存地址"赋值"给变量名# 3. 变量的值:记录状态(特征)aaa 是变量名;'aaa' 是字符串; 二: 变量名的命名规范:大前提:变量名的命名应该对值有描述性的功能(见名之意)# 1. 变量名只能是 字母、数字或下划线的任意组合# 2. 变量名的第一个字符不能是数字# 3. 关键字不能声明为变量名 三: 变量名的命名风格:# 1. 驼峰体:# OldboyOfAge=73# 2. 下划线纯小写式# oldboy_of_age=73# 在python中变量名的命名推荐使用2(清晰明了) # 补充:!!!!!!运行python程序的三个阶段!!!!!!# python3 D:\test.py# 1. 先启动python解释器# 2. python解释器发指令将python文件由硬盘读入内存(读入的文件为文本格式,不存在Python语法)# 3. python解释器解释执行刚刚读入内存的代码(一行一行解释执行),开始识别python语法 引用计数:计算值被关联了多少个变量名 引用计数一旦为零就是垃圾,会被python的垃圾回收机制自动清理 # 引用计数增加 x=10 y=x
# 引用计数减少 x=10 del x # 解除变量名与值10内存地址的绑定关系
# x=11 # x=1111 # 同一个变量名只能指向一个内存地址,同名变量名的值会覆盖前面的值; # print(x)-----结果:1111
四.变量具备三个特征
1. id: 变量值的唯一编号,内存地址不同id则不同
2. type:变量的数据类型
3. value:变量的值
1 x=10 2 y=x 3 print(id(x),id(y))#x和y指向同一个地址,id相同 4 5 age=10 6 print(id(age)) 7 print(type(age)) 8 print(age)
View Code
五.is和==is是进行身份运算,比较的是id是否相等==是判断值是否相等
''' 值相等id不一定相等 >>> x=111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 >>> y=111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 >>> id(x) 2181129522824 >>> id(y) 2181129523040 >>> x is y False >>> x == y True '''# x=100000000000000000000000000000000000000 # y=100000000000000000000000000000000000000 print(x is y) >>>True
View Code
六.常量
OLDBOY_OF_AGE=73
OLDBOY_OF_AGE=74
print(OLDBOY_OF_AGE)
>>>74
在Python中常量并不是不能改变数值的,只是不推荐改变,但是并不算错。
常量的定义是规范,不是规则。
七.小整数池
在小整数池范围内,如果两个变量的值相等,那么这两个变量的内存地址一定相同。不会在内存中开发新的空间,而是直接从小整数池取;
#1、在交互式模式下
Python实现int的时候有个小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被GC回收
每创建一个-5到256之间的整数,都是直接从这个池里直接拿走一个值,例如
>>> y=4
>>> id(y)
==1478061632
>>> x=3
>>>id(x)
==1478061600
>>> x+=1
>>> id(x)
==1478061632
#在pycharm中
但在pycharm中运行python程序,pycharm出于对性能的考虑,会扩大小整数池的范围,其他的字符串等不可变类型也都包含在内一便采用相同的方式处理了,我们只需要记住这是一种优化机制,至于范围到底多大,无需细究
转载于:https://www.cnblogs.com/xuechengeng/p/9635569.html
操作系统,语言分类,变量相关推荐
- r语言 分类变量 虚拟变量_R语言中的变量
r语言 分类变量 虚拟变量 R语言| 变数 (R Language | Variables) In the previous tutorial, we have come across the bas ...
- R语言分类变量进行回归时的编码方案
本文首发于公众号:医学和生信笔记,完美观看体验请至公众号查看本文. 文章目录 演示数据 Dummy Coding simple coding Deviation coding Orthogonal P ...
- R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型、分类预测器(分类变量)被自动替换为一组虚拟编码变量、summary函数查看检查模型、使用table函数计算混淆矩阵评估分类模型性能
R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型(Logistic regression).分类预测器(分类变量)被自动替换为一组虚拟编码变量.summary函数查看检查模型.使用t ...
- R语言使用coin包应用于独立性问题的置换检验(permutation tests、响应变量是否独立于组、两个数值变量是独立的吗、两个分类变量是独立的吗)、以及coin包的常用置换检验函数
R语言使用coin包应用于独立性问题的置换检验(permutation tests.响应变量是否独立于组.两个数值变量是独立的吗.两个分类变量是独立的吗).以及coin包的常用置换检验函数 目录
- R语言ggplot2可视化:使用ggplot2按照热力图的方式显示全是分类变量的dataframe数据、并自定义因子(factor)的图例颜色legend
R语言ggplot2可视化:使用ggplot2按照热力图的方式显示全是分类变量的dataframe数据.并自定义因子(factor)的图例颜色legend(use heatmap to visuali ...
- R语言使用coin包应用于分类变量独立性问题的置换检验(permutation tests)、使用普通卡方检验chisq.test函数和置换近似卡方检验chisq.test函数、检验分类变量的独立性
R语言使用coin包应用于分类变量独立性问题的置换检验(permutation tests).使用普通卡方检验chisq.test函数和置换近似卡方检验chisq.test函数.检验分类变量的独立性( ...
- R语言置换检验(permutation tests、响应变量是否独立于组、两个数值变量是独立的吗、两个分类变量是独立的吗)、置换检验的基本步骤、R语言自助法Bootstrapping计算置信区间
R语言置换检验(permutation tests.响应变量是否独立于组.两个数值变量是独立的吗.两个分类变量是独立的吗).置换检验的基本步骤.R语言自助法Bootstrapping.自助法计算单个统 ...
- R语言使用table函数计算单分类变量的频率表(frequency table)、使用prop.table函数将table函数计算获得的频率表转化为比率表、返回单分类变量每一个类别的比率、或者百分比
R语言使用table函数计算单分类变量的频率表(frequency table).使用prop.table函数将table函数计算获得的频率表转化为比率表.返回单分类变量每一个类别的比率.或者百分比. ...
- R语言使用两个分类变量创建双向表(Two Way Table、两个分类变量的频率表)实战: 矩阵的双向表、dataframe的双向表、条形图和马赛克图来可视化频率表
R语言使用两个分类变量创建双向表(Two Way Table.两个分类变量的频率表)实战: 矩阵的双向表.dataframe的双向表.条形图和马赛克图来可视化频率表 目录
- R语言配对图可视化:配对图(pair plot)可视化(根据分类变量的值为散点图上的数据点添加颜色和形状、Add color and shape by variables)
R语言配对图可视化:配对图(pair plot)可视化(根据分类变量的值为散点图上的数据点添加颜色和形状.Add color and shape by variables) 目录
最新文章
- JavaScript正则表达式test的用法
- vc mysql控件_VC++使用ActiveX控件连接和操作数据库
- 豪斯荷尔德变换及变形QR算法对矩阵进行奇异值分解VB算法
- python一次性读取整个文件-Python逐行读取文件内容
- 缓冲区溢出-基本ROP-ret2syscall
- 鸿蒙os首批适配机型,鸿蒙OS正式版首批名单曝光,适配速度让人意外,8款机型恭喜了...
- MySQL结构化查询,SQL结构化查询语言(二)
- 敏捷开发_敏捷开发和迭代开发的异同分析
- java对象序列化为字符串
- 分布式系统关注点(20)——阻塞与非阻塞有什么区别?
- Xmind 常用快捷键列表(官方推荐)
- 「leetcode」1356.根据数字二进制下1的数目排序【如何计算二进制中1的数量】详解!
- zbbz 坐标标注lisp_cad坐标标注插件怎么用
- beta阶段测试基本概况报告
- matlab 线透明度,matlab 曲线填充 透明度
- SQL Server 2008附加mdf文件连接数据库18456错误
- 小白学STM32——跑马灯库函数版本
- android kingroot一键root工具,一键root大师
- 使用Scrapy爬取掘金热门文章的分析和实现
- Windows实用工具推荐