2013-12-13 2 views
0

Например:Что представляет собой наиболее сжатый способ передачи переменных в python string.format?

def print_template(a,b): 
    c="the c" 
    template="{a} {b} {c}" 
    print template.format(a=a,b=b,c=c) 

он работает, но список параметров функции форматирования немного многословным. все равно, чтобы сделать его более кратким? возможно, передав все локальные переменные функции формата?

+0

локальные переменные могут включать в себя другие объекты, функции и прочее. Вы уверены, что хотите распечатать всех местных жителей? – aIKid

ответ

1

Вы можете передать локальные переменные, если вы хотите:

def print_template(a,b): 
    c="the c" 
    template="{a} {b} {c}" 
    print template.format(**vars()) 

Демо:

>>> print_template(1,2) 
1 2 the c 
+0

Спасибо, alko, он отлично работает – yigal

Смежные вопросы