Unix Permissions and Python Decorators
58 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Які символи в строковому представленні дозволів вказують на тип файлу?

Перший символ: '-' для звичайного файлу, 'd' для каталогу, 'l' для символічного посилання.

Що означає комбінація 'rwxr-xr--' в контексті дозволів для файла?

Це означає, що власник може читати, записувати та виконувати файл, група може читати та виконувати, а інші можуть тільки читати.

Які команди використовуються для зміни дозволів на файл?

Команда 'chmod' використовується для зміни дозволів на файл.

Що означає оператор '+' в команді chmod?

<p>'+' означає додати дозвіл для вказаної групи користувачів.</p> Signup and view all the answers

Яка числова сума відповідає дозволу 'rwx' для власника?

<p>Числова сума, яка відповідає 'rwx', дорівнює 7 (4+2+1).</p> Signup and view all the answers

Що таке setuid у контексті спеціальних дозволів?

<p>Setuid дозволяє виконуваному файлу отримувати права власника файлу під час виконання.</p> Signup and view all the answers

Яка команда надає всім користувачам дозвіл на читання файлу 'файл.txt'?

<p>Команда 'chmod a+r файл.txt' надає всім користувачам дозвіл на читання.</p> Signup and view all the answers

Який числовий код відповідає дозволам 'r-x' для групи?

<p>Дозволам 'r-x' відповідає числовий код 5 (4+0+1).</p> Signup and view all the answers

Що означає 'sticky bit' у контексті каталогів?

<p>'Sticky bit' дозволяє видаляти файли лише їх власникам у каталозі.</p> Signup and view all the answers

Які літери використовуються для вказівки групи користувачів у команді chmod?

<p>Літери 'u' для власника, 'g' для групи, 'o' для інших користувачів, і 'a' для всіх.</p> Signup and view all the answers

Яка основна різниця між параметром, який приймає @classmethod, і @staticmethod?

<p>@classmethod приймає параметр cls, що представляє клас, тоді як @staticmethod не приймає жодного спеціального параметра.</p> Signup and view all the answers

Для чого зазвичай використовується @classmethod?

<p>@classmethod використовується для створення методів фабрик чи для взаємодії зі станом класу.</p> Signup and view all the answers

В чому полягає основна функція @staticmethod?

<p>@staticmethod організує функції, які логічно належать до класу, але не потребують доступу до атрибутів класу.</p> Signup and view all the answers

Як можна викликати @classmethod?

<p>@classmethod можна викликати як через клас, так і через екземпляр класу.</p> Signup and view all the answers

Чи має @staticmethod доступ до екземплярів класу?

<p>Ні, @staticmethod не має доступу до класу або екземплярів.</p> Signup and view all the answers

Коли слід використовувати @classmethod?

<p>Слід використовувати @classmethod, коли потрібно взаємодіяти з класовими змінними або створювати методи фабрики.</p> Signup and view all the answers

Чи може @classmethod бути викликано без класу?

<p>Так, @classmethod може бути викликано через екземпляр класу.</p> Signup and view all the answers

Які основні переваги використання @staticmethod?

<p>@staticmethod дозволяє організувати код логічно і зберегти автономність функцій.</p> Signup and view all the answers

Що таке абстрактний клас і яка його основна функція?

<p>Абстрактний клас є класом, який не може бути створений безпосередньо і призначений для визначення спільного інтерфейсу для підкласів.</p> Signup and view all the answers

Чому клас, який наслідує абстрактний клас, не може бути створений, якщо не реалізує всі абстрактні методи?

<p>Якщо хоча б один абстрактний метод не буде реалізовано, створити екземпляр такого класу неможливо.</p> Signup and view all the answers

Наведіть приклад класу, який успадковує абстрактний клас і реалізує його методи.

<p>Клас <code>Car</code> успадковує абстрактний клас <code>Vehicle</code> і реалізує методи <code>start_engine</code> та <code>stop_engine</code>.</p> Signup and view all the answers

Які методи повинна реалізувати собака, яка наслідує абстрактний клас Animal?

<p>Собака повинна реалізувати методи <code>speak</code> та <code>move</code>.</p> Signup and view all the answers

Як поліморфізм реалізується у прикладі з класами Car та Bike?

<p>Поліморфізм дозволяє використовувати метод <code>test_vehicle</code>, приймаючи будь-який об'єкт, що наслідує <code>Vehicle</code>.</p> Signup and view all the answers

Яка роль абстрактних методів в абстрактних класах?

