var ga = 0;
var gaTop = null;
functionTest = function(callback) {
$('html').on("mousewheel DOMMouseScroll", function(e) {
var delta = (e.originalEvent.wheelDelta || -e.originalEvent.detail);
if (delta < 0) {
gaTop = -100;
}
else if (delta > 0) {
gaTop = 100;
}
console.log(gaTop);
callback(gaTop);
});
}
functionTest(function(e) {
console.log(gaTop);
});
正如你可以看到上面的代码,当我输入print Foo()。think.different时,输出将是&#34;认为不同&#34;。但问题是我应该使用魔法来获得这个,我该怎么办?感谢。
答案 0 :(得分:0)
在类中定义装饰器似乎是一种不必要的复杂方法:
class Foo(object):
def think(self):
pass
setattr(think, "different", "think different")
print(Foo().think.different)
答案 1 :(得分:0)
您可能希望查看调用未定义属性时调用的__getattr__()
。或者使用为所有属性调用的__getattribute__()
..当调用required属性时,让它返回方法。这是我认为你需要的东西
class A(object):
def __init__(self):
pass
def printer(self,input):
print(input)
def __getattr__(self,atr):
if atr == 'methd':
return self.printer
小心使用__getattribute__()
如果您使用self.attribute
内的__getattribute__()