2015-04-04 4 views
1

Вот код:Python не печатает None

class className: 
    def createName(self, name): 
     self.name = name 

    def displayName(self): 
     return self.name 

    def saying(self): 
     print "Hello %s " % self.name 

first = className() 
second = className() 

first.createName('Bob') 
second.createName('Tony') 


print first.displayName() 
print second.displayName() 

print 20*"_" 

print first.saying() 
print second.saying() 

Вопрос заключается в следующем - когда я называю второй метод (говоря), почему результат:

Hello Bob 
None 
Hello Tony 
None 

Почему None?

ответ

2

Все functions/methods, которые не указывают значение return, будут по умолчанию return None, поэтому вы просто видите возвращаемое значение при печати метода.

Либо return "Hello %s " % self.name вместо печати, либо просто вызвать метод без использования print.

На стороне записки вы не нужны, и не должны использовать добытчиками в питона, чтобы получить доступ к self.name только print first.name и т.д ..

+0

благодарственное вы очень! – SakoBu

0

Возвращает значение, не печатать:

def saying(self): 
    return "Hello %s " % self.name 
Смежные вопросы