2010-11-10 3 views
0

Мне нужно создать функцию printObjects (атрибут, параметр), которая должна печатать объекты на основе определенного атрибута. Атрибут может принимать ints или строки в качестве входных данных. Атрибут option не является обязательным. Как это реализовать для моего класса?Как я могу обрабатывать атрибуты в python?

+2

«Атрибут вариант не является обязательным», что?!?! Надеюсь, это означает, что второй параметр printObjects, который называется «option», не является обязательным. В противном случае я очень запутался в разных вариантах использования/атрибута. Предполагая, что вы имели в виду, на что я надеюсь, что такое вариант? и чем он по умолчанию? –

+0

* print * * * * * * * * * * * * * * * * * * * * * Что это означает? : - | – fortran

ответ

1

Я предполагаю, что вы хотите что-то вроде этого, или, возможно, это будет полезно, по крайней мере:

 
def printObject(obj, attributes=()): 
    for a in attributes: 
    print getattr(obj, a) 
+7

** Никогда не используйте что-либо, изменяемое как аргумент по умолчанию. ** (Если вы действительно не знаете, как это работает и * хотите * это поведение, а также оно получило «resul tin any bugs» в этом примере *, но лучше указать это на все) См. Http://stackoverflow.com/questions/1132941/least-astonishment-in-python-the-mutable-default-argument – delnan

+0

В этом случае это нормально, «атрибуты» не записываются. –

+1

Это был правильный способ сделать это. Благодарю. Извините за мою двусмысленность в исходном вопросе, но этот парень понял, что я имел в виду :) – Trim

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