类数据成员

python的类数据成员是不需要用self修饰的。例如

class my_class(object):value_list=[1,2]class1=my_class()print(my_class.value_list)
print(class1.value_list)
print(id(my_class.value_list))
print(id(class1.value_list))

通过上面的测试可以看出,定义的类my_class()中的数据成员为类成员可以通过类名和对象名调用,其中两种访问方式访问同一块内存区域的数据。
注意:对于类成员我们要通过类名来访问,通过对象访问只是为了测试

class my_class(object):value_list=[1,2]class1=my_class()
class1.value_list=['i']print(my_class.value_list)
print(class1.value_list)
print(id(my_class.value_list))
print(id(class1.value_list))

经过对象class1通过赋值语句重新定义value_list变量后,对象class1中访问的value_list与类数据成员则保存在不同的内存区域中。这也是给对象动态定义数据成员的效果。

对象数据成员

通过初始化函数,经过self修饰的数据成员是与对象绑定的。每个对象都会分配自己的内存区域。

class my_class(object):value_list=[1,2]def __init__(self):self.value=[]class1=my_class()
class2=my_class()
class1.value=['i']
class2.value=[1,2]print(class1.value)
print(class2.value)
print(id(class1.value))
print(id(class2.value))

value数据成员是属于每个对象的,在类的初始化过程或者后续引用中修改,不会产生相互的干扰。
类的数据成员可以在对象初始化后动态添加,不是必须在类模板中声明。
猜想:对象定义与类数据成员同名的变量时,会给对象定义一个self修饰的对象数据成员
声明:由于个人知识局限,所写的内容会存在错误,欢迎大家指出其中的问题,谢谢

python类中定义数据-类数据成员与对象数据成员相关推荐

  1. python 类中定义类_Python中的动态类定义

    python 类中定义类 Here's a neat Python trick you might just find useful one day. Let's look at how you ca ...

  2. python 类中定义列表_Python-从类定义中的列表理解访问类变量

    小编典典 类范围和列表,集合或字典的理解以及生成器表达式不混合. 为什么:或者,官方用词 在Python 3中,为列表理解赋予了它们自己的适当范围(本地名称空间),以防止其局部变量渗入周围的范围内(即 ...

  3. python 类中定义列表_Python3中的自定义列表类,具有

    我想用python3编写一个自定义列表类,就像在这个问题How would I create a custom list class in python?中一样,但与该问题不同,我想实现__get__ ...

  4. python类中没有属性_Python属性错误类型对象没有属性

    我正在为学校的一个项目写一些代码.我正在阅读一个列表,我已经创建了一个文本文件,有5个属性.这是我的类对象代码:class studentclass(object): def __init__(sel ...

  5. 在python中定义类时、运算符重载_自定义 Python 类中的运算符和函数重载(上)...

    如果你对 Python 中的str对象使用过 + 或 * 运算符,你一定注意到了它的操作与 int 或 float 类型的区别: 你可能想知道同一内置运算符或函数如何对不同类对象进行不同操作的.这分别 ...

  6. python中mod运算符_自定义 Python 类中的运算符和函数重载(上)

    Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 如果你对 Python 中的str对象使用过 + 或 * 运算符,你一定注意到了它的操作与 int 或 f ...

  7. python类中包含一个特殊的变量、它可以访问类的成员_Python 类的特殊成员介绍...

    类的成员有两种形式 公有成员,在任何地方都能访问 私有成员,只有在类的内部才能方法,私有成员命名时,前两个字符是下划线. class Foo: def __init__(self, name, age ...

  8. python中类的定义_python 类中定义类

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 现有自定义类(color.py)如下,类位于路径'userschuxingpyt ...

  9. python类中私有成员和方法的访问

    1.私有成员的访问 python类中的私有成员和方法内的私有成员(在python中以__开头的变量),在类外只能通过类中定义的方法来进行访问,或者用一种特殊的方式a._A__value(a是对象,A是 ...

最新文章

  1. jgit查询远程仓库_JAVA 使用jgit管理git仓库
  2. jquery 选项卡插件
  3. 【SQL】在SQL Server中多表关联查询问题
  4. 信号分解:双正交、完备性、对偶向量
  5. vs2017生成sqlserver 2017项目出现.Net SqlClient Data Provider: Msg 10343
  6. python单向链表和双向链表的图示代码说明
  7. python程序打包为exe可执行文件
  8. Ubuntu14.04 VSCode工程在root下无运行,在非root无法修改配置文件
  9. Node.js:清理项目中的依赖
  10. 十个Java基础面试题(附答案)
  11. android:图片裁剪
  12. Docker Yearning + Inception SQL审核平台搭建
  13. html 获取当前url,js获取当前页面url信息的方法
  14. 安卓手机阅读器_得到电纸书阅读器到底如何,值不值得买?使用一个月后,我告诉你答案!...
  15. MATLAB连接MYSQL搞数据
  16. 必应壁纸爬取 def
  17. 凯云水利水电工程造价管理系统 技术解析(四)取费管理(一)
  18. 剑魂之刃服务器维护,《剑魂之刃》今日安卓版本更新服务器维护公告
  19. pytorch中的数据加载(dataset基类,以及pytorch自带数据集)
  20. 如何提问,提问技巧,如何有效的获取问题的答案

热门文章

  1. 2019小米java面试题,2020年小米java面试题分享
  2. FFMpeg AVFrame 的概念.
  3. 当下主流浏览器IE6、IE7 、IE8、Firefox、Chrome、Safari、Opera
  4. 基于深度混合核极限学习机的多变量输入时间序列预测
  5. Matlab柱状图填充线条【研究一天终于弄明白了】
  6. 超级账本项目由linux基金会发起并管理,百度金融加入Hyperledger超级账本项目,成为核心成员...
  7. Java储蓄账户类及测试类,模拟存款
  8. dbfs和dbm的换算_【清晰易懂】dBFS、dBm、dBV、dBW、0dB、-3dB概念解析
  9. Unity3d - 触摸屏幕手指控制物体移动(跟随手指移动)
  10. 如何使用U盘安装操作系统