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

网站商城与网站区别资源分享网站怎么做

网站商城与网站区别,资源分享网站怎么做,做aa视频网站,广东网页制作二级考试题目今天学习面向对象里的类被del函数的垃圾回收过程搞的晕头转向#xff0c;经过了老师的讲解还是是懂非懂#xff0c;然后看了很多博客慢慢的心里才有了个大概的了解。 刚刚看到一篇博客#xff0c;觉得讲的很好#xff0c;转载过来以供参考。以下转自笨笨D幸福博客#xff…今天学习面向对象里的类被del函数的垃圾回收过程搞的晕头转向经过了老师的讲解还是是懂非懂然后看了很多博客慢慢的心里才有了个大概的了解。 刚刚看到一篇博客觉得讲的很好转载过来以供参考。以下转自笨笨D幸福博客http://blog.csdn.net/bbdxf/article/details/25774763 探索过程 1、经过查找Python中没有专用的构造和析构函数但是一般可以在__init__和__del__分别完成初始化和删除操作可用这个替代构造和析构。还有一个__new__用来定制类的创建过程不过需要一定的配置此处不做讨论。 2、类的成员函数默认都相当于是public的但是默认开头为__的为私有变量虽然是私有但是我们还可以通过一定的手段访问到即Python不存在真正的私有变量。如 01.__priValue 0 #会自动变形为_类名__priValue的成员变量 3、由于Python的特殊性全局成员变量是共享的所以类的实例不会为它专门分配内容空间类似于static具体使用参看下面的例子。 测试1 01.#encoding:utf8 02.03.classNewClass(object):04. num_count 0 #所有的实例都共享此变量即不单独为每个实例分配 05. def __init__(self,name):06. self.name name07. NewClass.num_count 108. printname,NewClass.num_count 09. def __del__(self):10. NewClass.num_count - 1 11. print Del,self.name,NewClass.num_count12. deftest():13. print aa 14.15.aa NewClass(Hello)16.bb NewClass(World)17.cc NewClass(aaaa)18.19.print Over 调试运行 01.Hello 1 02.World 2 03.aaaa 3 04.Over05.DeException l Hello 2 06.AttributeError: NoneType object has no attribute num_count in ignored07.Exception AttributeError: NoneType object has no attribute num_count in 我们发现num_count 是全局的当每创建一个实例__init__()被调用num_count 的值增一当程序结束后所有的实例会被析构即调用__del__() 但是此时引发了异常。查看异常为 “NoneType” 即 析构时NewClass 已经被垃圾回收所以会产生这样的异常。 但是疑问来了为什么会这样按照C/C等语言的经验不应该这样啊经过查找资料发现 Python的垃圾回收过程与常用语言的不一样Python按照字典顺序进行垃圾回收而不是按照创建顺序进行。所以当系统进行回收资源时会按照类名A-Za-z的顺序依次进行我们无法掌控这里的流程。 明白这些我们做如下尝试 01.#encoding:utf8 02.03.classNewClass(object):04. num_count 0 #所有的实例都共享此变量即不单独为每个实例分配 05. def __init__(self,name):06. self.name name07. NewClass.num_count 108. printname,NewClass.num_count 09. def __del__(self):10. NewClass.num_count - 1 11. print Del,self.name,NewClass.num_count12. deftest():13. print aa 14.15.aa NewClass(Hello)16.bb NewClass(World)17.cc NewClass(aaaa)18.19.delaa20.delbb21.delcc22.23.print Over 调试输出 01.Hello 1 02.World 2 03.aaaa 3 04.Del Hello 2 05.Del World 1 06.Del aaaa 007.Over OK一切按照我们预料的顺序发生。 但是我们总不能每次都手动回收吧这么做Python自己的垃圾回收还有什么意义 SO继续查找我们还可以通过self.__class__访问到类本身然后再访问自身的共享成员变量即 self.__class__.num_count , 将类中的NewClass.num_count替换为self.__class__.num_count 编译运行如下 01.#encoding:utf8 02.03.classNewClass(object):04. num_count 0 #所有的实例都共享此变量即不单独为每个实例分配 05. def __init__(self,name):06. self.name name07. self.__class__.num_count 108. printname,NewClass.num_count 09. def __del__(self):10. self.__class__.num_count - 1 11. print Del,self.name,self.__class__.num_count12. deftest():13. print aa 14.15.aa NewClass(Hello)16.bb NewClass(World)17.cc NewClass(aaaa)18.19.print Over 结果 01.Hello 1 02.World 2 03.aaaa 3 04.Over05.Del Hello 2 06.Del World 1 07.Del aaaa 0
http://www.zqtcl.cn/news/718821/

相关文章:

  • 建设国际互联网网站完整网站开发教程
  • 一个购物交易网站怎么做网站管理功能图
  • 做有后台的网站如何提交网站地图
  • 网站建设税率多少潍坊市住房和城乡建设局网站
  • 网站图片怎么做白色背景青岛公司做网站的价格
  • 网站seo工具wordpress放视频没画面
  • 自己做个网站要多少钱o2o商城网站系统开发
  • 百度网站优化哪家好长沙抖音推广代运营公司
  • 做网站的软件worddede 后门暴网站
  • 极简风格 网站上市公司seo是什么意思
  • 商城手机网站设计网架公司十大排名
  • 在建设主题网站时邯郸房产信息网恋家网
  • 保山做网站建设做网站zwnet
  • 南阳做网站推广自助个人免费网站
  • 企业做网站怎么做高校档案室网站建设
  • 辽宁省建设厅网站升级期货交易软件定制开发
  • 网站建设公司工资设置mufen wordpress
  • 资阳网站网站建设月夜直播免费完整版
  • 自己的网站打不开了网站建设维护成本
  • 最便宜做网站c2c网站建站的标准
  • 家里电脑做网站服务器下载中国移动商旅100最新版本
  • 深圳建站公司开发费用做网站网页的工作怎么样
  • 网站工程师平均工资网站开发合同里的坑
  • 南通公司建站模板品牌网站建设小蝌蚪
  • 网站备案号 有效期微信小程序开发视频完整教程
  • 给公司做网站需要什么信息html制作百度登录页面
  • 济南市建设执业资格注册中心网站小程序源码模板下载
  • 免费做网站怎么做网站网页生成app制作
  • 网站建设中的财务预算广州网站制作
  • 经营范围网站建设wordpress主题去除友情链接