<p>Абстрактні методи служать шаблоном, що описує, які методи повинні бути реалізовані в підкласах.</p> Signup and view all the answers

Що трапиться, якщо абстрактний клас не реалізувати всі його абстрактні методи?

<p>Не вдасться створити екземпляр цього класу.</p> Signup and view all the answers

Навіщо використовують абстрактні класи при проектуванні програмного забезпечення?

<p>Вони дозволяють визначити загальний інтерфейс для різних реалізацій, підвищуючи гнучкість та повторне використання коду.</p> Signup and view all the answers

Який клас буде використано для виклику методу у прикладі з множинним успадкуванням для класу C?

<p>Метод буде викликано з класу A.</p> Signup and view all the answers

Які два методи реалізує клас Dog?

<p>Клас <code>Dog</code> реалізує методи <code>speak</code>, який повертає 'Bark', та <code>move</code>, який повертає 'Running'.</p> Signup and view all the answers

Що таке MRO у контексті множинного успадкування в Python?

<p>MRO (Method Resolution Order) визначає порядок пошуку методів у класах при множинному успадкуванні.</p> Signup and view all the answers

Для чого служить метод test_vehicle?

<p>Метод <code>test_vehicle</code> слугує для тестування функцій <code>start_engine</code> та <code>stop_engine</code> будь-якого транспортного засобу.</p> Signup and view all the answers

Як можна перевірити порядок пошуку методів для класу в Python?

<p>Порядок пошуку методів можна перевірити, використовуючи атрибут <strong>mro</strong> або метод mro().</p> Signup and view all the answers

Які три основні принципи алгоритму C3 Linearization?

<p>Принципи: вибір лінійного порядку, уникнення циклічних залежностей, підтримка співвідношень.</p> Signup and view all the answers

Що станеться, якщо в класах є циклічні залежності?

<p>Python видасть помилку через неможливість визначення правильного порядку пошуку методів.</p> Signup and view all the answers

Чому у прикладі з класом B метод не викликається з цього класу?

<p>Метод з класу B не викликається, оскільки метод з класу A знайдено першим.</p> Signup and view all the answers

Яка роль спеціального атрибута mro?

<p><strong>mro</strong> показує порядок, в якому клас буде шукати методи.</p> Signup and view all the answers

Який результат буде, якщо викликати print(D.mro)?

<p>Виведе ієрархію MRO для класу D.</p> Signup and view all the answers

Чому Python шукає методи зліва направо при множинному успадкуванні?

<p>Це робиться для визначення правильного порядку, враховуючи залежності між класами.</p> Signup and view all the answers

Який клас буде використовуватись першим, якщо клас A і B мають однакове успадкування у класу C?

<p>Клас A буде використано першим через порядок його написання.</p> Signup and view all the answers

Яка основна роль абстрактних класів у програмуванні?

<p>Абстрактні класи визначають загальні вимоги та шаблони для підкласів без детальної реалізації.</p> Signup and view all the answers

Що таке абстрактні методи і для чого вони використовуються?

<p>Абстрактні методи визначають стандартизовану структуру для майбутніх класів.</p> Signup and view all the answers

Які мета-класи використовуються для визначення абстрактних класів?

<p>Для визначення абстрактних класів використовується мета-клас <code>ABCMeta</code>.</p> Signup and view all the answers

Яка роль декоратора @abstractmethod?

<p>Декоратор <code>@abstractmethod</code> позначає метод як абстрактний, зобов'язуючи підкласи реалізувати його.</p> Signup and view all the answers

Які типи методів є в Python і для чого вони призначені?

<p>У Python є три основні типи методів: методи екземпляра, методи класу та статичні методи.</p> Signup and view all the answers

Які властивості мають статичні методи?

<p>Статичні методи не мають доступу до екземплярів або класу і працюють як звичайні функції.</p> Signup and view all the answers

Для чого використовуються методи класу?

<p>Методи класу використовуються для роботи з самим класом, а не з його екземплярами.</p> Signup and view all the answers

Яка основна перевага використання абстракції в програмуванні?

<p>Використання абстракції забезпечує більш гнучку та масштабовану архітектуру програми.</p> Signup and view all the answers

Що забезпечує абстракція в контексті організації коду?

<p>Абстракція забезпечує високий рівень організації коду.</p> Signup and view all the answers

Чому важливо, щоб підкласи реалізували свої методи?

<p>Це важливо для дотримання чітких вимог до інтерфейсу та поведінки класу.</p> Signup and view all the answers

Що таке абстрактний клас у Python?

