说一下自己理解的

    xiaoxiao2023-10-13  140

    __new__() 在__init__()之前使用,__new__()决定__init__()如何去进行类属性的定义以及对于类属性的一些变动!

    举个很简单的例子,就比如你能自定义自己生的孩子的属性!你自己能自定义的这个操作就是__new__()

    定义出来的孩子的样子属性就是__init__()

    (ps:我理解了好久呢,终于在今天理解成功了,知道了什么意思)

    class Test(object): def __new__(cls,name): if isinstance(name,str): return object.__new__(cls) else: print( "类型错误!") def __init__(self,name): self.name = name if __name__ == '__main__': c = Test("str")

    讲解:

    __new__ ()之前是对name进行了数据的检查,检查name是否是str类型,如果是,则将name进行赋值给类属性.如果不是则进行了输出!

    同理,也可以对其它的进行这样子设置。

    (ps:我又水了一期。。。)

    最新回复(0)