Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 9, 2011 17:42:14

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Обработать все аргументы функции

Так они никуда не делись, обращайтесь по именам.



Офлайн

#2 Янв. 9, 2011 17:44:22

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

Обработать все аргументы функции

Мне надо перевести их в строку и потом обращаться к ним по именам без тупого a=str(a); b=str(b); c=str©. Так можно?



Офлайн

#3 Янв. 9, 2011 17:54:18

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Обработать все аргументы функции

Можно так:

def f(a,b,c):
"""asdsd"""
zz=locals().keys()
for nm in zz:
exec("%s=str(%s)"% (nm,nm))
f(1,2,3)



Офлайн

#4 Янв. 9, 2011 18:12:51

bazooka
От:
Зарегистрирован: 2009-04-12
Сообщения: 165
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработать все аргументы функции

asilyator
Можно сделать такое
def f(a,b,c,d):
for par in all_parameters:
par = str(par)
print a+b
blabla
чтобы при этом параметры были по прежнему доступны через имена?
что есть all_parameters?



Офлайн

#5 Янв. 9, 2011 18:13:45

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Обработать все аргументы функции

это у него a,b,c,d он насколько я понял хотел преобразовать значения всех аргументов в строки



Отредактировано (Янв. 9, 2011 18:16:07)

Офлайн

#6 Янв. 9, 2011 19:45:37

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

Обработать все аргументы функции

doza_and
это у него a,b,c,d он насколько я понял хотел преобразовать значения всех аргументов в строки
Это можно понять по другому? Неужели я настолько непонятно выражаюсь? :)



Офлайн

#7 Янв. 9, 2011 19:59:54

bazooka
От:
Зарегистрирован: 2009-04-12
Сообщения: 165
Репутация: +  0  -
Профиль   Отправить e-mail  

Обработать все аргументы функции

помойму туда просица список

def f(*x):
x = map(str, x)
print(x[0] + x[1])
blablabla



Офлайн

#8 Янв. 9, 2011 22:08:40

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

Обработать все аргументы функции

сейчас модно декораторами пользоваться

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)



Офлайн

#9 Янв. 10, 2011 10:27:14

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

Обработать все аргументы функции

bazooka
помойму туда просица список
Я хочу обращаться к переменным, как и раньше, по именам, а не по индексу, ибо читаемость падает

sp3
сейчас модно декораторами пользоваться
Интересно



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version