<p>Абстрактний клас — це клас, що не можнаinstantiate, який визначає загальний інтерфейс для дочірніх класів через абстрактні методи.</p> Signup and view all the answers

Як працює механізм наслідування в Python?

<p>Наслідування дозволяє дочірнім класам успадковувати властивості та методи від батьківських класів.</p> Signup and view all the answers

В чому полягає суть поліморфізму в Python?

<p>Поліморфізм дозволяє використовувати один інтерфейс для методів з різною реалізацією в різних класах.</p> Signup and view all the answers

Що таке перевизначення методів?

<p>Перевизначення методів — це зміна поведінки методу батьківського класу в дочірньому класі.</p> Signup and view all the answers

Наведіть приклад поліморфізму методів в Python.

<p>Приклад: клас <code>Animal</code> з методом <code>speak()</code>, перевизначеним в класах <code>Dog</code> та <code>Cat</code>, де кожен клас реалізує його по-своєму.</p> Signup and view all the answers

Які існують основні принципи об'єктно-орієнтованого програмування?

<p>Основні принципи: інкапсуляція, наслідування, поліморфізм та абстракція.</p> Signup and view all the answers

Чому абстракція важлива в об'єктно-орієнтованому програмуванні?

<p>Абстракція важлива, оскільки вона дозволяє зосередитися на суттєвих характеристиках об'єкта, приховуючи несуттєві деталі.</p> Signup and view all the answers

Як поліморфізм функцій і операторів застосовуєть у Python?

<p>Поліморфізм функцій і операторів дозволяє перевизначати стандартні функції та оператори для роботи з різними типами об'єктів.</p> Signup and view all the answers

Які методи зібрані в класах, що успадковують абстрактний клас?

<p>Методи, які реалізують абстрактні методи батьківського класу.</p> Signup and view all the answers

Які переваги дає поліморфізм у програмуванні?

<p>Поліморфізм підвищує гнучкість, повторне використання коду та спрощує розширення програм.</p> Signup and view all the answers

Flashcards

cls в @classmethod

Перший параметр методу @classmethod, який представляє сам клас. Дозволяє методу працювати з властивостями та методами класу.

Особливості @staticmethod

Метод класу, який не приймає спеціальний параметр (cls), що дозволяє йому працювати незалежно від класу та його об'єктів.

Застосування @classmethod

Методи @classmethod використовуються, коли потрібно працювати з властивостями класу або змінювати його стан. Наприклад, для створення фабричних методів, які створюють нові об'єкти.

Застосування @staticmethod

Методи @staticmethod використовуються для функцій, які логічно пов'язані з класом, але не потребують доступу до класу чи його об'єктів. Наприклад, для виконання допоміжних обчислень.

Signup and view all the flashcards

Виклик методів @classmethod

Методи @classmethod можна викликати як через клас, так і через об'єкти класу.

Signup and view all the flashcards

Виклик методів @staticmethod

Методи @staticmethod можна викликати тільки через ім'я класу.

Signup and view all the flashcards

Доступ @classmethod до класу/об'єкта

Методи @classmethod мають доступ до класу, але не до конкретних об'єктів.

Signup and view all the flashcards

Доступ @staticmethod до класу/об'єкта

Методи @staticmethod не мають доступу до класу або до конкретних об'єктів.

Signup and view all the flashcards

Що таке абстрактний клас?

