我有这样的功能:
def test(*args):
if 'test1' in args:
print('Test1')
if 'test2' in args:
print('Test2')
if 'test3' in args:
print('Test3')
现在,我的问题是:我有一些变量(比如a, b, c
),我想检查一些活动的变量(或某些东西),然后调用我的函数。
例如:如果a
为True
,则请致电test('test1')
。但如果b
和c
为True
,请致电test('test2', 'test3')
。如果a
和c
为True
。致电test('test1', 'test3')
。
但我不知道怎么能这样做,我只能这样做:
if a:
test('test1')
if b:
test('test1', 'test2')
if c:
test('test1', 'test2', 'test3')
if b:
test('test2')
and some more code like these.
我认为有一种简单的方法可以做到这一点。
答案 0 :(得分:2)
请查看这是否是您想要的:
a = True
b = True
c = False
args = []
if a: args.append('test1')
if b: args.append('test2')
if c: args.append('test3')
test(*args)
答案 1 :(得分:1)
from itertools import takewhile
test(*takewhile(bool, (a, b, c)))