【发布时间】:2011-06-01 15:50:56
【问题描述】:
我正在教授一个关于面向对象编程的 Python 课程,并且在我复习如何解释类时,我看到了一个空的类定义:
class Employee:
pass
然后该示例继续为此类的对象定义名称和其他属性:
john = Employee()
john.full_name = "john doe"
有趣!
我想知道是否有办法为这样的类的实例动态定义函数?类似:
john.greet() = print 'Hello, World!'
这在我的 Python 解释器中不起作用,但还有其他方法吗?
【问题讨论】:
-
可能吗?是的。一个好主意?很少(当然,除了一些元编程之外)。
-
我见过的最短的空类定义是从gossamer-threads.com/lists/python/python/832915#832915:
Employee=type('Employee',(),{}),然后是john=Employee()等
标签: python oop empty-class