Python----面向对象---自定义元类控制类的实例化行为

Posted xudachen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python----面向对象---自定义元类控制类的实例化行为相关的知识,希望对你有一定的参考价值。

一、知识储备

1、__call__方法

 1 class Foo:
 2     def __call__(self, *args, **kwargs):
 3         print(self)
 4         print(args)
 5         print(kwargs)
 6 
 7 obj = Foo()
 8 obj()
 9 
10 结果为:
11 
12 <__main__.Foo object at 0x000002AFE2B4BDA0>
13 ()
14 {}

实例化时传参

1 obj(1, 2, 3, a=1, b=2, c=3)
2 
3 结果为:
4 
5 <__main__.Foo object at 0x000001A1799CBDA0>
6 (1, 2, 3)
7 {a: 1, b: 2, c: 3}

 

以上是关于Python----面向对象---自定义元类控制类的实例化行为的主要内容,如果未能解决你的问题,请参考以下文章

python 面向对象编程 之 元类

面向对象,元类,控制类,对象的创建

元类(metaclass)

(转)元类metaclass

面向对象--元类

Python之元类详解