我花了一些时间来弄清楚这一点,所以我发布了这个问答;A.假设您有一个函数def my_func(group)
,它接受一个参数组,该组将在下一个函数中用作位置参数:def set_permission(group_user=None, group_admin=None)
。因此:
group = 'group_user'
my_func(group):
if group == 'group_user':
set_permission(group_user='write')
if group == 'group_admin':
set_permission(group_admin='write')
但是如果group
可以是20个组合呢?
Django的更多"真实"案例:
from models import User, Project
import mommy
def create_instance_of_repetable_model(model, model_field):
if model == User:
mommy.make(User, user_perm='write')
if model == Project:
mommy.make(Project, project_perm='write')
if model == Project
在官方python文档中找到:
group = 'group_user'
def my_func(group):
set_permission(**{group: 'write'}) # it works like set_permission(group_user='write')
print_permission(group)
my_func(group) # prints -> 'group_user': 'write'
group = 'group_admin'
my_func(group) # prints -> 'group_admin': 'write'
和"现实生活">
from models import User, Project
import mommy
def create_instance_of_repetable_model(model, model_field):
mommy.make(model, **{model_field: 'write'})