位置: 编程技术 - 正文

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 正则表达式实现计算器功能

  • 开外经证需要预缴税几个点
  • 企业所得税税款可以税前扣除吗
  • 一般纳税人哪些可以开3%的发票吗
  • 外籍人员可以在中国工作吗
  • 酒店物业费收取标准2019
  • 融资租赁担保余值
  • 从事股权投资业务如何界定
  • 自然人扣缴是什么意思
  • 停工损耗会计分录怎么写
  • 捐赠的所得税怎么处理
  • 没收入金税盘减免项如何申报处理及会计分录
  • 结构性存款认购时间为募集期的几点
  • 购入固定资产会影响营业利润吗
  • 上个月少计了成本要怎么办
  • 劳务费发票是几个点的税率
  • 工程安装公司是干嘛的
  • 主营业务收入是营业收入吗
  • 交上月增值税的凭证
  • 应税凭证和纳税凭证的区别
  • 非同一控制下企业合并的交易费用
  • 免税销售额对应的进项税额
  • 员工赔偿款需要交个税么
  • window10环境变量
  • 民营非盈利企业好申请吗
  • 车辆维修的增值税怎么算
  • 内含报酬率概念
  • windows更新暂停怎么恢复
  • 招财树的养殖方法
  • 利息股息红利个人所得税税率
  • 蓝牙有哪些功能
  • Uniapp 使用mocjk
  • vue移动和pc两套代码
  • 自营 代理
  • 税务机关如何判别c开发票视频
  • 应交消费税涉及哪些情况
  • 应付职工薪酬资产还是负债
  • php加密后的代码能运行吗?
  • javascript手机编程
  • 检测费的税票税率怎么算
  • 微信开发怎么实现
  • 前端面试题什么是网络协议
  • 全同态加密代码
  • 固定资产被替换的账面价值怎么算
  • 新申报是什么
  • 销售折让的会计科目
  • mysql内连接查询使用汉语作为官方语言的所有国家
  • 现金溢余涉及的科目
  • 挂靠到运输公司的车转让给个人如何交增值税
  • 经营活动现金流量比率
  • 认证一般纳税人之后,之前开的发票作废重新填开的税率
  • 个税申报错误怎么退税
  • 什么情况下核定应纳税额
  • 一般纳税人可以开1%的发票吗
  • 公司增资的法条
  • 商业保险的养老保险可靠吗
  • 暂估固定资产的账务处理
  • 基本生产成本科目应该按成本计算对象
  • 银行回单借贷标志贷表示什么
  • 会计去企业还是国企好
  • 苹果序列号查询
  • ubuntu怎么用
  • centos7怎么查看磁盘空间
  • xp系统如何取消隐藏
  • 后缀是nb是什么程序
  • win7旗舰版系统激活码
  • 圣诞老人现在在干嘛
  • linux在哪里操作
  • 基于怎么用
  • linux中的命令及含义
  • dos用处
  • js函数详解
  • 搭建安卓开发环境必须的工具
  • 深入理解计算机系统 电子书
  • unity c语言
  • 面向对象的知识
  • python string包
  • 免征的增值税税额应计入营业外收入嘛
  • 广告业发票税率是多少 可以抵扣多少
  • 即征即退什么时候退
  • 贷款抵押担保合同
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设