如何通过Python的type和metaclass动态构建类的方法与属性?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2756个文字,预计阅读时间需要12分钟。
1. `type()` 我们知道,动态语言和静态语言最大的不同在于,函数和类的定义不是在编译时确定的,而是在运行时动态创建的。例如,定义一个 `Person` 类:`class Person (object): def name`
1. type()
我们知道动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。
比方说我们要定义一个Person的class:
class Person(object):def name(self, name='Kaven'):
print('My name is: %s.' % name)
p = Person()
p.name()
print(type(Person))
print(type(p))
输出:
My name is: Kaven.<class 'type'>
<class '__main__.Person'>
我们说class的定义是运行时动态创建的,而创建class的方法就是使用type()函数。
本文共计2756个文字,预计阅读时间需要12分钟。
1. `type()` 我们知道,动态语言和静态语言最大的不同在于,函数和类的定义不是在编译时确定的,而是在运行时动态创建的。例如,定义一个 `Person` 类:`class Person (object): def name`
1. type()
我们知道动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。
比方说我们要定义一个Person的class:
class Person(object):def name(self, name='Kaven'):
print('My name is: %s.' % name)
p = Person()
p.name()
print(type(Person))
print(type(p))
输出:
My name is: Kaven.<class 'type'>
<class '__main__.Person'>
我们说class的定义是运行时动态创建的,而创建class的方法就是使用type()函数。

