python - 如果可调用,内置函数获取对象的值?

标签 python callable

class Thing():
    xyz = "I'm a string"

class Truc():
    def xyz(self):
        return "I'm a function"

def valueOrCalledValue(input):
    if callable(input):
        return input()
    else:
        return input

thing = Thing()
print valueOrCalledValue(thing.xyx)

>>> "I'm a string"

truc = Truc()
print valueOrCalledValue(truc.xyz)

>>> "I'm a function"

是否有一个内置函数可以完成我的 valueOrCalledValue 的功能?

最佳答案

尝试 properties使用装饰器使其整洁。

关于python - 如果可调用,内置函数获取对象的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4758406/

相关文章:

python - Odoo - 将空值写入数字列

python - 名称错误 : Factory name not defined - Kivy

Python:使用列表列表进行列表理解

java - 如何在1.8中使用可调用的futuretask完全杀死正在执行的任务

python - 使类在同一实例中可调用

python - 从使用 librosa.feature.mfcc 生成的 MFCC 获取计时信息

python - 绘制数据帧引发序数值错误必须 >= 1

java - 检测超时的 Callable 实例

java - 多线程 Java 仅使用一个线程

java - java中如何处理抛出检查异常的方法