【发布时间】:2018-05-11 08:17:34
【问题描述】:
我有一个函数foo,它接受一个参数stuff
东西可以是数据库中的东西,我想创建一个函数,它接受stuff_id,从数据库中获取stuff,执行foo。
这是我解决它的尝试:
1/ 创建第二个后缀为from_stuff_id的函数
def foo(stuff):
do something
def foo_from_stuff_id(stuff_id):
stuff = get_stuff(stuff_id)
foo(stuff)
2/修改第一个函数
def foo(stuff=None, stuff_id=None):
if stuff_id:
stuff = get_stuff(stuff_id)
do something
我不喜欢这两种方式。 最pythonic的方法是什么?
【问题讨论】:
-
您能否提供更多有关您正在尝试做的事情以及您看到的问题的背景信息?
-
我有一个包含许多路由的 Flask API。每个路由总是相同的,它从路由中使用的参数中获取一个 stuff_id,然后执行一个带有参数 stuff_id 的函数。当我想测试我的函数时,问题是它使用 id 而不是 stuff 对象,所以我想将获取 stuff 对象的逻辑与在 stuff 上执行函数的逻辑分开。
标签: python python-3.x function design-patterns