位置: 编程技术 - 正文

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

  • 城建税计税依据公式
  • 房地产销售土地属于什么收入
  • 城市维护建设税的计税依据是什么
  • 淘宝网店女装
  • 当期亏损如何计提所得税
  • 生产型企业怎么退税
  • 行政单位其他收入包括哪些
  • 发票一定要填数量吗
  • 技术维护费280全额抵扣会计分录
  • 员工入职第一个月交社保吗
  • 普通发票开票步骤
  • 运费发票备注栏新规定
  • 税控维护费发票图片
  • 企业以盈余公积转增资本,会引起所有者权益总额的变动
  • 会计制度备案成本核算方法一般选择哪个
  • 以前年度应付款项怎么调账
  • 事业单位在建工程转固定资产的账务处理
  • 收到美金没有结汇会计分录
  • 显示器屏幕抖动闪烁是什么原因
  • 电脑上加速网页的加速器
  • 企业预缴电费会退回吗
  • 存货 计价
  • win7系统把桌面更改为d盘
  • dcom进程
  • 成本核算流程会议记录
  • 固定资产自行建造的会计处理
  • 主营业务收入含义
  • 国际税收协定有哪些主要内容
  • 建筑企业跨省经营
  • 寓意幸福和团圆的网名
  • php正则表达式匹配链接
  • php操作字符串
  • thinkphp框架搭建
  • vue中computed和watch区别
  • 《中华人民共和国民法典》
  • 异地预缴印花税是否可以抵扣
  • 账户利息怎么计算
  • 帝国cms怎么样
  • python项目开发案例集锦pdf百度网盘
  • 织梦自适应代码怎么做
  • phpcms缩略图不要自动裁剪的设置方法
  • mysql常用命令汇总
  • 小规模差额征税的账务处理
  • sh sqlplus
  • 冲销以前年度多计提的费用分录
  • 公司汽车维修
  • 公司对员工罚款怎么处理
  • 小规模转一般纳税人进项票如何处理
  • 递延收益影响当期所得税吗为什么
  • 税控盘没有反写会罚款吗
  • 建筑企业工程项目物资管理驼中华
  • 存储过程失效怎么办
  • mysql拆表迁移数据
  • win7系统开启无线服务
  • win7系统如何设置息屏
  • winxp系统怎么设置开机密码
  • win7z
  • win7升级win10系统版本软件还有吗
  • linux ifconfig命令详解
  • 免打扰模式在哪关
  • win8删文件需要权限怎么弄
  • win10预览版选哪个
  • win7系统怎么访问共享文件
  • express model
  • 按developer.android.com安装新的环境
  • jquery动画效果代码
  • 在javascript中什么方法可以对数组元素进行排序
  • js class 私有方法
  • python相关图片
  • 安卓app活动
  • eclipse自动生成
  • 安徽省国家税务总局电子税务局
  • 发票怎能打印
  • 小规模纳税人房土两税优惠政策
  • 国航的电子票号是什么
  • 国家税务局几号上班
  • 车船使用税税
  • 车价为150万的进口车型
  • 城镇土地使用税暂行条例
  • 河南工商年检网上申报APP
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设