首页 > 代码库 > python元类编程
python元类编程
什么叫元类? 年轻人先不要在意这些细节、我们一步一步的来!
001、
oop的世界里有一句话 “万物皆对象”
class Person(object): name=None if __name__=="__main__": i=123 s="hello world" p=Person() print(type(i)) #<class ‘int‘> print(type(s)) #<class ‘str‘> print(type(p)) #<class ‘__main__.Person‘> print(type(int)) #<class ‘type‘> print(type(str)) #<class ‘type‘> print(type(Person)) #<class ‘type‘>
我们来说一下上面代码的意思
1、前三句我们可以看出:i 是int 类的实例,s是str类的实例,p是Person类的实例;#我下面要说的话,可以让你感觉到不适
2、后三句我们可以看出:int,str,Person 这些类事实上它们都只是type类的一个实例!
002、
我真的没有逗你、type它真的是一个类呀!不信你help(type)看一下
class type(object) | type(object_or_name, bases, dict) | type(object) -> the object‘s type | type(name, bases, dict) -> a new type | | Methods defined here: | | __call__(self, /, *args, **kwargs) | Call self as a function. | | __delattr__(self, name, /) | Implement delattr(self, name). | | __dir__(...) | __dir__() -> list | specialized __dir__ implementation for types | | __getattribute__(self, name, /) | Return getattr(self, name). | | __init__(self, /, *args, **kwargs) | Initialize self. See help(type(self)) for accurate signature. | | __instancecheck__(...) | __instancecheck__() -> bool | check if an object is an instance | | __new__(*args, **kwargs) | Create and return a new object. See help(type) for accurate signature.
----
python元类编程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。