Python 类的属性和实例属性 Python 的动态语言

#定义一下类, 含有类属性 aaa,

>>> class Aa: 
... aaa = 10
... 

#对类 Aa实例化出一个实例 a1
>>> a1 = Aa() 
>>> print(a1.__dict__)#查看实例并没有自己的方法和属性
{}
>>> a1.aaa #但是这个实例在调用属性的时候, 发现自己没有这个属性, 于是去找其类有没有这个属性, 找到了就返回类的属性
10
>>> print(a1.__dict__)# 但是实例 a1仍然没有自己的属性, 只是调用类的. 
{}
>>> a1.aaa += 2 #一旦用等号对a1.aaa 进行赋值运算, 就等同于a1.aaa = 12.给 a1 setatrr 了一个属性, 
>>> print(a1.__dict__) #而且名字也是 aaa. 这里就成了实例发生. 优先于类属性
{'aaa': 12}
>>> a1.aaa
12
>>> a2 = Aa() #再实例化一个对象
>>> a2.aaa
10
>>> print(a2.__dict__) #新对象没有自己的实例属性
{}
>>>

>>> Aa.aaa #类的属性没有发生改变
10
>>> Aa.aaa += 5 #现在把类的属性的值在内存中变成15
>>> Aa.aaa
15
>>> a2.aaa #对于没有自己实例属性的 a2来说, 还是只能调用类的属性,新值15
15
>>> a1.aaa #而 a1有了自己的实例属性, 就不再随类属性变化了, 虽然属性名相同, 但是指向的对象已经不同
12
>>> a3 = Aa() #再来实例化一个 a3, 实例化的时候, aaa = 10这一句已经不再作用于类属性 Aa.aaa,
>>> a3.aaa #难留内存的类属性的值是15
15
>>>

>>> Aa.aaa  #现在不明白的是, Aa.aaa 已经不是 已经把 aaa 抛弃了? 要不然在实例化的时候, aaa = 10怎么办?
15
>>>#看下图解读:

 

转载于:https://www.cnblogs.com/guiyuhua/p/8639467.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466335.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高效KMP字符匹配算法就这么简单

1、聊一聊上一篇文章"暴力"字符匹配算法的C语言实现2、KMP算法介绍1KMP介绍KMP是一种字符匹配算法,为啥叫KMP呢?因为是由D.E.Knuth,J.H.Morris和V.R.Pratt大佬提出来的。那一些小伙伴会问了怎么不叫"DJV算法"呢?因为老外…

安装MyEclipse得心得

我使用的MyEclipse是MyEclipse_5.5.1GA_E3.2.2_Installer.exeEclipse是eclipse-SDK-3.2-win32Tomcat是Tomcat 6.0JDK是jdk-6u7-windows-i586-p.exe来搭建得JSP开发环境要说Java最麻烦的还是搭建环境,尤其对于我这种菜鸟级的人来说简直是一个小小得错误就让我停滞很久…

TQ210 —— NandFlash

TQ210 —— nandflashTQ210 开发板板载一片 1Gbyte 的 NAND FLASH——K9K8G08U0B,通过查询K9K8G08U0B 芯片手册可以得到如下信息:(理论知识不再介绍)K9K8G08U0B : (1G 32M) x 8bit 总大小Data Register : (2K 64) x 8bit 数据寄…

涂鸦赞助的500个开发套件,先到先得

来源 | 涂鸦跟涂鸦申请的福利,给喜欢开发的同学发放开发套件,只要是不是专门白嫖党,数量可以不做限制。去年疫情突发,封城、封小区以及人员隔离,让原本享受千般宠爱的主子们变成了靠吃猫砂、塑料袋度日的小可怜&#x…

Oracle 1204 RAC failover 测试 (二)

1.检查数据库状态,状态正常 [oracleracdb01 rac]$ crs_stat -t Name Type Target State Host ------------------------------------------------------------ ora.rac.db application ONLINE ONLINE racdb01 ora....s1.…

ARM中断返回地址详细分析

ARM中断返回地址详细分析 在ARM体系中,通常有以下3种方式控制程序的执行流程:1、在正常执行过程中,每执行一条ARM指令,程序计数器PC的值加4个字节;每执行一条Thumb指令,程序计数器PC加2个字节。整个过程是顺…

