假设我有一个MyClass类,它具有使用@property装饰器创建的属性,如下所示:
class MyClass(object):
@property
def foo(self):
if whatever:
return True
else:
return False
假设我想使用python inspect模块来获取定义属性的源代码。我知道如何为方法(inspect.getsource)执行此操作,但我不知道如何为属性对象执行此操作。有谁知道怎么做?
答案 0 :(得分:3)
通过属性的g = df.groupby(['one', 'two'])['three']
df['max'] = g.transform('max')
df['shifted'] = g.shift()
print (df)
one three two max shifted
0 a 1 c 3 NaN
1 a 2 c 3 1.0
2 a 3 c 3 2.0
3 b 4 c 4 NaN
4 b 5 d 6 NaN
5 b 6 d 6 5.0
属性访问底层的getter函数:
if(env === 'prod') { // assuming you have env variable configured
window.console.log = function(){};
}
如果它有设置者或删除者,您可以通过fget
和print(inspect.getsource(MyClass.foo.fget))
访问这些设置者:
fset