【发布时间】:2020-03-10 11:20:12
【问题描述】:
我有一个函数应该根据传入的参数类型进行操作,简单说明:
def operate_according_to_type(argument_passed):
if type(argument_passed) == str:
do string stuff
elif type(argument_passed) == dict:
do dict stuff
elif type(argument_passed) == function:
argument_passed()
def my_function(): pass
operate_according_to_type("Hello world")
operate_according_to_type({"foo": "bar"})
operate_according_to_type(my_function)
现在虽然type("Hello world")、type({"foo": "bar"}) 和 type(my_function) 将分别返回 <class 'str'>、<class 'dict'> 和 <class 'function'>,但我似乎无法与 function 相比,就像我与 str 相比,这个词甚至没有“保留”。
我应该如何进行?我应该继续进行吗?还是这只是很危险?
【问题讨论】:
标签: python python-3.x types comparison