学习python的第四天
python的垃圾回收机制
一.Jupyter的安装以及运行
1.Jupyter的安装
运行CMD,在CMD中输入pip3 --default-timeout=100 install -U jupyter
再输入pip3 install jupyter_contrib_nbextensions
再输入jupyter contrib nbextension install --user
关于pip3 --default-timeout=100 install -U jupyter的详细意思
pip3:pip3及为pip3.exe ,是在E:\python\Scripts\中pip3.exe(需要提前在环境变量path中设置路径)
--default-timeout=100:下载过程中允许出现100ms的延迟在100ms内未能读取数据下载不会中断
install:下载
-U jupyter:为下载应用的名称
其中jupyter中插件安装也一样,及再cmd中运行,在jupyter中找到需要安装的插件名称
然后输入为pip3 instal (插件名称)
2.jupyter的运行
1.首先新建一个文件夹用于放jupyter制作完成的文件
2.运行cmd
行cmd
3.在CMD中将路径找到之前新建的文件夹
4.在路径后面输入jupyter notebook
3.jupyter中快捷键
shift+enter 运行程序
esc+M 切换至与Typora一样的界面
二.小整数池
python中自带的几个变量值,[-5,256]中
三.python垃圾回收机制
当变量值引用次数为0时,该变量值会被自动删除
如:
x = 6666
del (x)
其中666会被回收
x =1
del(x)
其中1不会被回收,应为1为小数整池[-5,256]
四.引用计数:变量值的引用次数
如:引用的值在小整数池中
x=1
y=1
z=1
1的引用次数为3,因为1位小整数池中的变量值,位置一样,XYZ引用的是同一个值,所有1的引用次数为3
如:引用的值不在小整数池中
x = 257
y = 257
z = 257
257的引用次数为1,因为257不是小整数池中id不一样,其中的XYZ都引用不同位置中的257,所以257的引用次数为1
五.个人举例记忆,几种情况下的引用次数
x = 1
y = 1
z = 1
引用次数为3
x = 257
y = 257
z = 257
引用次数为1
以上两种情况发生的不同,是由于引用的变量值是否为小整数池中值有关
x = 1
y = x
del(x)
print(y)
#会正确的打印出y的值,因为在删除X时候,Y以及被赋予1
x = 1
del(x)
y = x
print(y)
#会报错,因为在X想赋予Y的时候,X以及被删除了,后续y = x中X仅仅为一个新的变量名没有被赋予任何值所有y不会被赋予任何一个值。则最后无法打印出一个空的y变量
五.今日题目
- 简述Python垃圾回收机制:当变量值引用次数为0时,该变量值会被自动删除
- 对于下述代码:
x = 10
y = 10
z = 10
del y
10的引用计数为多少?次数为1
x = 257
y = x
del x
z = 257
x对应的变量值257的引用计数为多少?次数为2
简述Python小整数池概念:python当中固定自带的的值,在[-5,256]中
对于
x = 10,请用Python代码分别打印变量值、变量值内存地址和变量数据类型。#打印变量值
print(x)
#打印变量值内存地址
print(id(x))
#变量类型
print(type(x))
对于下述代码:
x = 257
y = x
z = 257
请判断x、y、z的变量值是否相同?x、y、z的所在的内存地址是否相同?请用python代码阐述为什么?
x = 257
y = x
z = 257
#x,y,z的变量值
x == y == z
ture
#x,y,z的内存地址
id(x) == id(y) != id(z)
x is y is z(is表示判断内存地址是否相同)
ture
学习python的第四天的更多相关文章
- 学习python第十四天,模块
Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码 ...
- python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)
一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- Python学习笔记(十四)
Python学习笔记(十四): Json and Pickle模块 shelve模块 1. Json and Pickle模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不 ...
- python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法
python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...
- 分四个阶段学习python并找到一份好工作
第一阶段 关注公众号"轻松学编程"了解更多. 详细学习资料 需要时间一个月. 1.python概念 python是一种解释型.面向对象.动态数据类型的高级程序语言. 理解: ...
- 初学 Python(十四)——生成器
初学 Python(十四)--生成器 初学 Python,主要整理一些学习到的知识点,这次是生成器. # -*- coding:utf-8 -*- ''''' 生成式的作用: 减少内存占有,不用一次性 ...
- 编程零基础应当如何开始学习 Python?
提前说一下,这篇福利多多,别的不说,直接让你玩回最有手感的怀旧游戏,参数贴图很方便自己可以根据喜好修改哦. 本篇通过以下四块展开,提供大量资源对应. 选一个好版本 有没有看过<在下坂本,有何贵干 ...
- 学习Python不得不关注和学习的国外大神博客
注意 : 本文收集于网路 . 由于常常更新 , 有些链接打不开, 请自备梯子 在学习Python过程中,总会遇到各种各样的坑, 虽然Python是一门优美而简单易学的语言 . 但当学习后 , 总想着更 ...
随机推荐
- Centos制作本地yum源
本地YUM源制作 1. YUM相关概念 1.1. 什么是YUM YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shel ...
- python 面向对象进阶之元类metaclass
一:知识储备 exec exec:三个参数 参数一:字符串形式的命令 参数二:全局作用域(字典形式),如果不指定,默认为globals() 参数三:局部作用域(字典形式),如果不指定,默认为local ...
- JavaScript里面的循环方法小结
一,原生JavaScript中的循环: for 循环代码块一定的次数,它有三个参数,来决定代码块的循环次数,第一个是初始值,第二个是终止值,第三个参数是变化规则: //for循环 for(var i ...
- springboot+mybatis+ehcache实现缓存数据
一.springboot缓存简介 在 Spring Boot中,通过@EnableCaching注解自动化配置合适的缓存管理器(CacheManager),Spring Boot根据下面的顺序去侦测缓 ...
- Linux时间子系统之二:表示时间的单位和结构
人们习惯用于表示时间的方法是:年.月.日.时.分.秒.毫秒.星期等等,但是在内核中,为了软件逻辑和代码的方便性,它使用了一些不同的时间表示方法,并为这些表示方法定义了相应的变量和数据结构,本节的内容就 ...
- 解决持久化数据太大,单个节点的硬盘无法存储的问题;解决运算量太大,单个节点的内存、CPU无法处理的问题
需要学习的技术很多,要自学新知识也不是一件容易的事,选择一个自己比较感兴趣的会是一个比较好的开端,于是,打算学一学分布式系统. 带着问题,有目的的学习,先了解整体架构,在深入感兴趣的细节,这是我的计划 ...
- JAVA PERSISTENCE API (JPA)
13.2.1. About JPA The Java Persistence API (JPA) is the standard for using persistence in Java proje ...
- SQL Server 日志和代理的错误日志
本文介绍的日志不是事务日志,而是SQL Server 日志和代理的错误日志,按照主体把错误日志分为SQL Server.SQL Server Agent.Database Mail,以及 Window ...
- java 中 一个int类型的num,num&1
n&1 把n与1按位与,因为1除了最低位,其他位都为0,所以按位与结果取决于n最后一位,如果n最后一位是1,则结果为1.反之结果为0.(n&1)==1: 判断n最后一位是不是1(可能用 ...
- 关于extern的用法
extern表示该变量或者函数时在另一个地方定义了. 在C++编程中,如果将程序分为多个文件,则需要有在文件间共享代码的方法,这时如果一个变量或者函数需要在多个文件中使用,则可以使用extern来声明 ...