python中实现定制类的特殊方法总结
看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。除此之外,Python的class中还有许多这样有特殊用途的函数,可以帮助我们定制类。总之,通过上面的方法,我们自己定义的类表现得和Python自带的list、tuple、dict没什么区别,这完全归功于动态语言的“鸭子类型”,不需要强制继承某个接口。正常情况下,当我们调用类的方法或属性时,如果不存在,就会报错。比如定义Student类:要避免这个错误,除了可以加上一个score属性外,Python还有另一个机制,那就是写一个__getattr__()方法,动态返回一个属性。作用就是,可以针对完全动态的情况作调用。在Python中,答案是肯定的。
下载地址
用户评论