Python检查类型是否与特定类型匹配

时间:2018-10-31 20:07:40

标签: python-3.x

我试图找出分配给变量的对象的类型。

例如,如果我使用pynput

print type(key)

会给我一个

<enum 'key'>

如果我按alt,ctrl或Return键;而如果我按字母或数字,我会得到

pynput.keyboard.darwin.KeyCode

我该如何检查?我试图与==进行比较,但这没用

istypeof = type(key)
if istypeof =='key':
    print("is a key")
elif istypeof == "pynput.keyboard.darwin.KeyCode":
    print("is a letter/number")

编辑------------------------

如果您不习惯使用Pynput,我在这里添加了我所拥有函数的完整代码。

from pynput import keyboard

class recorder:

    def on_press(self, key):
        print(key)
        istypeof = type(key)
        if istypeof =='key':
            print("is a key")
        elif istypeof == "pynput.keyboard.darwin.KeyCode":
            print("is a letter/number")

    def on_release(self, key):
        print(key)


if __name__ == "__main__":
    testme = recorder()

    with key_listener(on_press=testme.on_press, on_release=testme.on_release) as listener:
        listener.join()

换句话说;我正在寻找“如何比较类型,因此,如果类型是int,字符串,枚举或任何其他可能在变量中的对象,这应该可以工作。一旦我了解了如何比较类型;我可以将相同的概念应用于其他类型。谢谢!

0 个答案:

没有答案