Перейти до змісту

Функції та вирази

Функції повертають значення. Отже виклик функції можна вважати виразом. Це у свою чергу означає що виклик функції можна використовувати в інших виразах:

>>> len('a') + 4
5
>>>

Оскільки при виклику функції їм передають значення, то у якості аргумента можна вказати вираз:

>>> n = len('a' + 'bc')
>>> n
3
>>>

І навіть одній функції ми можемо передати значення, яке повертає інша функція:

>>> print(len('a'))
1
>>>

Ще трохи складніший приклад виразів з функціями:

>>> print(len('a' + 'bc') + 1)
4
>>>

Тип даних NoneType

Ми завжди коли викликали функцію print() ігнорували значення, яке вона повертає. А дійсно, що ж повертає ця функція? Давайте з'ясуємо:

>>> r = print('hello')
hello
>>> r
>>>

Здається що нічого... Виглядає логічним: задача функції print полягає у виводі даних, і повертати їй начебто і немає чого. Але з іншого боку якщо функція є вираз, то вона мусить щось повертати!

Часом виникає потреба вказати не певне конкретне значення, а якесь "нейтральне". В Python для цього є тип даних NoneType, і існує лише одне значення цього типу: None що означає "нічого".

Давайте таки переконаємось що print() повертає те саме "нічого":

>>> r = print('hello')
hello
>>> print(r)
None
>>>

Оскільки None є рівноправним значенням, можемо, наприклад, присвоїти його змінній:

var = None

Вищенаведений запис можна прочитати так:

змінній "var" присвоєно "нічого".

Зауважте, це не означає що змінній нічого не присвоєно, це означає що вона пов'язана з даними "нічого".