【发布时间】:2015-03-29 20:32:35
【问题描述】:
是否有可能有一个函数不仅表现得像 @staticmethod 包装的函数,而且像任何其他类函数一样,如果通过实例调用函数,则可以传递来自实例的数据?
示例:
class Amazing(object):
@static_and_class
def func(x):
return type(x)
apple = Amazing()
>>> print(apple.func())
>>> <class 'Amazing'>
>>> print(Amazing.func(2))
>>> <class 'int'>
这是系统的一个基本示例。基本上,我想要的是一种尽可能传递实例数据等信息的方法,但如果数据不存在,该函数将采用必要的变量来执行其程序。
感谢任何可以解决这个问题的人!
【问题讨论】:
-
这个没有内置函数,但是你可以很容易地写出这样的装饰器。
标签: python function class static-methods instances