MegaMU个人站

欢迎光临

落日黄沙 白帆秋水 你可知谁的记忆在时空里飞?


魔法属性和魔术方法

目录

__doc__

返回描述信息

class Test(object):
    """这是一个类"""
    def func(self):
        """这是一个方法"""
        pass
    
test = Test()

print(Test.__doc__)
print(test.func.__doc__)

__module__

返回正在操作的对象的所属模块

from test import Test
class Test(object):
    """这是一个类"""
    def func(self):
        """这是一个方法"""
        pass
    
test = Test()

print(Test.func.__module__)

__class__

返回当前操作的对象所属的类

class Test(object):
    """这是一个类"""
    def func(self):
        """这是一个方法"""
        pass
    
test = Test()

print(Test.__class__)

__init__

释放无用内存,初始化内存空间

class Test(object):
    
    def __init__(self,args):
        self.args = args
    
    
test = Test("666")

__del__

删除对象

class Test(object):
    def func(self):
        pass

test = Test()
del test

__call__

执行对象时执行此方法

class Test(object):
    
    def __call__(self):
       
        print("666")
    
test = Test()
test()

__dict__

返回类或对象的所有属性

对象的示例属性不是对象属性!

class Test(object):
	string = "2333"
    def __init__(self,*args,**kwargs):
        self.args = args
        self.kwargs = kwargs
    
test = Test("666","yyds",name="test")
# 这两个不一样!
print(test.__dict__)
print(Test.__dict__)

__str__

打印对象时执行此方法

class Test(object):
    
    def __str__(self):
        return 666
    

test = Test()
print(test)

__getitem____setitem____delitem_

class Test(object):
    # 获取数据
    def __getitem__(self,key):
        print("key = ",key)
    # 设置数据
    def __setitem__(self,key,value):
        print(key," = ",value)
    删除数据
    def __delitem__(self,key):
        print("del ",key)
        
test = Test()

key1_content = test['key1'] # 执行__getitem
test['key2'] = "666" # 执行__setitem__
del test['key1'] # 执行__delitem__

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