随笔分类 - 编程语言
摘要:python 中nonloal 关键字用来在函数或其他作用域中使用外层变量(非全局),也可使用global需要在函数外部
阅读全文
摘要:当对两个点的实例进行值的比较时,比如p1=Point(1,1) p2=Point(1,2),判断p1==p2时__eq__()会被调用,用以判断两个实例是否相等。在上述代码中定义了只要x和y的坐标相同,两个点相等。需要注意,__eq__()对is不生效,==是比较的值,而is比较的是引用,也就是内存
阅读全文
摘要:append 添加的是一个对象 extend 添加的是序列与原序列合并
阅读全文
摘要:在工作学习中会碰到一些python中变量与内存层面的问题理解,虽然是在不断的解决,但是并没有做过这方面的总结。 变量:用来标识(identify)一块内存区域。为了方便表示内存,我们操作变量实质上是在操作变量指向的那块内存单元。编译器负责分配。我们可以使用Python内建函数id()来获取变量的地址
阅读全文
摘要:python 元组解包unpacking,同一语句中多重赋值 cpython 认为几种变量的交换是比较常见的,提供了专门的优化指令,像【-5,256】预先放到了整数池中一样,
阅读全文
摘要:一直在用这些东西,但是又从来没有总结过,正好今日想起来就总结一下这些东西 @staticmethod 静态方法,名义上归属类管理,不能使用类变量和实例变量,类的工具包放在函数前,不能访问类属性和实例属性,无须实例化,不传入cls,self @classmethod 函数不需要实例化,不需要self参
阅读全文
摘要:python 中的集合可以去重是实现了__hash__与__eq__ 当class没有定义__eq__()方法时,那么它也不应该定义__hash__()方法。如果它定义了__eq__()方法,却没有定义__hash__()方法,那么这个类的实例就不能在可哈希集合使用。如果一个类定义了一个可变对象(这
阅读全文
摘要:securityMiddleware 请求/响应 循环提供安全改进 sessionMiddleware 会话支持 commonMiddleware 重写url csrfViewMiddleware 添加跨站点请求伪造的保护 authenticationMiddleware 向每个接收到的user对象
阅读全文
摘要:之前在学习与工作中或多或少都遇到关于python内存管理的问题,现在将其梳理一下。 python内存管理机制 第0层 操作系统提供的内存管理接口 c实现 第1层 基于第0层操作系统内存管理接口包装而成,目的是为python提供一层统一raw memory的接口 第2层 第1层所提供的内存管理接口其功
阅读全文