摘要: python的垃圾回收机制是以引用计数为主,加上标记-清除,分代收集等辅助方式组成的,如果想打开gc功能,需要 import gc 模块 ,然后 gc.enable() 就打开了这个功能,关闭是 gc.disable() . 查看一个对象的引用计数: sys.getrefcount() 总是会比实际 阅读全文
posted @ 2018-05-19 21:59 cccy0 阅读(1487) 评论(0) 推荐(0)
摘要: type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。 比方说我们要定义一个Hello的class,就写一个hello.py模块: 当Python解释器载入hello模块时,就会依次执行该模块的所有语句,执行结果就是动态创建出一个Hello的clas 阅读全文
posted @ 2018-05-19 16:05 cccy0 阅读(26) 评论(0) 推荐(0)
摘要: 类在创建对象时,会调用 __init__ 初始化一些东西 , 然后 如果类中定义了 __call__ 方法,可以直接用 对象() 这种方法调用,所以可以用类来装饰函数: 首先 @Test 就是 test = Test(test) 先创建了Test类的一个对象 这个时候 test 就不是指向函数了,而 阅读全文
posted @ 2018-05-19 15:04 cccy0 阅读(247) 评论(0) 推荐(0)
摘要: 实例在创建出来之后,可以动态的添加属性和方法, 那如果想要限制添加的实例属性,可以用一下 __slots__ 这个东西: 在添加 name, age 的时候都没有问题 ,在添加 addr 的时候,会限制添加,就算在 __init__ 里面添加也不行. 需要注意的是,对继承这个父类的子类没有任何作用. 阅读全文
posted @ 2018-05-19 13:47 cccy0 阅读(214) 评论(0) 推荐(0)
摘要: 给对象添加实例属性,可以直接这样 t.age = 18 ( 假设 t = Test() ) 给类添加类属性 , 也可以直接这样 Test.age = 18 那给对象添加实例方法,可以在类外面先定义一个函数 然后 用 types.MethodType() 方法 把 函数绑定到对象的一个属性上面: 这个 阅读全文
posted @ 2018-05-19 13:38 cccy0 阅读(298) 评论(0) 推荐(0)