上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要: 不要子类化内置类型 python2.2之前,内置类型不能子类化 python2.2之后可以子类化,但是内置类型的方法无法调用其子类覆盖的方法 如下例子,内置类型dict的__init__和__update__方法会忽略子类覆盖的__setitem__方法 因此,不要直接子类化内置类型,内置类型的方法 阅读全文
posted @ 2022-03-14 19:33 肖肖凯 阅读(76) 评论(0) 推荐(0)
摘要: 接口与协议定义 接口 类实现或继承的公开属性,包括特殊方法,都是类的接口。即可以为外界所知的都是接口。受保护的属性和私有属性不是接口,虽然在python中并没有真正的受保护属性和私有属性。接口有两类,一类是正式的,即抽象基类。一类是非正式的,即协议。 协议 协议也是接口,但不是正式的,协议只由文档了 阅读全文
posted @ 2022-03-14 16:29 肖肖凯 阅读(374) 评论(0) 推荐(0)
摘要: __hash__ 要让对象可散列,就要实现其__hash__方法,常用方案是将对象中各个分量的散列值异或,构成整个向量对象的散列值。 其中reduce是归约函数,其有三个参数,第一个是有两个操作数的函数,第二个是可迭代对象,第三个是可迭代对象为空时返回的默认值。 operator模块以函数的形式提供 阅读全文
posted @ 2022-03-14 15:45 肖肖凯 阅读(77) 评论(0) 推荐(0)
摘要: python中属性查找流程 对于my_obj.x表达式,首先检查my_obj实例中有没有名为x的实例属性 如果上一步没找到,检查对应的类中有没有名为x的类属性,因为类属性可以作为实例属性的默认值 如果上一步没找到,沿着继承树继续查找...... 如果仍找不到,则会调用__getattr__方法。 _ 阅读全文
posted @ 2022-03-14 11:48 肖肖凯 阅读(79) 评论(0) 推荐(0)
摘要: python协议 在python中创建功能完善的序列类型无需使用继承,只需实现符合序列协议的方法。 在面向对象编程中,协议是非正式的接口。非正式是指跟抽象基类不一样,协议只在文档中定义,不在代码中定义。 python中,只要实现了__len__和__getitem__两个特殊方法,则可认为该类是序列 阅读全文
posted @ 2022-03-14 10:40 肖肖凯 阅读(20) 评论(0) 推荐(0)
摘要: 定义__slots__类属性 默认情况下,python中每个实例都用一个字典__dict__来存储所有的实例属性,但是由于字典底层是哈希表,是一种空间换时间的策略,如果程序中有非常多的实例,则内存消耗巨大。解决访问是使用__slots__类属性。 __slots__的原理是让解释器以元组的形式存储实 阅读全文
posted @ 2022-03-13 22:02 肖肖凯 阅读(51) 评论(0) 推荐(0)
摘要: python中property装饰器用于将一个方法变成一个相同名称的只读属性。 如下例子中,由于__x和__y是私有属性,不能直接访问。于是用property装饰器来修饰两个相同名称的方法,保持了python的一致性。可以直接用self.x和self.y来访问。 阅读全文
posted @ 2022-03-13 21:28 肖肖凯 阅读(50) 评论(0) 推荐(0)
摘要: python中类方法和静态方法都是用装饰器来定义。 classmethod装饰器定义类方法,classmethod修饰的方法的第一个参数一定是类本身,一般命名为cls,但实际上可以随意取名。常见用途是创建备选构造方法。 staticmethod定义静态方法,静态方法就是写在类里,由类名调用的普通函数 阅读全文
posted @ 2022-03-13 21:12 肖肖凯 阅读(41) 评论(0) 推荐(0)
摘要: 对象表示形式即用字符串形式来表示一个对象,每种面向对象语言都至少有一种获取对象的字符串表示形式的方式,python中获取字符串表示形式的方法如下: repr()。以便于开发者理解的形式返回对象的字符串表示形式。底层是__repr__。 str()。以便于用户理解的形式返回字符串表示形式。底层是__s 阅读全文
posted @ 2022-03-13 21:07 肖肖凯 阅读(85) 评论(0) 推荐(0)
摘要: del命令与垃圾回收 del命令只会删除对象的引用,但是不会删除对象。但是删除引用有可能导致对象被删除。 python对象被删除有两种情况: 某个对象的引用计数为零 一组对象之间全是相互引用,导致组中对象不可取 两种情况可以归为一种,如果某个对象不可获取了,那么将会被当作垃圾回收。 尽量不要自己实现 阅读全文
posted @ 2022-03-13 20:15 肖肖凯 阅读(65) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页