python面向对象写法

如果定义的变量是不可变的 可以在init函数外面定义 如果是可变的 则需要定义在init函数中
这里面实例化的me和me2对象的age属性值均为[21] 是因为age变量定义的位置没在init函数里面 这时该变量无法作为类的变量使用
因为age的内存地址是相同的 所以age属性的值相同

将age变量定义在init函数里面得到的两个对象的age属性值不会出现污染现象

接下来看一段代码 查看变量的内存地址 id方法可以打印变量的内存地址 list数据类型值是可变的 但是他们指向同一内存单元 list数据类型值发生变化了
但是都指向同一内存地址

接下来测试一下字符串的内存地址

类的私有属性定义 以及外部使用的方法 私有属性通过_+变量名定义 是python语言中的一种约定 外部访问时使用实例化对象.+类名+私有属性名访问(python生成私有属性时内部机制)

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

python当中的相当于php的魔力函数功能 doc 只输出第一个定义的字符串的文档内容 有多个也只输出第一个
name通常用于测试程序的入口文件 输出当前的函数名 类名 或者 主文件名即main

dict魔力函数打印类的属性

字典数据类型

网友评论