当前位置: 首页 > news >正文

wordpress企业站爱主题传奇发布网新开服

wordpress企业站爱主题,传奇发布网新开服,天地心公司做网站怎样,小程序怎么开发自己的小程序一. id is 二. 代码块三. 小数据池四. 总结一#xff0c;id#xff0c;is#xff0c; 在Python中#xff0c;id是什么#xff1f;id是内存地址#xff0c;那就有人问了#xff0c;什么是内存地址呢#xff1f; 你只要创建一个数据#xff08;对象#xff09;那么都会… 一. id is 二. 代码块三. 小数据池四. 总结 一idis   在Python中id是什么id是内存地址那就有人问了什么是内存地址呢 你只要创建一个数据对象那么都会在内存中开辟一个空间将这个数据临时加在到内存中那么这个空间是有一个唯一标识的就好比是身份证号标识这个空间的叫做内存地址也就是这个数据对象的id那么你可以利用id去获取这个数据的内存地址 name 太白 print(id(name)) # 1585831283968 那么 is 是什么 又是什么 是比较的两边的数值是否相等而 is 是比较的两边的内存地址是否相等。 如果内存地址相等那么这两边其实是指向同一个内存地址。 可以说如果内存地址相同那么值肯定相同但是如果值相同内存地址不一定相同。 二代码块。 根据官网提示我们可以获知 根据提示我们从官方文档找到了这样的说法 A Python program is constructed from code blocks. A block is a piece of Python program text that is executed as a unit. The following are blocks: a module, a function body, and a class definition. Each command typed interactively is a block. A script file (a file given as standard input to the interpreter or specified as a command line argument to the interpreter) is a code block. A script command (a command specified on the interpreter command line with the ‘-c‘ option) is a code block. The string argument passed to the built-in functions eval() and exec() is a code block. A code block is executed in an execution frame. A frame contains some administrative information (used for debugging) and determines where and how execution continues after the code block’s execution has completed. View Code 上面的主要意思是 Python程序是由代码块构造的。块是一个python程序的文本他是作为一个单元执行的。 代码块一个模块一个函数一个类一个文件等都是一个代码块。 而作为交互方式输入的每个命令都是一个代码块。 什么叫交互方式就是咱们在cmd中进入Python解释器里面每一行代码都是一个代码块例如 而对于一个文件中的两个函数也分别是两个不同的代码块   那么可能有的同学还有一些不理解代码块可以这样解释我们都上过学对吧你们在初中的时候有没有过值周就以一个班的学生用一星期的时间打扫整个学校再比如有没有运动会无论是值周还是运动会还是组织什么活动都是以什么为单位呢对都是以班级为单位那么咱们学生就好比是代码班级就好比是代码块我们想让代码运行起来必须依靠班级去执行也就是代码块。 OK那么现在我们了解了代码块这和小数据池有什么关系呢且听下面分析。 代码块的缓存机制 前提条件在同一个代码块内。 机制内容Python在执行同一个代码块的初始化对象的命令时会检查是否其值是否已经存在如果存在会将其重用。换句话说执行同一个代码块时遇到初始化对象的命令时他会将初始化的这个变量与值存储在一个字典中在遇到新的变量时会先在字典中查询记录如果有同样的记录那么它会重复使用这个字典中的之前的这个值。所以在你给出的例子中文件执行时同一个代码块会把i1、i2两个变量指向同一个对象满足缓存机制则他们在内存中只存在一个即id相同。 适用对象 intfloatstrbool。 对象的具体细则了解   int(float):任何数字在同一代码块下都会复用。   bool:True和False在字典中会以10方式存在并且复用。   str几乎所有的字符串都会符合缓存机制具体规定如下了解即可 1非乘法得到的字符串都满足代码块的缓存机制 s1 太白#*ewq s2 太白#*ewq print(s1 is s2) # True 2,乘法得到的字符串分两种情况   2.1 乘数为1时任何字符串满足代码块的缓存机制 b1 太白5847395QQ0743895*^%$#((_(()) *1 a1 太白5847395QQ0743895*^%$#((_(()) *1print(a1 is b1) # True   2.2 乘数2时仅含大小写字母数字下划线总长度20满足代码块的缓存机制 s1 old_ * 5 s2 old_ * 5 print(s1 is s2) # True  优点能够提高一些字符串整数处理人物在时间和空间上的性能需要值相同的字符串整数的时候直接从‘字典’中取出复用避免频繁的创建和销毁提升效率节约内存。  三小数据池 小数据池不同代码块的缓存机制也称为小整数缓存机制或者称为驻留机制等等博主认为只要你在网上查到的这些名字其实说的都是一个意思叫什么因人而异。 那么到底什么是小数据池他有什么作用呢 前提条件在不同一个代码块内。 机制内容官方对于整数字符串的小数据池是这么说的: 对于整数Python官方文档中这么说 The current implementation keeps an array of integer objects for all integers between -5 and 256, when you create an int in that range you actually just get back a reference to the existing object. So it should be possible to change the value of 1. I suspect the behaviour of Python in this case is undefined.对于字符串 Incomputer science, string interning is a method of storing only onecopy of each distinct string value, which must be immutable. Interning strings makes some stringprocessing tasks more time- or space-efficient at the cost of requiring moretime when the string is created or interned. The distinct values are stored ina string intern pool. –引自维基百科 View Code 来我给你们翻译并汇总一下这个表达的意思就是 Python自动将-5~256的整数进行了缓存当你将这些整数赋值给变量时并不会重新创建对象而是使用已经创建好的缓存对象。 python会将一定规则的字符串在字符串驻留池中创建一份当你将这些字符串赋值给变量时并不会重新创建对象 而是使用在字符串驻留池中创建好的对象。   其实无论是缓存还是字符串驻留池都是python做的一个优化就是将~5-256的整数和一定规则的字符串放在一个‘池’容器或者字典中无论程序中那些变量指向这些范围内的整数或者字符串那么他直接在这个‘池’中引用言外之意就是内存中之创建一个。 适用对象 intfloatstrbool  对象的具体细则了解即可 int那么大家都知道对于整数来说小数据池的范围是-5~256 如果多个变量都是指向同一个在这个范围内的数字他们在内存中指向的都是一个内存地址。 那么对于字符串的规定呢 str:字符串要从下面这几个大方向讨论了解即可 1,字符串的长度为0或者1默认都采用了驻留机制小数据池。 2,字符串的长度1,且只含有大小写字母数字下划线时才会默认驻留。   3,用乘法得到的字符串分两种情况。   3.1 乘数为1时 仅含大小写字母数字下划线默认驻留。 含其他字符长度1,默认驻留。 含其他字符长度1,默认驻留。   3.2 乘数2时 仅含大小写字母数字下划线总长度20,默认驻留。 4指定驻留。 from sys import intern a intern(hello!*20) b intern(hello!*20) print(a is b) #指定驻留是你可以指定任意的字符串加入到小数据池中让其只在内存中创建一个对象多个变量都是指向这一个字符串。 满足以上字符串的规则时就符合小数据池的概念。 bool值就是TrueFalse无论你创建多少个变量指向TrueFalse那么他在内存中只存在一个。 看一下用了小数据池驻留机制的效率有多高 显而易见节省大量内存在字符串比较时非驻留比较效率o(n)驻留时比较效率o(1)。 优点能够提高一些字符串整数处理人物在时间和空间上的性能需要值相同的字符串整数的时候直接从‘池’里拿来用避免频繁的创建和销毁提升效率节约内存 四小结。   如果在同一代码块下则采用同一代码块下的换缓存机制。   如果是不同代码块则采用小数据池的驻留机制。 # pycharm 通过运行文件的方式执行下列代码 这是在同一个文件下也就是同一代码块下采用同一代码块下的缓存机制。 i1 1000 i2 1000 print(i1 is i2) # 结果为True 因为代码块下的缓存机制适用于所有数字 通过交互方式中执行下面代码 # 这是不同代码块下则采用小数据池的驻留机制。i1 1000i2 1000print(i1 is i2) False # 不同代码块下的小数据池驻留机制 数字的范围只是-5~256. 更多验证 # 虽然在同一个文件中但是函数本身就是代码块所以这是在两个不同的代码块下不满足小数据池驻存机制则指向两个不同的地址。 def func():i1 1000print(id(i1)) # 2288555806672def func2():i1 1000print(id(i1)) # 2288557317392func() func2()   本文大量引用和参考链接如下  https://zhidao.baidu.com/question/494120409773699052.html   http://mini.eastday.com/bdmip/180405084648167.html 转载自 https://www.cnblogs.com/jin-xin/articles/9439483.html 转载于:https://www.cnblogs.com/bqwzx/p/11013636.html
http://www.pierceye.com/news/682616/

