字符串的不可变性 类的私有属性、特殊属性 字典数据类型

python面向对象写法

字符串的不可变性 类的私有属性、特殊属性 字典数据类型_第1张图片
QQ截图20171224192018.png

如果定义的变量是不可变的 可以在init函数外面定义 如果是可变的 则需要定义在init函数中
这里面实例化的me和me2对象的age属性值均为[21] 是因为age变量定义的位置没在init函数里面 这时该变量无法作为类的变量使用
因为age的内存地址是相同的 所以age属性的值相同
字符串的不可变性 类的私有属性、特殊属性 字典数据类型_第2张图片
QQ截图20171224192057.png

将age变量定义在init函数里面得到的两个对象的age属性值不会出现污染现象
字符串的不可变性 类的私有属性、特殊属性 字典数据类型_第3张图片
QQ截图20171224192149.png

接下来看一段代码 查看变量的内存地址 id方法可以打印变量的内存地址 list数据类型值是可变的 但是他们指向同一内存单元 list数据类型值发生变化了
但是都指向同一内存地址
字符串的不可变性 类的私有属性、特殊属性 字典数据类型_第4张图片
QQ截图20171224192255.png

接下来测试一下字符串的内存地址
字符串的不可变性 类的私有属性、特殊属性 字典数据类型_第5张图片
QQ截图20171224192337.png

类的私有属性定义 以及外部使用的方法 私有属性通过_ +变量名定义 是python语言中的一种约定 外部访问时使用实例化对象.+类名+私有属性名访问(python生成私有属性时内部机制)
字符串的不可变性 类的私有属性、特殊属性 字典数据类型_第6张图片
QQ截图20171224192417.png

占位符 空语句 pass关键字 在定义一个类时 不想在初始化时候定义属性 想在运行时处理 这时必须定义一个类时使用 不写pass占位符空语句语法报错
QQ截图20171224192447.png

python当中的相当于php的魔力函数功能 doc 只输出第一个定义的字符串的文档内容 有多个也只输出第一个
name通常用于测试程序的入口文件 输出当前的函数名 类名 或者 主文件名即 main
字符串的不可变性 类的私有属性、特殊属性 字典数据类型_第7张图片
QQ截图20171224192525.png

dict魔力函数打印类的属性
字符串的不可变性 类的私有属性、特殊属性 字典数据类型_第8张图片
QQ截图20171224192556.png

字典数据类型
字符串的不可变性 类的私有属性、特殊属性 字典数据类型_第9张图片
QQ截图20171224192617.png

你可能感兴趣的:(字符串的不可变性 类的私有属性、特殊属性 字典数据类型)