执行Python程序的两种方法

第一种:交互式(jupyter就是对这种进行了封装)

  • 优点:直接给出结果
  • 缺点:无法保存

第二种:命令行式,通过Python解释器输入文本(pycharm对这种进行了封装)

  • 优点:可以保存
  • 缺点:无法及时得到报错反馈

命令行式可以识别任何文本文件,例如:.txt文件、.py文件。

命令行式打开的三个步骤

  • 编写Python文件
  • 找到Python文件的路径,把文本从硬盘中读入内存
  • 在内存运行并进行解释(这个时候才会有Python语法的概念,才会打印)

变量

什么是变量

变量:一种描述世间万物的状态

Python中定义变量

name = 'rayn'
#变量名 赋值符号 变量值
  • 变量名:用来引用变量值,凡需要用变量值,都需要通过变量名
  • 赋值符号:赋值
  • 变量值:存放数据,用来记录现实世界中的某种状态

变量名的命名规范

  • 变量名应该能反映变量值所描述的状态
  • 变量名必须用字母、数字、下划线组合;并且变量名的第一个字符不能是数字,也不能是下划线
  • 关键字不能成为变量名

两种定义变量名的方式

下划线式(推荐用这种,清晰、明了)

rayn_height = 180
print(rayn_height)
180

驼峰体

RaynHeight = 180
print(RaynHeight)
180

常量

固定不变的两

定义常量

  • Python中没有严格意义上的常量,常量也能更改,但是不建议;常量是人们约定俗成的,最好不要更改
  • Python中常量名用大写字母来表示
RAYN_HEIGHT = 180

注释有什么用

  • 取消Python的语法,让#后面的字符变成普通的字符
  • 解释代码块的意思

注释的原则

  • 不用全部加注释,只需要在自己觉得重要或者不好理解的部分加注释即可
  • 注释可以用中文或英文,但不要用拼音

内存管理

变量:接收变量值,描述世间万物变化的状态

而变量是如何在内存中创建的?

当我们写一个文件,文件是保存在硬盘里的,只有Python解释器运行了这个文件,那字符进入了内存,才会有变量这个概念,也就是说变量是存放在内存当中的。在内存中,我们每定义一个变量,就会在内存中开辟一块内存空间来给变量值,而变量名就是个名牌来指向变量值。

引用计数

  • 引用计数是针对变量值的
x = 257  # 257的引用计数加1,为1
y = x # 257的引用计数加1 为2
x = 258 # 257的引用计数减1 为1
del y # 257的引用计数减1 为0 ,触发Python垃圾回收机制,清理257的内存占用

Python的垃圾回收机制

  • 当变量值的引用计数为0的时候,Python会自动回收该变量值的内存占用

小整数池

  • 在Python中,因为[-5,256]之间的整数经常被用到,所在在Python启动的那一刻,就会开辟一块内存空间放入这些整数,它不会被垃圾回收机制回收。

而我们时常碰到不在小整数池中的值,有时打印的内存地址也是一样的,这个主要是jupyter和pycharm会把时间短,并且内存占用比较小的值,也会放在同一块内存中。

python-面试常用 --变量、内存管理(小整数池,引用计数)的更多相关文章

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

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

  2. IOS内存管理「1」- 引用计数

  3. python的变量内存管理

    一.变量的引用机制 当你在python中定义一个值,如x = 500时,python会在内存中开辟一个小地方用于存储数值. x = 500 #定义一个变量 print(id(x)) #打印该变量的内存 ...

  4. 编程语言和python介绍, 变量,小整数池,垃圾回收机制

    1.编程语言的发展史 计算机是基于电工作(基于高.低电平)1010010101011 1.机器语言 优点:执行速度够快 缺点:开发效率非常低 2.汇编语言(通过英文字符组成) 优点:执行效率相较于机器 ...

  5. Python变量内存管理

    目录 一.变量存哪了? 二.Python垃圾回收机制 2.1 引用计数 三.小整数池 一.变量存哪了? x = 10 当我们在p1.py中定义一个变量x = 10,那么计算机把这个变量值10存放在哪里 ...

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

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

  7. Python的小整数池

    此处经常会作为面试题!!! 小整数池目的:节省内存,提高执行效率 需要注意的是:Python实现int的时候有个小整数池.为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器 ...

  8. <Python基础>python是如何进行内存管理的

    .Python 是如何进行内存管理的?答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制⒈对象的引用计数机制Python 内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用 ...

  9. Python深入:01内存管理

            在Python中,一切都是指针. 一:对象三特性         所有的Python对象都有三个特性:身份,类型和值.         身份:每一个对象都有一个唯一的身份标识,任何对象 ...

随机推荐

  1. Codeforces Round #527 -A. Uniform String(思维)

    time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...

  2. codeforces840E In a Trap

    好巧妙啊,感觉从来没有用过按位dp的trick,也没有用过树上链分块的trick 挂个链,全程看他的思路写的,当然lych帮我理解了最难懂的一部分 首先这里有个玄学的分块 每个点统计它上面256(其实 ...

  3. 爬虫(BeautifulSoup4)——安装

    环境:python3 win10 安装这个心好累啊!网上找了很多办法都安装不成功,后来换了几个安装包,最后4.4.1版本的包终于能用了! https://blog.csdn.net/www520507 ...

  4. 每天学点Linux命令之grep 和 wc命令 --- !管道命令!

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expr ession Print,表示全局正则表 ...

  5. 牛客网Java刷题知识点之为什么static成员方法不能是抽象方法,其必须实现

    不多说,直接上干货! static修饰的方法我们称之为静态方法,我们通过类名对其进行直接调用.由于它在类加载的时候就存在了,它不依赖于任何实例,所以static方法必须实现,也就是说它不能是抽象方法.

  6. ECharts3.0介绍、入门

    ECharts 特性介绍 ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,S ...

  7. 13.JAVA-包package、import使用

    1.包的定义 之前我们学习java时,生成的class文件都是位于当前目录中,假如出现了同名文件,则会出现文件覆盖问题,因此就需要设置不同的目录(定义包),来解决同名文件冲突问题. 并且在大型项目中, ...

  8. linux文件系统和目录树的关系

    文件系统是和底层的硬件系统紧密关联的,文件系统相当于是dev(设备或硬件)在Linux上面的显示,如/dev/hdc2 而目录树是逻辑的概念,其可以通过挂载的方式连接文件系统,先用df查看本地的文件系 ...

  9. SQL Server 2016,2014 “无法找到数据库引擎启动句柄”

    当我决定安装SharePoint 2016 IT预览版时,我想我应该将它安装在Windows Server 2016技术预览版以及SQL Server 2016社区技术预览版(CTP)上.我敢打赌,你 ...

  10. python 之网页解析器

    一.什么是网页解析器 1.网页解析器名词解释 首先让我们来了解下,什么是网页解析器,简单的说就是用来解析html网页的工具,准确的说:它是一个HTML网页信息提取工具,就是从html网页中解析提取出“ ...