首页 > 编程语言 > 详细

python学习之__doc__,__module__,__class__,__del__,__call__,__iter__,__next__

时间:2020-04-25 12:11:59      阅读:53      评论:0      收藏:0      [点我收藏+]

__doc__
class Foo:
‘我是描述信息‘
pass

class Bar(Foo):
pass
# print(Bar.__doc__) #该属性无法继承给子类

# print(Bar.__doc__) #该属性无法继承给子类


__module__ __class__
from lib.aa import C


c1=C()
print(c1.name)

print(c1.__module__)
print(c1.__class__)

__del__
class Foo:
def __init__(self,name):
self.name=name
def __del__(self):
print(‘我执行啦‘)

f1=Foo(‘alex‘)

# del f1 #删除实例会触发__del__
del f1.name #删除实例的属性不会触发__del__
print(‘--------------------->‘)

#程序运行完毕会自动回收内存,触发__del__

__call__

class Foo:
def __call__(self, *args, **kwargs):
print(‘实例执行啦 obj()‘)

f1=Foo()

f1() #f1的类Foo 下的__call__

Foo() #Foo的类 xxx下的__call__

 

__iter__,__next__

class Foo:
def __init__(self,n):
self.n=n
def __iter__(self):
return self

def __next__(self):
if self.n == 13:
raise StopIteration(‘终止了‘)
self.n+=1
return self.n

# l=list(‘hello‘)
# for i in l:
# print(i)
f1=Foo(10)
# print(f1.__next__())
# print(f1.__next__())
# print(f1.__next__())
# print(f1.__next__())

for i in f1: # obj=iter(f1)------------>f1.__iter__()
print(i) #obj.__next_()

python学习之__doc__,__module__,__class__,__del__,__call__,__iter__,__next__

原文:https://www.cnblogs.com/jinpingzhao/p/12772067.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!