2015-03-16 7 views
-4

Im пытается разработать симулятор лифта. Когда лифт поднимается на пол, я хочу показать, сколько клиентов ждет, в лифте, напольном экт. (одна строка)вызов __str__ внутри класса? python 3.X

Когда я звоню self.__str__() внутри цикла while, он просто входит, но не возвращает строку на экран.

Может кто-нибудь дать нам помочь чуток Спасибо

+1

Я думаю, что вы хотите 'печати (сам)' - 'само .__ ул __()' автоматически будет вызываться, если оно существует. Если это не так, 'self .__ repr __()' будет вызываться, если он существует, тогда 'object'' '__repr __()' (который всегда существует). – jedwards

ответ

1

Вы не должны называть __str__ напрямую. Его следует называть как str (object) или автоматически преобразовывать.

Кроме того, это просто возвращает читаемую строку, представляющую объект. Он не печатает. Вы хотели бы это сделать.

print(self.__str__()) 

или просто

print(self) 
+0

Спасибо, все еще новичок в python, Это то, что я искал. Работает отлично – bpb101

+0

Без проблем, если вы помогли, нажмите на голосование. – marsh

+2

И знак ответа принят, поэтому дополнительные рецензенты знают, что это уже имеет хороший ответ. –