位置: 编程技术 - 正文

python中类变量与成员变量的使用注意点总结(python的类变量和成员变量)

编辑:rootadmin

推荐整理分享python中类变量与成员变量的使用注意点总结(python的类变量和成员变量),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python中的类变量,python的类变量和成员变量,python中的类变量,python类变量与字典,python中的类变量,python类变量与字典,python类变量与字典,python 类变量和类方法,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

最近在用python写一个项目,发现一个很恶心的bug,就是同由一个类生成的两个实例之间的数据竟然会相互影响,这让我非常不解。后来联想到java的类有类变量也有实例变量,因此翻阅了相关资料,发现python也有类似的类变量和实例变量,下面来看看详细的介绍。

看下面的示例代码:

x就是类变量,y就是实例变量。

python中类变量与成员变量的使用注意点总结(python的类变量和成员变量)

原则上是没有错的,但是实际用的时候就发现一些恶心的问题(也就是我找了三天的bug)。。。比如下面的代码:

这里很明显x和y都是类变量,add的作用是分别对x和y做出修改。然后构造一个实例a,对实例a的值进行修改,最后构造实例b。

本以为这个结果是显而易见的,然而他输出的结果却是:

问题在哪?明明x和y都是类变量,在第二组print中为什么a.x和b.x一样,但是a.y和b.y就是不一样呢?

想了半天悟了一个道理。。。就是对于python来说,类变量的确是所有类共有的东西。但是那是在我们用的同一个引用的情况下,比如对于[]对象的append方法就是公用一个类变量了;但是对于赋值语句来说,如果在类中对类变量使用了赋值语句,那么python就会生成一个该对象的副本,以后的操作都是基于这个副本而不会对原来的类对象造成影响。这样就解释的通上面的现象了。

那么为了杜绝自己忘记类变量和实例变量的区别导致本不想公用变量的时候公用了变量,最好的办法就是在每个类中使用变量的时候重新初始化一下,这样就不会导致意外了。

总结

标签: python的类变量和成员变量

本文链接地址:https://www.jiuchutong.com/biancheng/375579.html 转载请保留说明!

上一篇:Python urls.py的三种配置写法实例详解(python urljoin)

下一篇:Python 正则表达式实现计算器功能

  • 采购价格含税吗
  • 如何理解递延所得税费用的计算公式
  • 按适用税率计税销售额和按简易办法计税销售额
  • 新的税收
  • 房产证,契税
  • 税务人员岗位有哪些
  • 印花税的纳税人是买方还是卖方
  • 建设单位施工现场补助
  • 固定资产计提减值后可以转回吗
  • 小规模纳税人分红税率
  • 税额为零的增值税是多少
  • 零税率和免税一样吗?哪一个更优惠?
  • 如何结转应交未交或多交增值税?
  • 股东投入的资金怎么做账
  • 固定资产出售损益
  • 建筑工程查帐征收税
  • 购物返现活动文案
  • 收到费用报销发票怎么做
  • 采用托收承付方式怎么做分录?
  • 有形动产租赁简易征收适用哪些业务
  • 留抵税额抵减欠税文件
  • 购买财务软件账务处理规定
  • 低值易耗品按三年摊销吗
  • 地税保险单位编号是什么
  • 个人所得税核定征收计算公式
  • 保安服务税目
  • 外资企业所得税优惠政策
  • 计算并结转本月应交的城建税700元
  • 对公账户在税务局能查到吗
  • 怎么核算外汇业务
  • 个税在发工资的时候直接扣下来吗
  • 增值税发票自查报告
  • 司法拍卖机器设备税率
  • 公司的固定资产是什么
  • windows 10 版本 21h1
  • 企业员工个人所得税申报流程
  • nvidia gpu系列
  • 本年利润和未分配利润怎么结转
  • 羊肚菌的功效和价格
  • 手续费及佣金扣除标准
  • excel导出exe
  • php提供的字符串函数
  • 暂估入库的商品含税吗
  • 农产品加计扣除1%怎么计算和会计分录
  • 7z命令行详解
  • 劳务费如何支付
  • 长期借款的核算分为哪三个阶段
  • 销售边角料的会计分录
  • 增值税是在年末怎么处理
  • python的utils模块
  • 一次性计提和一次性支付的区别
  • 一般纳税人差额纳税
  • 汽车4s店售后业绩看板
  • 待抵扣进项税额转出会计分录
  • 所得税纳税年度
  • 递延所得税负债大白话解释
  • 小规模企业没有账,税务会查账吗
  • 预缴增值税销售额是含税还是不含税的开票金额
  • 结转是什么意思啊
  • 固定资产盘点基本情况
  • 小规模纳税人中标一般计税
  • xp系统安装软件参数不正确怎么解决
  • win8打开运行的快捷键是什么
  • 苹果电脑优酷视频播放不了
  • linux安装有哪几种方式
  • windowxp操作系统
  • 为大家详细介绍英语
  • winpe 系统还原
  • 双win系统怎么删除一个
  • windows visual studio 基于openGL的粒子系统设计
  • 安卓系统休眠设置在哪
  • angular js表达式
  • 安卓hid通信
  • android推送权限
  • 出口企业的增值税怎么算
  • 专票增额怎么办手续
  • 电子税务局财务报表利润表本期金额
  • 税务数据清理变态
  • 国家税务局机打发票可以报销吗
  • 地税发票查询官网查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设