风流不在谈锋胜,袖手无言味最长。这篇文章主要讲述# yyds干货盘点 # Python面向对象中的类变量,实例变量怎么来理解?相关的知识,希望能为你提供帮助。
大家好,我是皮皮。
一、前言
前几天在python最强王者交流群有个叫【Chloe】的粉丝问了一个类变量和实例变量的问题,这里拿出来给大家分享下,一起学习下。
文章图片
二、解决过程
在Python Tutorial中对于类变量和实例变量是这样描述的:
Generally speaking, instance variables are for data unique to each instance and class variables are for attributes and methods shared by all instances of the class.通常来说,实例变量是对于每个实例都独有的数据,而类变量是该类所有实例共享的属性和方法。
针对下方的代码:
class Calculate:
A = 20
B = 20
def __init__(self,a,b):
A = a
B = b
print(self.A+self.B/2+1)
Calculate(4,10)
这个代码输出的结果是?
?31.0?
?,因为??self?
?是指向类本身,所以在??init?
?外定义??A?
?,??B?
?可以用??self.A?
?,??self.B?
?调用,但在??init?
?内设置的??A?
?,??B?
?只是局部变量。文章图片
有了以上的基础打底之后,接下来给这个代码做几个变形,就更加清晰了。
class Calculate:
A = 20
B = 20
def __init__(self,a,b):
self.A = a
self.B = b
print(self.A+self.B/2+1)
Calculate(4,10)
像上方的这个代码输出的结果就是?
?10.0?
?。下面给出【dcpeng】大佬给出的几个图解:
文章图片
这么看应该清晰了
文章图片
再次变形:
文章图片
最后再给大家分享下?
?self?
?这个参数,参考下图:文章图片
三、总结
大家好,我是皮皮。这篇文章主要分享了Python面向对象中的类变量,实例变量的问题,给出了具体的解析和代码演示,帮助粉丝顺利解决了问题。
文章图片
【# yyds干货盘点 # Python面向对象中的类变量,实例变量怎么来理解()】最后感谢粉丝【Chloe】提问,感谢【孤独】、【dcpeng】、【月神】给出的具体解析和代码演示,感谢【艾希·觉罗】、【】等人参与学习交流。
推荐阅读
- 简单介绍关于vue 的slot分发内容 (多个分发)
- #yyds干货盘点# js学习笔记二十一手动封装call
- 实现深拷贝最少得用几行代码()
- 类与对象—1
- #yyds干货盘点#return用法 - python基础学习系列(64)
- 用AutoHotkey和WinSCP访问坚果云 2022年4月18日
- 阿里面试居然跟我扯了半小时的CyclicBarrier
- JavaEE之多线程01
- python 包之 JSON 轻量数据操作教程