C++识别二维码

C识别二维码 https://blog.csdn.net/coolingcoding/article/details/25804129 https://blog.csdn.net/sw5131899/article/details/52848957 https://blog.csdn.net/weichaohnu/article/details/8275829

Linux-C 编程 / 网络 / 超迷你的 web server

一、为生活寻找固定的支撑点1. 什么是生活的支撑点?让自己感到些许痛苦,但却会带来实实在在的充实感和成就感的事情。举个栗子,我的支点是运动、看书、研究技术。2. 固定的支撑点很重要:三个固定的要素:时间 / 空间 / …

20165326 java第四周学习笔记

第四周学习笔记 ch5 子类和父类子类只能有一个父类使用关键字extendsyclass 子类 extends 父类系统默认的祖先类Object(java.lang包中)继承:子类继承父类的方法可以直接作为实例方法调用,继承的成员变量和方法的访问权限不变&…

用VSTS进行网站压力测试

VSTS提供了一个丰富、强大的工具平台,融合了软件开发领域的各个角色,涵盖软件开发生命周期的各个阶段,包括设计,开发,测试,管理,而这一整套构件的融会贯通,让它可以有效地改善软件开…

基于 DirectShow 的播放器

https://blog.csdn.net/leixiaohua1020/article/details/13019147 COM编程之 QueryInterface https://www.cnblogs.com/Braveliu/p/3435560.html

第四周选做作业

相关知识点的总结 通过命令行引入参数递归循环课上内容的补做,结果截图 未完成内容:递归与循环 补做教材第二章,第三章编程题目 参考资料 2016-2017-2 《Java 程序设计》课堂实践项目编写一个Java应用程序,输出全部的希腊字母。_百度知道[]转载于:https:…

数据结构和算法,也就那么回事儿

金三银四来了,各大厂动静不小,都在储备人才,绝对是程序员面试的黄金时间了,不少同学也在后台反馈面试中遇到的一些问题,所以今天想跟大家说说算法。说起算法,那大厂面试是绝对必考的,可以说是一…

批处理详细教程(五)

六.精彩实例放送。1.删除win2k/xp系统默认共享的批处理------------------------ cut here then save as .bat or .cmd file ---------------------------echo preparing to delete all the default shares.when ready pres any key.pauseecho off:Rem check parameters if nul…

SecureCRT护眼设置

SecureCRT护眼设置Option —— Global Options —— Terminal —— Appearance —— ANSI COlor从左至右,从上至下值分别为(RGB元组): 1:(0,43,53) (128,128,0) (0,160,0) (160,160,0) (255,128,128) (…

北美暴风雨,Linux5.12被延迟6天发布

上个月中旬,因为罕见的严寒天气和暴风雪,美国得州和俄勒冈州波特兰遭遇了持续多天的停电。Linux 创始人 Linus Torvalds 就生活在波特兰,多年来他一直在家中远程工作,并负责新内核的最终发布。之前我们报道过,内核社区…

C#复习笔记(3)--C#2:解决C#1的问题(可空值类型)

可空值类型 C#2推出可空类型来表示可以为null的值类型。这是一个呼声很高的需求,因为在常用的数据库中都是允许某些值类型可为空的。那么为什么值类型就不能为空呢?内存中用一个全0的值来表示null,但是全0的地址说明了这个内存空间是被清除了…

extern “C”的作用详解

extern “C”的作用详解 extern "C"的主要作用就是为了能够正确实现C代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C的。由于C支持函数重载,因此编译器编译函数的过程中会将…

ISA之三种客户端访问

我们已经懂得怎么搭建ISA2006.我们今天来利用ISA访问外网!顺便说声如果你IP,网关,DNS什么都没问题。那么你可以看看你的NAT处理!下面我们看看我们的试验拓扑!我们在ISA的服务器上做访问规则!来允许我们可以…

ARM的位置无关程序设计

ARM的位置无关程序设计 ARM处理器支持位置无关的程序设计,这种程序加载到存储器的任意地址空间都可以正常运行,其设计方法在嵌入式应用系统开发中具有重要的作用。尤其在裸机状态下开发Bootloader程序及进行内核初始化设计;利用位置无关的程序…