hongweipeng 发布的文章

Python内核阅读(十五): 类机制 (上)


起步

考虑如下的python代码:

class A(object):
    pass
a = A()

这其中包含了三个对象:object(class 对象), A(class 对象) 和 a(instance 对象). object 与 A之间存在父子关系(is-kind-of), 即A是object的子类. 而a和A之间的关系是实例的关系(is-instance-of). 从继承的关系上说, a也是object的实例.


Python内核阅读(十四): 函数闭包与修饰器


起步

一段代码的执行结果不光取决于代码中的符号, 更多地取决于代码中符号的语义, 运行时的语义由名字空间决定. 名字空间在运行时由Python虚拟机动态维护的, 但是有时候需要将名字空间静态化. 例如:

base = 1
def get_compare(base):
    def real_compare(value):
        return value > base
    return real_compare

compare_10 = get_compare(10)
print(compare_10(5))    # False
print(compare_10(20))   # True