Форум сайта python.su
1
Объясните, пожалуйста, откуда берется и почему печатается None?
class Base(object): def __init__(self): self.x = "string" class Derived(Base): def method(self): print(self.x) instance = Derived() print(instance.method())
Офлайн
568
Функция (метод класса) method ничего не возвращает. В питоне любая функция возвращает значение, даже если в ней нет return или yield. Она возвращает None. Если знаете Си, то считайте, что void-функция возвращает None.
Вы выводите на консоль результат функции
print(instance.method())
Офлайн
1
FishHookПонятно, спасибо.
Функция (метод класса) method ничего не возвращает. В питоне любая функция возвращает значение, даже если в ней нет return или yield. Она возвращает None. Если знаете Си, то считайте, что void-функция возвращает None.Вы выводите на консоль результат функции
Офлайн
.
Отредактировано J.R. (Фев. 27, 2016 16:28:59)
Офлайн
1
J.R.Да, в этом и была моя ошибка. Я решил напечатать то, что и так напечатается при вызове метода.
Офлайн