温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

面向对象_doc_module_class_dict_str_get_set_delitem

发布时间:2020-06-16 21:19:43 阅读:296 作者:leiwenbin627 栏目:编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

#__module__ __class__

Lib\aa.py

class C:
    def __init__(self):
        self.name='lwb'

当前目录

index.py

from lib.aa import C
obj=C()
print( obj.__module__) #输出类来自哪个模块 输出lib.aa ,即:输出模块
print(obj.__class__) #输出类本身名 输出类 lib.aa.C

#__dict__ __doc__ __str__

class   Dog(object):

Print(Dog.__doc__) #输出类的描述信息
print(Dog.__dict__) #__dict__ 打印类里的所有属性,不包括实例属性
print(d.__dict__) #__dict__ 打印所有实例属性,不包括类属性

print(d) #本来打印d这个对象的内存地址 定义__str__ 之后 ,就以__str__下的特定显示方式显示,不在显示内存地址,比如让他显示对象里面特定的属性

#__getitem__ __setitem__ __delitem__
class Foo(object):
    def __init__(self):
        self.data={}  #初始化成字典
    def __getitem__(self, key):
        print('__getitem__', key)
        return self.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 值


del obj["name"] #运行__delitem__ 并不是真正删除name key

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×