相关文章:

  • 中山 灯饰 骏域网站建设专家网站建设需求范文
  • 东光网站建设淘宝店铺装修苏州网站建设服务
  • 平台型网站建设预算表哈尔滨网站制作多少钱
  • 手机网站焦点图装修房子的流程和顺序
  • 做网站一个月赚多少和一起做网店类似的网站
  • 网站的栏目有什么名字中文网站建设技术解决方案
  • wordpress首页非常慢网站优化推广seo
  • 成都建设银行网站北京建设工程招标网
  • 国美电器网上商城给网站做seo的必要性
  • 网站制作公司资质dw网页设计的一般步骤
  • 大连三合一网站制作网络营销策划的基本原则
  • 电商网站模板下载手机电影网站怎样做
  • 学校网站建设源码网站开发公司创业
  • 直播网站开发公司赣州网站建设hyxxjs
  • 佛山电商网站制作wordpress评论显示地址
  • 自己怎样用手机建网站化妆品网站模板免费下载
  • 当今做哪个网站致富早期网页游戏
  • 手机网站开发指南西安做网站的
  • php网站搬家教程装修网站建设方案书
  • 上海建网站工作室网络设计培训学校长沙
  • 手机自建网站平台如何寻找seo网站建设客户
  • 网站按关键词显示广告图片这样制作公司网站
  • 桂林建站平台哪家好北京注册公司查询
  • c 高性能网站开发淄博学校网站建设方案
  • 网站建设网站维护的具体内容是什么wordpress主题模板调用
  • 专业网站建设公创建app软件
  • 佛山哪家网站建设比较好互联网内容服务商有哪些
  • 商家在携程旅游网站怎样做宣传ppt免费下载素材库
  • 下载建设银行官方网站下载网站模块介绍
  • 网站定制开发公司推荐网站续费问题