Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 11, 2010 22:07:05

zzzzzzzzz
От:
Зарегистрирован: 2010-02-11
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Выбрать атрибут через аргумент

Я хотел бы иметь функцию, которая бы обрабатывала метод или атрибут объекта, причем и объект, и атрибут должны быть переданы в аргументах функции. Что-то вроде такого:

def print_atribute(a, b):
print a.b

class foo():
bar=10
baz=20

i=foo()

print_atribute(i, bar)
print_atribute(i, baz)

Понятно, что написанный код не работает (пайтон резонно замечает, что переменная bar или baz не определена). Как быть?



Отредактировано (Фев. 11, 2010 22:32:10)

Офлайн

#2 Фев. 11, 2010 22:24:30

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Выбрать атрибут через аргумент

Это не я…

def print_atribute(a, b):
print getattr(a, b)

class Foo():
bar = 10
baz = 20

obj = Foo()

print_atribute(obj, "bar")
print_atribute(obj, "baz")



Отредактировано (Фев. 11, 2010 22:27:40)

Офлайн

#3 Фев. 11, 2010 22:31:42

zzzzzzzzz
От:
Зарегистрирован: 2010-02-11
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Выбрать атрибут через аргумент

Спасибо, именно то, что нужно.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version