python编程学习进度十
Posted fl军哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python编程学习进度十相关的知识,希望对你有一定的参考价值。
今天学习了python中一些关于类代码编写的知识,以及其中的一些细节:
总结:
1、类其实也是一种对象。
在类定义外创建的函数也可以成为方法
>>>def upperName(self): ... return self.name.upper() >>>rec.method = upperName
细节:
1、和def一样,class也是可执行代码,运行时才会产生类对象。调用超类的构造器是可以的,在子类的构造方法中使用Super.__init__()即可。抽象超类有的方法没有提供实现,而是由子类提供。类的运算符重载通过修改诸如__add__(对应于+)等方法来实现。具体细节请参考原书。下面是一个修改__iter__获得用户定义的迭代器的例子:
class Squares: def __init__(self,start,stop): self.value = start - 1 self.stop = stop def __iter__(self): return self def next(self): if self.value == self.stop: raise StopIteration self.value += 1 return self.value ** 2 %python >>>from iters import Squares >>>for i in Squares(1,5): ... print i, ... 1 4 9 16 25
2、右侧方法如__radd__中,self在右侧,和__add__相反。
__call__可以拦截调用,用使用函数的方法使用类。对改写了__call__的类prod,实例化x = prod(2),x(3)可以直接使用。
__del__是析构器,但在Python中很少使用析构方法。命名空间其实是普通的字典。
以上是关于python编程学习进度十的主要内容,如果未能解决你的问题,请参考以下文章