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介绍, 变量,小整数池,垃圾回收机制的更多相关文章

  1. 编程语言及python介绍

    编程语言及python介绍 1.编程语言分类 机器语言 优点:执行效率高 缺点:开发效率极低,跨平台性差 汇编语言 优点:较机器语言执行效率稍低 缺点:较机器语言开发效率稍高,仍然很低,跨平台性差 高 ...

  2. pycharm的基本使用 、 Python的注释语法,变量,常量,垃圾回收机制,数据类型

    1.文件路径要注意 我把文件放在了D盘,如下图:你们可以根据自身情况设置 2.python环境要选择本地下载好的 如下图: 点击本机存在的环境,如果提示NO interpr,就点击第二步 如果还是没有 ...

  3. 小整数池和intern机制

    在python中,为了优化速度,避免频繁申请和销毁内存空间,python使用小整数池来缓存 range(-5,257) 之间的整数(这里不包含257),这些小整数在赋值引用时使用的都是同一个对象和内存 ...

  4. Python基础部分:7、 垃圾回收机制和流程控制

    目录 一.垃圾回收机制 1.引用计数 2.标记清除 3.分类代收 二.流程控制 1.理论 2.必备知识 3.分支结构 4.循环结构 一.垃圾回收机制 垃圾回收机制,简称GC,是python解释器自带的 ...

  5. 编程语言类别;运行Python程序的方式;变量和常量;Python程序的垃圾回收机制;

    目录 编程语言分类 运行Python程序的两种方式 1.交互式 变量与常量 1.变量 2.常量 3.小整数池 垃圾回收机制 编程语言分类 编程语言分为: 1.机器语言:直接用二进制的0和1和计算机(C ...

  6. 介绍python由来, 安装python3.8.3 及其变量的定义, 小整数池

    介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器.Python这个名字,来自Guido所挚爱 ...

  7. C语言和Python语言在存储变量方面的不同

    C语言和Python语言在存储变量方面的不同 众所周知,Python是脚本语言,边解释边执行,而C语言是编译型语言 存储变量: C语言定义变量,变量本身代表的就是大小,任何一个字母或者数字 符号均可以 ...

  8. CHENGDU1-Python编程语言和PEP8规范

    CHENGDU1-Python编程语言和PEP8规范 PEP8规范6条? 答:PEP8规范说白了就是一种规范,可以遵守,也可以不遵守,遵守PEP8可以让代码的可读性更高. 代码编排:---缩进,4个空 ...

  9. python垃圾回收机制与小整数池

    python垃圾回收机制 当引用计数为0时,python会删除这个值. 引用计数 x = 10 y = x del x print(y) 10 引用计数+1,引用计数+1,引用计数-1,此时引用计数为 ...

随机推荐

  1. 哈夫曼树的构建(C语言)

    哈夫曼树的构建(C语言) 算法思路: 主要包括两部分算法,一个是在数组中找到权值最小.且无父结点两个结点位置,因为只有无父结点才能继续组成树: ​ 另一个就是根据这两个结点来修改相关结点值. 结构定义 ...

  2. java ---- 认识类和对象

    ----  开发方法 结构化开发方法特点: 1.面向功能划分软件结构 2.自顶而下 3.最小的子系统是方法 4.制约了软件的可维护性和扩展性 面向对象开发方法特点: 1.把软件系统看成各种对象和集合 ...

  3. Isilon的WebUI上指定跨时区时间的小问题

    Isilon的WebUI的界面长这样: 假设我们在中国,也就是GMT+8的时区,我们想修改一个远在美国的Isilon cluster的时间. 你会发现,界面上用于指定时间的地方应该填写的不是下面选择的 ...

  4. SAP: Smartform中存在渐变色图片的上传失真问题的解决

    下载GIMP编辑软件,导入图像选择Image->Mode->Indexed 设置Color dithering然后通过File->Export as导出bmp文件.如果上传后不好用请 ...

  5. C#怎么判断字符是不是汉字 汉字和Unicode编码互相转换

    判断一个字符是不是汉字通常有三种方法,第1种用 ASCII 码判断(在 ASCII码表中,英文的范围是0-127,而汉字则是大于127,根据这个范围可以判断),第2种用汉字的 UNICODE 编码范围 ...

  6. Python开发【第十二篇】python作用域和global nonlocal

    python的作用域 作用域也叫名字空间,是访问变量时查找变量名的范围空间 python中的四个作用域 LEGB 作用域 英文解释 英文缩写 局部作用域 Local(function) L 外部嵌套函 ...

  7. 封装:Windows系统文件图标

    原文:封装:Windows系统文件图标 用途:用于获取文件系统默认图标 using System; using System.Collections.Generic; using System.Dra ...

  8. SQL Server中COALESCE函数的用法

    在SQL Server中COALESCE函数,会返回其参数中第一个不为NULL的参数,效果如下: SELECT COALESCE(NULL,NULL,N'A',NULL,NULL) 结果: SELEC ...

  9. Asp.Net Core Web Api 使用 Swagger 生成 api 说明文档

    最近使用 Asp.Net Core Web Api 开发项目服务端.Swagger 是最受欢迎的 REST APIs 文档生成工具之一,进入我的视野.以下为学习应用情况的整理. 一.Swagger 介 ...

  10. 3、Vue实例的属性

    1.获取Vue实例的属性 2.data属性 每个Vue实例都会代理其data对象里所有的属性.如果实例创建之后添加或者更改属性,他不会触发视图更新. 这句话说了下面两件事情 1.每个Vue实例都会代理 ...