编程语言和python介绍, 变量,小整数池,垃圾回收机制
1.编程语言的发展史
计算机是基于电工作(基于高、低电平)1010010101011
1、机器语言
优点:执行速度够快
缺点:开发效率非常低
2、汇编语言(通过英文字符组成)
优点:执行效率相较于机器语言略低
缺点:开发效率相较于机器语言略高
; hello.asm
section .data ; 数据段声明
msg db "Hello, world!", 0xA ; 要输出的字符串
len equ $ - msg ; 字串长度
section .text ; 代码段声明
global _start ; 指定入口函数
_start: ; 在屏幕上显示一个字符串
mov edx, len ; 参数三:字符串长度
mov ecx, msg ; 参数二:要显示的字符串
mov ebx, ; 参数一:文件描述符(stdout)
mov eax, ; 系统调用号(sys_write)
int 0x80 ; 调用内核功能
;退出程序
mov ebx, ; 参数一:退出代码
mov eax, ; 系统调用号(sys_exit)
int 0x80 ; 调用内核功能
汇编代码示例
3.高级语言
c、c++、c#、java、php、python、go
优点:开发效率高
缺点:执行效率低
编译型:谷歌翻译
c、c++、go
解释型:同声传译
c#、python、java(先编译后解释)
开发效率:
(解释型>编译型)>汇编语言>机器语言
执行效率:
(解释型<编译型)<汇编语言<机器语言
跨平台:
解释型>编译型
学习难度:
机器语言>汇编语言>高级语言
2.python介绍
python解释器:
python版本分类:
python2.x
python3.x
python执行代码的两种方式:
1.交互型:有来有往
2.命令行执行:python文件约定俗成将后缀名定义为.py,其实.py单纯就是文本文件
IDE工具pycharm:
专门用于编写python代码
优点:提升开发效率
缺点:比较占用内存的资源
注释:
单行注释: #
多行注释: """ 双引号 或 '''
""" '''
快捷键: ctrl+?
变量:
什么是变量: 变:事物的状态是可以变化的
量:描述事物的状态
变量的使用:1.变量名
2.赋值符号
3.变量值
变量名的命名规范:1.只能由字母、数字、下划线组成
2.不能用中文
3.不能以数字开头
4.区分大小写
变量名的命名风格:1.驼峰体
UserAge=18
print(UserAge)
2.下划线体
user_age=18
print(user_age)
变量的三大特征:
值:value
内存地址:id id()
变量的类型:type type()
常量:python中没有常量,但python程序员约定俗成将字母全部大写的变量定义为常量
例:NAME = 'SEAN'
HOST = '127.0.0.1'
内存管理:
小整数池:假设有a,b两个变量,当a=b,并且在[-5,256]的整数区间内,那么他们指向相同的地址,即id相同
#pycharm优化了这个功能,能包含更大的数,字符串,也有小整数池的机制
例:
>>> a = 257
>>> b = 257
>>> print(id(a))
2335729820784
>>> print(id(b))
2335761804048
>>> a = 255
>>> b = 255
>>> print(id(a))
1838517664
>>> print(id(b))
1838517664
垃圾回收机制:
1.引用计数:当内存中的值引用记数为0,垃圾回收机制就会自动清除 #执行效率低
2.标记清除:当应用程序将内存撑满时,会自动停止,然后进行两项工作,第一项是标记,第二项是清除
计数机制还有个致命弱点,即循环引用(也称交叉引用),需要用到标记清除
循环引用会导致:值不再被任何名字关联,但值的引用计数并不会为0,应该被回收但不能被回收
直接引用指的是从栈区出发直接引用到内存地址,间接引用指从栈区出发引用到堆区后再进一步引用到内存地址
3.分代回收:历经多次扫描的情况下,都没有被回收的变量,gc机制就会认为,该变量是常用变量,gc对其扫描的频率会降低。 #gc:Garbage Collector(垃圾收集器)
编程语言和python介绍, 变量,小整数池,垃圾回收机制的更多相关文章
- 编程语言及python介绍
编程语言及python介绍 1.编程语言分类 机器语言 优点:执行效率高 缺点:开发效率极低,跨平台性差 汇编语言 优点:较机器语言执行效率稍低 缺点:较机器语言开发效率稍高,仍然很低,跨平台性差 高 ...
- pycharm的基本使用 、 Python的注释语法,变量,常量,垃圾回收机制,数据类型
1.文件路径要注意 我把文件放在了D盘,如下图:你们可以根据自身情况设置 2.python环境要选择本地下载好的 如下图: 点击本机存在的环境,如果提示NO interpr,就点击第二步 如果还是没有 ...
- 小整数池和intern机制
在python中,为了优化速度,避免频繁申请和销毁内存空间,python使用小整数池来缓存 range(-5,257) 之间的整数(这里不包含257),这些小整数在赋值引用时使用的都是同一个对象和内存 ...
- Python基础部分:7、 垃圾回收机制和流程控制
目录 一.垃圾回收机制 1.引用计数 2.标记清除 3.分类代收 二.流程控制 1.理论 2.必备知识 3.分支结构 4.循环结构 一.垃圾回收机制 垃圾回收机制,简称GC,是python解释器自带的 ...
- 编程语言类别;运行Python程序的方式;变量和常量;Python程序的垃圾回收机制;
目录 编程语言分类 运行Python程序的两种方式 1.交互式 变量与常量 1.变量 2.常量 3.小整数池 垃圾回收机制 编程语言分类 编程语言分为: 1.机器语言:直接用二进制的0和1和计算机(C ...
- 介绍python由来, 安装python3.8.3 及其变量的定义, 小整数池
介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器.Python这个名字,来自Guido所挚爱 ...
- C语言和Python语言在存储变量方面的不同
C语言和Python语言在存储变量方面的不同 众所周知,Python是脚本语言,边解释边执行,而C语言是编译型语言 存储变量: C语言定义变量,变量本身代表的就是大小,任何一个字母或者数字 符号均可以 ...
- CHENGDU1-Python编程语言和PEP8规范
CHENGDU1-Python编程语言和PEP8规范 PEP8规范6条? 答:PEP8规范说白了就是一种规范,可以遵守,也可以不遵守,遵守PEP8可以让代码的可读性更高. 代码编排:---缩进,4个空 ...
- python垃圾回收机制与小整数池
python垃圾回收机制 当引用计数为0时,python会删除这个值. 引用计数 x = 10 y = x del x print(y) 10 引用计数+1,引用计数+1,引用计数-1,此时引用计数为 ...
随机推荐
- 认识一下microbit扩展板robotbit
在我们买到的套件中,另一块叫robotbit扩展板,所谓扩展板,是把控制板上的针脚引出来,方便我们扩展驱动连接电机.舵机.及各种传感器以展功能. 介绍如下 :下面 反面: 官方文档:http://le ...
- springboot yml配置文件注入值
1.编写javabean: package com.example.springboot.bean; import org.springframework.boot.context.propertie ...
- Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装
首先说一下我的环境, 我是在windows 10 上面建了一个ubuntu18的虚拟机,同时由于某些原因 不受网络限制, 所以安装比较顺利. Install 1.安装并启用 Docker sudo ...
- CentOS7安装Kubernetes1.16.3
一.概述 手工搭建 Kubernetes 集群是一件很繁琐的事情,为了简化这些操作,就产生了很多安装配置工具,如 Kubeadm ,Kubespray,RKE 等组件,我最终选择了官方的 Kubead ...
- EntityFramework执行Add-Miragtion或者Update-Database出闲ScriptHalted
今天基友在他本机运行我的项目,执行ef还原数据的时候,一直出现ScriptHalted的错误. 找了下百度,只找到一个stackoverflowd的答案,没有看到中文的解决方案. 现在总结一下,并给出 ...
- java之maven之maven的使用
这里使用的工具是 myeclipse ,所以这里讲的是在 myeclipse 上使用maven. 1.什么是仓库? 用于存放依赖包.配置文件.其他插件等. 项目添加依赖时,默认从 本地仓库 读取依赖包 ...
- java字符串常用方法总结(更新中..)
一.String类 1.字符串拼接 String str1 = "abcd"; String str2 = "efgh"; System.out.println ...
- Python 之 计算psnr和ssim值
基于python版的PSNR和ssim值计算 总所周知,图像质量评价的常用指标有PSNR和SSIM等,本博文是基于python版的图像numpy的float64格式和uint8格式计算两种指标值(附代 ...
- Python之路(第四十一篇)线程概念、线程背景、线程特点、threading模块、开启线程的方式
一.线程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进程.程序和进程的区别就在于:程序是指令的集合,它是 ...
- kill 命令在Java应用中使用注意事项
前言 我们都知道,kill在linux系统中是用于杀死进程. kill pid [..] kill命令可将指定的信号发送给相应的进程或工作. kill命令默认使用信号为15,用于结束进程或工作.如果进 ...