2014-09-16 3 views
-1

У меня есть следующий код:команда печати, команда «импорт», определение переменных

def xyz(a): 
     return 2*a 
    def abc(b): 
     return 4*b 
    print "a is :: "+xyz(1)"b is :: "+abc(2) 

, и я хочу, чтобы мой выход, чтобы быть, как это - a is :: 2 b is :: 8. (то есть и в одной строке).

+2

Вам нужно оставить свой вопрос ** ** ** вопрос за сообщение, пожалуйста. –

+0

Код, который вы описываете, на самом деле не похож на код, который вы показываете, поэтому довольно сложно точно сказать, что вы делаете. , , – mgilson

+0

@mgilson: Они задают два отдельных вопроса; Я попытался изменить это в форме, прежде чем осознавать это. –

ответ

1

1)

print "a is :: %(xyz)s b is :: %(abc)s" % {'xyz':xyz(1), 'abc':abc(2)} 

2) Как и в замечании @MartijnPieters вы хотите сделать круговой импорт, что вы должны избегать. Я даю ссылку, чтобы не делать копию perfect topic about circular imports

+0

Гораздо лучше уже. Однако ваша точка 2 не будет работать; OP хочет импортировать имена обратно из 'main'. Это требует объяснения об пространствах имен и опасности кругового импорта. –

+0

@Vizjerei a, b, c - переменные типа float. Я уже дал им некоторую ценность в main.py, и теперь я хочу использовать эти значения для тех же переменных в xyz.py. Когда я использовал ваш метод, у меня возникла ошибка «неподдерживаемый тип операндов:« NoneType »и« int ». – tobiuchiha

+0

@MartijnPieters сделал изменение – Vizjerei

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