LINUX.ORG.RU

Параметр должен относится к изменяемым типам, из встроенных это списки и словари (мб в третьем еще что появилось?) Напр можнно передать список из одного элемента и этот элемент поменять.

Но вообще это лишнее и вредное - в питоне ф-я может возвращать кортеж из произвольного кол-ва аргументов, и именно так и надо делать. Напр

def f() : ... return x,y,z

x,y,z = f()

AIv ★★★★★
()

Массив сделай, если Си бесповоротно зохавал твой моск.

Если еще не бесповоротно, то просто верни из функции несколько значений.

tailgunner ★★★★★
()
Ответ на: комментарий от AIv

мне нужно функции вызывать таким образом:

if foo(par1) or bar(par2) or tar(par3):
	...
то есть foo(), bar(), tar() возвращают результат выполнения и в зависимости от него будут выполняться следующие функции. При этом каждая из них изменяет свой параметр. Если я буду возвращать кортеж, то функция всегда будет возвращать не None. А мне этого не надо.

DesertFox
() автор топика
Ответ на: комментарий от tailgunner

За списки («массивы») спасибо — работает.

DesertFox
() автор топика
Ответ на: комментарий от DesertFox

Напр

res, par1 = foo(par1) if not res : res, par2 = bar(par2) if not res : res, par3 = tar(par3) if res : ...

Это более Ъ, чем изменение аргумента

AIv ★★★★★
()
Ответ на: комментарий от AIv

Тьфу ты.

res, par1 = foo(par1)
if not res : res, par2 = bar(par2)
if not res : res, par3 = tar(par3)
if res : ...

AIv ★★★★★
()
Ответ на: комментарий от AIv

Спасибо. Сейчас как раз так и делаю, думал, что это, наоборот, не Ъ.

DesertFox
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.