Найти - Пользователи
Полная версия: Обработать все аргументы функции
Начало » Python для новичков » Обработать все аргументы функции
1 2
doza_and
Так они никуда не делись, обращайтесь по именам.
asilyator
Мне надо перевести их в строку и потом обращаться к ним по именам без тупого a=str(a); b=str(b); c=str©. Так можно?
doza_and
Можно так:
def f(a,b,c):
"""asdsd"""
zz=locals().keys()
for nm in zz:
exec("%s=str(%s)"% (nm,nm))
f(1,2,3)
bazooka
asilyator
Можно сделать такое
def f(a,b,c,d):
for par in all_parameters:
par = str(par)
print a+b
blabla
чтобы при этом параметры были по прежнему доступны через имена?
что есть all_parameters?
doza_and
это у него a,b,c,d он насколько я понял хотел преобразовать значения всех аргументов в строки
asilyator
doza_and
это у него a,b,c,d он насколько я понял хотел преобразовать значения всех аргументов в строки
Это можно понять по другому? Неужели я настолько непонятно выражаюсь? :)
bazooka
помойму туда просица список
def f(*x):
x = map(str, x)
print(x[0] + x[1])
blablabla
sp3
сейчас модно декораторами пользоваться
def alltostr(f):
def tmp(*a):
return f(*map(str,a))
return tmp

@alltostr
def f(a,b,c,d):
print a+b+c+d

f(1,2,3,4)
asilyator
bazooka
помойму туда просица список
Я хочу обращаться к переменным, как и раньше, по именам, а не по индексу, ибо читаемость падает

sp3
сейчас модно декораторами пользоваться
Интересно
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB