#__module__ __class__
目前成都创新互联公司已为上千的企业提供了网站建设、域名、虚拟主机、网站托管、服务器租用、企业网站设计、浉河网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
Lib\aa.py
classC:
def__init__(self):
self.name='lwb'
当前目录
index.py
fromlib.aaimportC
obj=C()
print( obj.__module__)#输出类来自哪个模块 输出lib.aa ,即:输出模块
print(obj.__class__)#输出类本身名 输出类 lib.aa.C
#__dict__ __doc__ __str__
class Dog(object):
'''定义Dog类'''
def__init__(self,name):
self.name=name
self.__food=None#空变量
@property #方法转属性(函数转变量)
defeat(self):
print("%s is eating %s"%(self.name,self.__food))#先传一个空变量 self.__food
@eat.setter #修改
defeat(self,food):
print("set to food:",food)
self.__food=food#将food传入 空变量
@eat.deleter#删除
defeat(self):
delself.__food
print("删完了")
def__call__(self,*args,**kwargs):
print("runing call",args,kwargs)
def__str__(self):
return"<obj:%s>"%self.name
d=Dog("chenronghua")
d()#加了括号不能引用 调用的是__call__方法
d(1,2,3,name1="lei")#调用的是__call__方法,还可以传入参数字典
Dog("chenronghua")()
#查看属性
Print(Dog.__doc__)#输出类的描述信息
print(Dog.__dict__)#__dict__ 打印类里的所有属性,不包括实例属性
print(d.__dict__)#__dict__ 打印所有实例属性,不包括类属性
print(d)#本来打印d这个对象的内存地址 定义__str__ 之后 ,就以__str__下的特定显示方式显示,不在显示内存地址,比如让他显示对象里面特定的属性
#__getitem__ __setitem__ __delitem__
classFoo(object):
def__init__(self):
self.data={} #初始化成字典
def__getitem__(self, key):
print('__getitem__', key)
returnself.data.get(key)
def__setitem__(self, key, value):
print('__setitem__', key, value)
self.data[key]=value#实例变成字典
def__delitem__(self, key):
print('__delitem__', key)
obj=Foo()
obj["name"]="alex"#运行__setitem__
print(obj.data)#运行__setitem__ self.data[key]=value 生成字典
print(obj["name"])#运行__getitem__ 并打印返回name的value 值
delobj["name"]#运行__delitem__ 并不是真正删除name key
当前题目:面向对象_doc_module_class_dict_str_get_set_delitem
文章分享:https://www.cdcxhl.com/article44/pocgee.html
成都网站建设公司_创新互联,为您提供网站导航、ChatGPT、静态网站、动态网站、网站改版、小程序开发
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联