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

2023

Велике оновлення тестів

Покращилась візуалізація:

  • повідомлення про те, що функція повертає None
  • повідомлення про те, що функція повертає не той тип даних (або в змінній не той тип даних)
  • місцями змінений порядок елементів у порівняннях, щоб зеленою завжди була правильна відповідь

Як зрозуміти підказки для функцій та методів

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

Тут немає детальних пояснень, тільки вивід підказок.

Розбираємося з тим, що показує у підказках ipython та редактори/IDE.

Залежно від того, як було створено метод або функцію, ipython/editor/IDE може відображати різні типи підказок. Крім того, підказки можуть відрізнятися між ipython і редактором.

Приклад створення функції та відображення підказки для неї:

def sum_numbers(num1, num2):
    """
    Функція обчислює суму двох чисел
    """
    return num1 + num2


In [3]: sum_numbers(100, 42)
Out[3]: 142

In [4]: sum_numbers?
Signature: sum_numbers(num1, num2) # (1)
Docstring: Функція обчислює суму двох чисел # (2)
File:      ~/repos/.../<ipython-input-2> # (3)
Type:      function # (4)
  1. Опис функції зазвичай дорівнює рядку, за допомогою якого була створена функція.
  2. Рядок документації функції. Опис роботи функції зазвичай створений людиною.
  3. Де була створена функція (в якому файлі).
  4. Тип об'єкту: function для функцій, method для методів, builtin_function_or_method для деяких вбудованих функцій

Побітове AND

Побітове AND застосовується до біт, але, як операнди, використовуються десяткові числа:

In [1]: 195 & 240
Out[1]: 192

Відмінності між a == b та a is b

== перевіряє значення, а is перевіряє, що обидві змінні посилаються на той самий об'єкт. Для перевірки того, що значення однієї змінної дорівнює якомусь іншому значенню, треба використовувати ==.

Організація простого скрипту Python

Якщо скрипт в одному файлі, зазвичай такий порядок:

  • shebang, file encoding
  • docstring модуля
  • імпорт
  • константи
  • всі функції в умовно-довільному порядку, тобто тут вже самостійно треба вирішити як зручніше
  • функції/код для створення CLI якщо є
  • часто, якщо є код який треба писати глобально, а не всередині функції, створюють функцію main і пишуть цей код там
  • if __name__ == "__main__": і виклик функції main або глобального коду, який викликає функції