关于类的特殊方法的小实验

Posted zwq-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于类的特殊方法的小实验相关的知识,希望对你有一定的参考价值。

class MyClass(object):
    def __call__(self, *args, **kwargs):
        print(66666)

    def __setattr__(self, key, value):
        print(setattr>>, key, value)

    def __getattr__(self, item):
        print(getattr>>, item)

    def __setitem__(self, key, value):
        print(setitem>>, key, value)

    def __getitem__(self, item):
        print(getitem>>, item, "item")


def func():
    return 123


a = MyClass()

a.name = "ZWQ"  # setattr>> name ZWQ
a.mynameissetattr  # getattr>> mynameissetattr
# 点操作,设置与获取调用的是__setattr__, __getatter__方法

a["name"] = "ZWQ" # setitem>> name ZWQ
a["my name is name"] #getitem>> my name is name item
# []是操作元素,调用__item__方法

 

以上是关于关于类的特殊方法的小实验的主要内容,如果未能解决你的问题,请参考以下文章

关于一段java程序的小问题,paint函数是啥时候执行的,没有调用啊

关于使用 apktool 从 apk 反转的特殊 smali 类的两个问题

关于理解python类的小题

Java简单实验--关于课后提到的java重载函数的简单分析

java中关于static的小知识

类的特殊成员方法