У меня есть пользовательский класс, как:Магический метод Python для представления класса?
class foo(object):
def __init__(self, name):
self.__name = name
def get_name(self):
return self.__name
То, что я хочу сделать, это написать
test = foo("test")
print test
вместо
test = foo("test")
print test.get_name()
Что такое магия способ сделать это?
См. [Здесь] (http://stackoverflow.com/questions/1436703/difference-between-str-and-repr-in-python). Кроме того, ваш опубликованный код кажется ошибочным ('' foo(). Get_name() ''). –
Я не уверен, почему это привлекает «непонятно, что вы просите» голосов: вопрос совершенно ясен. У Python есть хотя бы один метод (фактически два), который вызывается, когда требуется строковое представление класса, и OP знает, что он существует, но не его имя. – GreenAsJade
@AmiTavory хороший указатель на 'str' vs' repr', но я не уверен, что не так с кодом OP. Parens нужны только для операторов печати в python3. – GreenAsJade