目前我专注于编写代码的pythonic方式,我遇到了两种情况,我想知道什么是最好的。
首先是方法重载的情况,这在python中是不可用的。我如何才能最好地解决我有一个从数据库中获取数据的函数的情况,但是根据参数是整数或整数列表,查询会有所不同。例如:
def getData(ids):
if type(ids) == int:
# query the database in an efficient manner for a single ID
elif type(ids) is list:
# query the database in a different manner efficiently for multiple ID's
# also return the data differently
我是否可以在单个函数中完成所有工作,还是使用从上述函数调用的不同函数来完成工作?或者我只需要明确地调用一个不同的函数,具体取决于我是否有一个ID列表或只有一个ID?你认为最好的是什么?
答案 0 :(得分:1)
使用isinstance
:
import collections
def getData(ids):
if isinstance(ids, collections.Iterable):
# query the database efficiently for multiple ID's
else:
# query the database in an efficient manner for a single ID