Абстрактні класи - це класи, з яких неможливо створити екземпляри (об'єкти). Вони слугують шаблоном для створення інших класів і містять абстрактні методи, які мають бути реалізовані в підкласах. Абстрактні методи оголошуються за допомогою декоратора @abstractmethod.

Signup and view all the flashcards

Що таке абстрактний метод?

Абстрактний метод - це метод, який оголошується в абстрактному класі, але не має реалізації. Підкласи повинні реалізувати цей метод, інакше вони самі стануть абстрактними. Він відмічений декоратором @abstractmethod.

Signup and view all the flashcards

Що таке поліморфізм?

Поліморфізм - це здатність об'єктів різних типів реагувати на одну й ту ж дію по-різному. Це дозволяє використовувати один і той самий код для роботи з об'єктами різних класів, що робить програму гнучкішою та розширюваною.

Signup and view all the flashcards

Перевизначення методів

Перевизначення методів - це коли підклас змінює поведінку методу, успадкованого від батьківського класу. Це ключовий принцип поліморфізму.

Signup and view all the flashcards

Поліморфізм функцій та операторів

Поліморфізм функцій та операторів дозволяє Python перевизначати стандартні функції та оператори, що дає можливість використовувати їх у різних контекстах.

Signup and view all the flashcards

Що таке інтерфейси?

Інтерфейси - це абстрактні класи, які містять тільки абстрактні методи. Вони дозволяють визначати спільні методи для різних класів, що забезпечує поліморфізм.

Signup and view all the flashcards

Що таке клас?

Клас — це шаблон для створення об'єктів.

Signup and view all the flashcards

Що таке об'єкт?

Об'єкт — це екземпляр класу.

Signup and view all the flashcards

Що таке інкапсуляція?

Інкапсуляція — це приховування внутрішніх деталей реалізації класу від зовнішнього світу.

Signup and view all the flashcards

Що таке наслідування?

Наслідування — це механізм передачі властивостей та методів від батьківського класу до дочірнього.

Signup and view all the flashcards

Що таке абстрактні методи?

Абстрактні методи - це методи, які оголошені в абстрактному класі, але без реалізації. Підкласи повинні реалізувати ці методи.

Signup and view all the flashcards

Що потрібно зробити для створення екземпляра класу, який успадкував абстрактний клас?

Клас, який успадковує абстрактний клас, повинен реалізувати всі абстрактні методи. Якщо хоча б один метод не буде реалізовано, створити екземпляр такого класу не вдасться.

Signup and view all the flashcards

Навіщо використовуються абстрактні класи?

Абстрактні класи використовуються для визначення спільного інтерфейсу для різних класів, що дозволяє використовувати поліморфізм.

Signup and view all the flashcards

Яка головна перевага використання абстрактних класів?

Абстрактні класи дають нам можливість створювати гнучкі та розширювані системи.

Signup and view all the flashcards

Наведіть приклад використання абстрактного класу.

Приклад використання абстрактного класу - створення шаблону для різних транспортних засобів.

Signup and view all the flashcards

Наведіть приклад використання поліморфізму?

Приклад використання поліморфізму - функція, яка може працювати з різними типами транспортних засобів.

Signup and view all the flashcards

Чому важливо використовувати абстрактні класи?

Використання абстрактних класів допомагає створювати код, який легше читати, розуміти та підтримувати.

Signup and view all the flashcards

В чому цінність абстрактних класів?

Абстрактний клас - це інструмент, який допомагає створити структуру та гнучкість в програмі.

Signup and view all the flashcards

MRO (Method Resolution Order)

Порядок, за яким Python шукає методи в ієрархії класів.

Signup and view all the flashcards

Множинне успадкування

Успадкування від декількох класів. Дозволяє поєднати властивості та методи різних батьківських класів.

Signup and view all the flashcards

Перевірка MRO

Використання списку __mro__ для класу, щоб показати порядок пошуку методів в ієрархії класів.

Signup and view all the flashcards

Алгоритм C3

Алгоритм C3 - це алгоритм, який використовує Python для визначення MRO. Він гарантує лінійний порядок, уникнення циклічних залежностей та підтримку співвідношень між батьківськими класами.

Signup and view all the flashcards

Вибір лінійного порядку

Якщо клас має кілька батьківських класів, вони повинні бути вибрані зліва направо, враховуючи взаємозв'язки між класами.

Signup and view all the flashcards

Уникнення циклічних залежностей

Якщо між класами є циклічні залежності, то Python не зможе визначити правильний порядок пошуку і видасть помилку.

Signup and view all the flashcards

Підтримка співвідношень

Якщо є кілька однакових батьківських класів, то Python буде використовувати порядок їх написання в списку успадкування.

Signup and view all the flashcards

Метод

Метод, що викликається для об'єкта. Це функція, що використовує атрибут self для доступу до властивостей об'єкта.

Signup and view all the flashcards

Дочірній клас

Клас, який успадковує від іншого класу.

Signup and view all the flashcards

Батьківський клас

Клас, від якого інший клас успадковує.

Signup and view all the flashcards

Перший символ в ls -l

Символ, який вказує на тип файлу:

  • ' - ' - звичайний файл
  • 'd' - каталог
  • 'l' - символічне посилання
Signup and view all the flashcards

Три символи після типу файлу у ls -l

Трійка символів, що показує права доступу. Можливі символи:

  • 'r' - читання
  • 'w' - запис
  • 'x' - виконання
  • '-' - відсутність права
Signup and view all the flashcards

Перші три символи в ls -l

Права доступу до файлу для власника

Signup and view all the flashcards

Другі три символи в ls -l

Права доступу до файлу для групи, до якої належить файл

Signup and view all the flashcards

Треті три символи в ls -l

Права доступу до файлу для всіх інших користувачів

Signup and view all the flashcards

chmod

Команда для зміни дозволів доступу до файлів

Signup and view all the flashcards

Літери у команді chmod

Вказівка на кого стосуються налаштування прав.

  • 'u' - власник (user)
  • 'g' - група (group)
  • 'o' - інші (others)
  • 'a' - всі (all)
Signup and view all the flashcards

Оператори в chmod

Оператори, що вказують на дію з правами:

  • '+' - додати дозвіл
  • '-' - забрати дозвіл
  • '=' - встановити точний набір дозволів
Signup and view all the flashcards

Октальні числа в chmod

Числове значення прав доступу до файлу

Signup and view all the flashcards

setuid (s)

Спеціальний дозвіл, що дає процесу права власника файлу

Signup and view all the flashcards

Абстрактний клас

Абстрактний клас — це клас, який не може бути інстанційований безпосередньо. Він слугує шаблоном для створення інших класів, надаючи загальні вимоги до їхньої структури та поведінки.

Signup and view all the flashcards

Абстрактний метод

Абстрактний метод — це метод, який оголошений в абстрактному класі, але не реалізований усередині класу. Він вимагає, щоб його реалізація була надана в підкласі.

Signup and view all the flashcards

Мета-клас

Мета-клас — це клас, який використовується для створення інших класів. Його можна використовувати для налаштування поведінки класів, які будуть створені.

Signup and view all the flashcards

ABCMeta

ABCMeta — це мета-клас, який використовується для створення абстрактних базових класів в Python. Він надає інструменти для визначення абстрактних методів та інших особливостей абстрактних класів.

Signup and view all the flashcards

abstractproperty

abstractproperty — це декоратор, який використовується для створення абстрактних властивостей в абстрактних класах в Python. Він вимагає, щоб підкласи реалізували властивість для використання.

Signup and view all the flashcards

abstractclassmethod

abstractclassmethod — це декоратор, який використовується для створення абстрактних класових методів в абстрактних класах в Python. Він вимагає, щоб підкласи реалізували цей класовий метод.

Signup and view all the flashcards

Метод класу (@classmethod)

Метод класу — це метод, який пов'язаний з класом, а не з екземпляром класу. Він використовує декоратор @classmethod. Він працює з самим класом, а не з його об'єктами.

Signup and view all the flashcards

Статичний метод (@staticmethod)

Статичний метод — це метод, який не має доступу до екземплярів класу або самого класу. Він працює як звичайна функція, але пов'язана з класом. Він використовує декоратор @staticmethod.

Signup and view all the flashcards

Методи екземпляра

Методи екземпляра — це звичайні методи, які працюють з конкретним екземпляром класу (об'єктом). Вони мають доступ до атрибутів та методів цього об'єкта.

Signup and view all the flashcards

Абстракція в програмуванні (абстрактні класи)

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

Signup and view all the flashcards

Study Notes

Immutable vs Mutable Objects

  • Immutable objects cannot be changed after creation. Any operation that appears to modify them creates a new object. Examples include numbers (int, float, complex), strings (str), tuples (tuple), and frozen sets (frozenset).
  • Mutable objects can be changed in place after creation. Examples include lists (list), dictionaries (dict), sets (set), and user-defined objects (if attributes are modifiable).

Key Differences

  • Mutable Objects (e.g., List): Can be changed in place. Do not use new memory on modification.
  • Immutable Objects (e.g., String): Cannot be changed in place. Use new memory on modification.

Implications of Mutability

  • Performance: Frequent changes to immutable objects can be less efficient, as they create new copies.
  • Multi-threading: Immutable objects are safer in concurrent programming, as they prevent accidental modifications.
  • Dictionary Keys & Set Elements: Only immutable objects can be used as dictionary keys or set elements in Python.

Dictionary Key Type Rules

  • Only immutable objects can be used as dictionary keys (e.g., int, str, tuple, frozenset).
  • Mutable objects (e.g., list, dict, set) cannot be used as keys, because changes in their content make them unreliable for lookups.

Valid Keys

  • int, float, str, tuple (with only immutable items), frozenset are hashable, and can be dictionary keys.
  • list, set, dict are not hashable, and cannot be dictionary keys.

The Role of hash and eq

  • Hash value (hash) is used to determine the key's location in a hash table.
  • Equality check (_eq_) resolves key collisions.
  • Returns a unique integer representing an object's hash value.
  • Is required for objects to be used as dictionary keys or set elements.

LEGB (Local, Enclosed, Global, Built-in)

  • Local (L): Variables defined inside a function are local and accessible only within that function.
  • Enclosing (E): Variables in enclosing functions (used in nested functions).
  • Global (G): Variables defined at the top level of a script or module.
  • Built-in (B): Predefined Python functions and modules.
  • Python searches for variables in this order, stopping as soon as a match is found.

Iterators (Methods __iter__ and __next__)

  • Iterator is an object that supports iteration protocol (__iter__() and __next__()).
  • __iter__(): Returns an iterator (itself)
  • __next__(): Returns the next item or raises StopIteration if there is no more elements.

Generators (yield)

  • Generators are a way to create iterators, but they do not store all values in memory at once.
  • Generators use the yield keyword instead of return.
  • yield returns a value and pauses the function, resuming on the next call.

Key Takeaways

  • Immutable objects create new copies when modified and may be inefficient.
  • Immutable objects are thread-safe.
  • Immutable objects can be used as dictionary keys and set elements.

Context Managers (with statement and __enter__, __exit__)

  • Context managers are Python objects that manage resources (like files, database connections, or network sockets) properly, ensuring they are initialized and cleaned up correctly.
  • The with statement automates resource setup and teardown.
  • Context managers must implement __enter__() (called when the with block starts) and __exit__() (called when the with block ends, even if exceptions occur).
  • The __exit__() method can handle exceptions and clean up resources appropriately.

Exception Handling (try-except-else-finally)

  • Exception handling is important for robustness.
  • The try...except block is used to catch possible errors when executing a block of code.
  • else block executes if no exception happened.
  • finally block always executes, regardless of whether an exception occurred, useful for cleanup.

Special Methods (__init__, __new__)

  • __init__: Constructor; initializes an object after it has been created.
  • __new__: Constructor; creates (allocates memory for) the object itself.

Basic Design Patterns (Singleton, Factory Method, Builder, Prototype, Observer, Strategy, Decorator)

  • Singleton: Ensures a class has only one instance.
  • Factory Method: Creates objects without specifying the concrete class.
  • Builder: Builds complex objects step by step.
  • Prototype: Creates copies of objects without referencing specific classes.
  • Observer: Allows one object to notify others about changes.
  • Strategy: Allows changing algorithms at runtime.
  • Decorator: Dynamically adds behavior to objects.

Abstract Base Classes (ABCs)

  • Abstract base classes are classes that define a common interface.
  • Subclasses must implement methods defined in the abstract base class or the subclass cannot be instantiated.
  • abstractmethod decorator is used to define an abstract method.
  • Used for type hinting and defining common functionality for a group of classes.

Class Methods and Static Methods

  • Class methods: Methods that operate on class-level attributes, accessed via the cls parameter.
  • Static methods: Methods without access to either object or class-level attributes.

Multiprocessing

  • Used for parallel tasks that are CPU-bound (require intensive calculations).
  • Allows running several tasks concurrently in different processes on a multicore CPU.

Asynchronous Programming (asyncio)

  • Used for I/O-bound tasks, meaning tasks that mostly handle input and output (like network requests or file reading).
  • Provides a way to perform multiple tasks concurrently in a single thread.

Middleware in Django

  • Allows to intercept and modify HTTP requests and responses in Django applications.
  • Provide a centralized way to add functionalities without modifying core application code.
  • Useful for tasks like authentication, logging, authorization, security.

SQL Statements (SELECT, INSERT, UPDATE, DELETE)

  • Standard SQL commands for working with databases.
  • SELECT retrieves data,
  • INSERT adds new records,
  • UPDATE modifies existing records,
  • DELETE removes records.

ORM (Object-Relational Mapping) in Django

  • Provides a way to interact with databases using Python objects instead of raw SQL.
  • A layer of abstraction between the code and the database management systems.

Other concepts

  • QuerySets: Used to retrieve, filter, sort data from the database.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Q&A Python PDF

Description

Цей тест охоплює основи дозволів в Unix, включаючи типи файлів та команди для зміни дозволів. Також обговорюються декоратори Python, такі як @classmethod і @staticmethod. Перевірте свої знання про ці важливі концепції в програмуванні.

More Like This

Unix File System Permissions
31 questions
Lecture 1 - Basic UNIX Commands
37 questions
Unix Commands Quiz
5 questions

Unix Commands Quiz

PopularLyric6328 avatar
PopularLyric6328
Use Quizgecko on...
Browser
Browser