Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 29, 2014 14:15:52

waru
Зарегистрирован: 2014-01-11
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

возвращаемое не к месту значение none

def say():
    def hello():
        def huh():
            print "huh!"
        print "hello!",huh()
    print "say",hello()
say()

когда я ставлю функцию,возвращающую строку,через запятую после вывода строки в текущей функции,появляются какие-то None в конце. Если без запятой следующей строкой писать,все норм. Откуда они берутся? Ведь функции не возвращают ничего,кроме строки.

Офлайн

#2 Авг. 29, 2014 14:19:46

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

возвращаемое не к месту значение none

def say():
    def hello():
        def huh():
            return "huh!"
        return "hello!" + huh()
    print "say",hello()
say()
По-дефолту возвращается None.

Офлайн

#3 Авг. 29, 2014 14:43:30

waru
Зарегистрирован: 2014-01-11
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

возвращаемое не к месту значение none

Shaman

а почему если ставлю их следующей строкой не через запятую,не возвращаются?

Офлайн

#4 Авг. 29, 2014 14:49:33

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

возвращаемое не к месту значение none

waru
Возвращаются-возвращаются, только этого не видно, т.к. возвращённые значения нигде не используются.

Офлайн

#5 Авг. 29, 2014 14:53:06

Budulianin
От:
Зарегистрирован: 2011-10-18
Сообщения: 1218
Репутация: +  33  -
Профиль   Отправить e-mail  

возвращаемое не к месту значение none

waru
а почему если ставлю их следующей строкой не через запятую,не возвращаются?
Инструкция print, печатает вывод твоей функции.
Если в теле функции нет инструкции return, то она возвращает None.

Инструкция выполняет то что в одной строке.

Иди читай Лутца. :)
Тогда поймёшь, почему так происходит.



Отредактировано Budulianin (Авг. 29, 2014 14:56:09)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version