类的进阶知识点-上篇
【摘要】 类的进阶知识点-上篇
📚前言
✅本次主要介绍的是类的进阶知识点,其中包括类的命名空间等等知识点,进一步了解并熟练使用类,了解类中对静态属性和对动态属性的修改有什么区别呢?
文章目录
📚前言
🌄一、初识命名空间
要了解类的命名空间首先我们先创建一个类,如下
现在我们就创建了一个Course类,类里面可以定义两种属性:静态属性和动态属性。
🌄二、__dict__方法
类的静态函数,类函数,普通函数,全局变量以及内置属性都放在类__dict__中,对象的__dict__中存储了self.xx的东西
我们可以发现__dict__方法中包含Course中的所有属性,并且返回的是一个字典
但是不可以通过直接修改字典的方法来改变类的静态属性
但是可以用如下方法对类中的静态属性进行修改
🌄三、为实例化对象和类创建的内存空间
我们首先实例化两个对象
其中实例化对象python和linux和Course类的内存空间的关系如下图:
每当一个对象调用自己的属性时,会优先从自己的内存空间中寻找,如果找不到的话就到自己类的内存空间中寻找,如果还找不到的话就会报错。
🌄四、静态属性修改知识点
观察以下两个代码结果的区别和为什么会产生这种区别
代码一
代码二
绘图解释代码二出现的原因,没有改变类中的language,而是在Python命名空间中创建了一个language = 'Chinese'
小结
所以从以上我们可以得出一个结论
- 类中的静态变量 可以被对象和类调用
- 对于不可变数据类型来说,类变量最好用类名操作
感谢各位能够看到这里💖💖💖:在鲁迅一篇未发表的文章中说过:“代码看懂了不是懂✨一定要自己实际操作哇✨这样才能更好的理解和吸收。”
最后来一句:一个人可以在任何他怀有无限热忱的事情上成功,让我们一起进步吧✨
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)