Урок 20. Модулі DateTime та Math

Дати в Python

Модуль datetime у Python — це стандартний модуль, який надає класи для роботи з датами та часом. Приклад з відео:

#Дата в Python не є окремим типом даних, 
#але ми можемо імпортувати
#модуль під назвою datetime для роботи 
#з датами як об’єктами.
import datetime

todayVar = datetime.datetime.now()

print(todayVar)

Створення об’єктів дат

Щоб створити дату за допомогою модуля datetime у Python, ви можете використовувати клас date або клас datetime. Приклад з відео:

#Щоб створити дату, ми можемо використати 
#клас datetime() (конструктор)
#модуля datetime.
#Клас datetime() вимагає трьох параметрів 
#для створення дати:
#рік, місяць, день.
#Клас datetime() також приймає параметри 
#для часу та часового поясу
#(година, хвилина, секунда, мікросекунда, tzone), 
#але вони необов’язкові,
#та має значення за замовчуванням 0 
#(немає для часового поясу).
import datetime

date1 = datetime.datetime(2020, 12, 25, 9, 45, 50, 10)

print(date1)

Метод strftime()

Метод strftime() у Python використовується для форматування об’єктів дати та часу в рядки. Він є частиною класів date, time та datetime з модуля datetime. За допомогою цього методу ви можете вказати, як саме ви хочете відобразити дату та час, використовуючи спеціальні формати.

ДирективаОписПриклад
%aWeekday, short versionWed
%AWeekday, full versionWednesday
%wWeekday as a number 0-6, 0 is Sunday3
%dDay of month 01-3131
%bMonth name, short versionDec
%BMonth name, full versionDecember
%mMonth as a number 01-1212
%yYear, short version, without century18
%YYear, full version2018
%HHour 00-2317
%IHour 00-1205
%pAM/PMPM
%MMinute 00-5941
%SSecond 00-5908
%fMicrosecond 000000-999999548513
%zUTC offset+0100
%ZTimezoneCST
%jDay number of year 001-366365
%UWeek number of year, Sunday as the first day of week, 00-5352
%WWeek number of year, Monday as the first day of week, 00-5352
%cLocal version of date and timeMon Dec 31 17:41:00 2018
%CCentury20
%xLocal version of date12/31/18
%XLocal version of time17:41:00
%%A % character%
%GISO 8601 year2018
%uISO 8601 weekday (1-7)1
%VISO 8601 weeknumber (01-53)01
Метод strftime() та варіанти виведення дат

Приклад застосування strftime() з відео:

#Об'єкт datetime має метод для 
#форматування об'єктів дати
#у читабельні рядки.
#Метод називається strftime() і 
#приймає один параметр, формат,
#щоб вказати формат повернутого рядка
import datetime

date1 = datetime.datetime(2020,12,25,9,50,55,10)

print(date1.year)
print(date1.month)
#виведе повну назву дня тижня
print(date1.strftime("%A"))
#виведе день тижня як номер 0-6, 0 - Sunday (Неділя)
print(date1.strftime("%w"))
#виведе назву місяця, e.g. December
print(date1.strftime("%B"))
#виведе години 00-12
print(date1.strftime("%I"))
#ISO 8601 weekday (день тижня)
print(date1.strftime("%u"))

Функції min() and max()

Функції min() і max() у Python використовуються для знаходження найменшого та найбільшого значення в ітерабельних об’єктах (таких як списки, кортежі, множини) або серед кількох аргументів. Приклад з відео:

#Python має набір вбудованих математичних 
#функцій, включаючи розширений
#математичний модуль, що дозволяє виконувати 
#математичні завдання над числами.
#Функції min() і max() можна використовувати, 
#щоб знайти найменше або
#найбільше значення в ітерації
numList1 = [10,5,25,15,35]
minValue = min(numList1)
maxValue = max(numList1)
maxValue2 = max(5,25,10)
print(minValue)
print(maxValue)
print(maxValue2)

Функції abs() and pow()

Функція abs() використовується для знаходження абсолютного значення числа. Абсолютне значення — це ненегативне значення числа без врахування його знака.

Функція pow() використовується для піднесення числа до певного ступеня.

Приклад з відео:

#Функція abs() повертає абсолютне 
#значення вказаного числа.
#Функція pow(x, y) повертає 
#значення x у ступені y.

num1 = -3.85
num2 = abs(num1)
num3 = pow(3,5)

print(num1)
print(num2)
print(num3)

Модуль math

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

#Python також має вбудований модуль під назвою 
#math, який має розширений
#список математичних функцій.
#Коли ви імпортували математичний модуль, 
#ви можете почати використовувати методи
#і константи модуля.
#Метод math.sqrt() повертає 
#квадратний корінь із числа
#Метод math.ceil() округлює число в 
#більшу сторону до найближчого цілого,
#і метод math.floor() округляє число до свого
#найближчого цілого в меншу сторону 
#і повертає результат
import math

num1 = math.sqrt(225)
num2 = math.ceil(3.3)
num3 = math.floor(3.3)
print(num1)
print(num2)
print(num3)

Ще кілька прикладів з факторіалом, числами PI та Ейлера з відео:

#Константа math.pi повертає значення PI (3.14...)
#math.pi повертає PI (3,1415...)
#math.e повертає число Ейлера (2,7182...)
import math

#факторіал 5 означає 1*2*3*4*5
factorialOf5 = math.factorial(5)
print(factorialOf5)
print(math.pi)
print(math.e)
Урок 20. Модулі DateTime та Math

В цьому відео поговоримо про:
00:12 Python Dates
01:58 Creating Date Objects
03:41 strftime() Method and date output
13:49 min() and max() functions
16:23 abs() and pow() functions
18:06 Math module

Приклади на Github

Урок 19. Зони видимості та модулі

Local Scope (локальна зона чи область видимості)

У Python “local scope” (локальна область видимості) відноситься до контексту, в якому змінні визначені всередині функції або блоку коду. Це означає, що змінні, оголошені всередині функції, доступні тільки в цій функції і не можуть бути використані за її межами. Приклад з відео:

#Змінна доступна лише в регіоні, де вона створена.
#Це називається областю видимості.
#Змінна, створена всередині функції, 
#належить до локальної області
#цієї функції та може використовуватися 
#лише всередині цієї функції.
def displayCar():
    car = "Dodge"
    print(car)
    
displayCar()
#print(car)

Приклад з функцією всередині функції:

#змінна, яка знаходиться всередині функції, 
#недоступна ззовні функції, але 
#вона доступна для будь-якої функції 
#всередині функції
def displayCar():
    car = "Dodge"
    def printCar():
        print(car)
    printCar()
    
displayCar()
#print(car)

Global Scope (глобальна область чи зона видимості)

У Python “global scope” (глобальна область видимості) відноситься до контексту, в якому змінні визначені на верхньому рівні програми, тобто поза всіма функціями або класами. Ці змінні доступні з будь-якої частини коду, включаючи всередині функцій, якщо не перекриваються локальними змінними з однаковими іменами. Приклад з відео:

#Змінна, створена в основному тексті 
#коду Python, є глобальною змінною
#і належить до глобальної області видимості.
#Глобальні змінні доступні з будь-якої області, 
#глобальної та локальної.
car = "Dodge"

def printCar():
    print(car)
    
printCar()
print(car)

Назви змінних та області видимості

У Python змінні можуть мати різні області видимості, які визначають, де ці змінні доступні в коді. Приклад з відео:

#Якщо ви працюєте з однаковою назвою 
#змінної всередині та поза функцією,
#Python розглядатиме їх як дві окремі змінні
car = "Dodge"

def displayCar():
    car = "Lincoln"
    print(car)
    
displayCar()
print(car)

Ключове слово global

Ключове слово global в Python використовується для оголошення, що змінна є глобальною, що дозволяє змінювати її значення всередині функції. За замовчуванням, якщо ви оголошуєте змінну всередині функції, Python вважає її локальною. Використання global дозволяє уникнути конфліктів між локальними та глобальними змінними. Приклад з відео:

#Ключове слово "global" робить 
#змінну глобальною.
car = "Dodge"

def displayCar():
    global car
    car = "Lincoln"
    print(car)

print(car)    
displayCar()
print(car)

Імпортування модулів

Імпортування модулів в Python дозволяє використовувати функції, класи та змінні, які визначені в інших файлах (модулях). Це важлива частина організації коду, оскільки допомагає зберігати код чистим. В прикладі з відео ми створили модуль moduleDisplayCar, який має лише одну функцію displayCar, імпортуємо цей модуль та надаємо йому псевдонім mdc:

#Ми можемо використовувати модуль, 
#який ми щойно створили, 
#використовуючи оператор «import».
import moduleDisplayCar as mdc

mdc.displayCar()

Код модуля moduleDisplayCar:

#Вважайте модуль таким же, як бібліотека коду.
#Файл, що містить набір функцій, 
#які ви хочете включити у свою програму.

def displayCar():
    car = "Dodge"
    print(car)

Вбудовані модулі

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

#Вбудовані модулі в Python
import platform

platformInfo = platform.system()
print(platformInfo)

platformFunctionsList = dir(platform)
for i in platformFunctionsList:
    print(i)

Імпортування частини модуля

В Python можна імпортувати частини модуля, використовуючи конструкцію from … import …. Це дозволяє вам вибрати конкретні функції, класи або змінні з модуля, що може зменшити використання пам’яті і підвищити читабельність коду. Приклад з відео:

#імпортуємо окрему функцію 
#з модуля moduleCalc
from moduleCalc import divideNumbers

divideNumbers(10,0)

Файл moduleCalc з якого імпортуємо одну функцію divideNumbers:

#модуль з кількома арифметичними функціями
def addNumbers(num1, num2):
    return num1 + num2

def substractNumbers(num1, num2):
    return num1 - num2

def multiplyNumbers(num1, num2):
    return num1*num2

def divideNumbers(num1, num2):
    try:
        return num1/num2
    except ZeroDivisionError:
        print("You can't divide by zero.")
Урок 19. Зони видимості та модулі

В цьому відео поговоримо про:
00:15 Local Scope – Локальна зона видимості
04:18 Function inside Function – Функція всередині функції
09:45 Global Scope – Глобальна зона видимості
12:12 Names of variables and scope – Імена змінних і зона видимості
14:25 Global keyword – Ключове слово global
18:49 Import modules – Імпортування модулів
21:33 Built-in Modules – Вбудовані модулі
24:22 Import part of module – Імпортування частини модуля

Приклади на Github

Урок 18. Try Except

У Python блок try використовується для обробки виключень. Це дозволяє програмі продовжувати виконання, навіть якщо сталася помилка. Суть у тому, що ви намагаєтеся виконати певний код в блоці try, а якщо там виникає помилка, ви можете обробити її в блоці except. Приклад з відео:

#Блок "try" дозволяє перевірити блок коду на наявність помилок.
#Блок "except" дозволяє обробити помилку.
#print(varNum1)
try:
    print(varNum1)
    
except:
    print("Something went wrong.")

У Python ви можете мати кілька блоків except для одного блоку try. Це дозволяє обробляти різні типи виключень окремо. Кожен блок except може бути призначений для конкретного типу виключення або для групи типів. Приклад з відео:

#Ви можете визначити скільки завгодно блоків "винятків".
#якщо ви хочете виконати спеціальний блок коду для особливого типу помилки
#print(varNum1)
try:
    print(varNum1)
    
except NameError:
    print("Variable is not defined.")
    
except:
    print("Something went wrong.")

Ключове слово else у блоці try

Ключове слово else у блоці try в Python використовується для визначення коду, який буде виконано, якщо в блоці try не виникло жодних виключень. Це дозволяє відокремити код, що виконується при успішному завершенні, від коду обробки помилок. Приклад з відео:

#Ви можете використовувати ключове слово «else», 
#щоб визначити блок коду, який буде виконано
#якщо помилок не було
try:
    print("Python is a solid choice.")
    
except:
    print("Something went wrong.")
    
else:
    print("No exceptions were raised.")

Ключове слово finally

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

#Блок "finally", якщо його вказано, 
#буде виконано незалежно від того
#чи блок "try" викликає помилку чи ні.
try:
    print(varNum1)
    
except:
    print("Something went wrong.")
    
finally:
    print("End of try except.")

Ключове слово raise

Ключове слово raise в Python використовується для генерації виключень (exceptions). Це може бути корисно, коли ви хочете вручну викликати виключення у вашому коді, наприклад, для перевірки умов або для передачі помилок далі. Приклад з відео:

#Щоб створити (або підняти) виняток, 
#використовуйте ключове слово "raise".
#Ви можете визначити, яку помилку викликати, 
#і текст, який слід показати користувачеві.
quantityParam = 0

if quantityParam<1:
    raise Exception("Quantity can not be less than one.")

Можна визначити, яку саме помилку і за яких умов викликати. Наприклад, за допомогою функції type та ключового слова is ми можемо встановити умову для типу даних, порушення якої буде викликати помилку. Приклад з відео:

#Ви можете визначити, яку помилку викликати, і текст,
#який показати користувачеві.
varNum = "Text"

if not type(varNum) is int:
    raise TypeError("Invalid type. Only integers can be accepted.")

else:
    print(varNum)

Метод input() та блок try

Метод input() в Python використовується для отримання введення від користувача. Цей метод зупиняє виконання програми і чекає, поки користувач введе деяке значення, після чого повертає його у вигляді рядка. Приклад з відео:

#Python 3.6 використовує метод input().
#Python 2.7 використовує метод raw_input().
#Python припиняє виконання, коли справа доходить до функції input(),
#і продовжується, коли користувач вводить певні дані.
varNum1 = float(input("Enter number 1: "))
varNum2 = float(input("Enter number 2: "))

try:
    divisionResult=varNum1/varNum2
    print("{} divided by {} equals {}".format(varNum1,varNum2,divisionResult))
except ZeroDivisionError:
    print("You can not divide by zero.")

Використання методу input() разом із блоком try в Python дозволяє ефективно обробляти введення користувача і управляти потенційними помилками. Це особливо корисно, коли ви очікуєте, що користувач введе певний тип даних, наприклад, число. Приклад з відео:

#Python припиняє виконання, 
#коли доходить до функції input(),
#і продовжується, коли користувач 
#вводить певні дані.
#В цьому прикладі помістили 
#функції input() всередину
#блоку try.

try:
    varNum1 = float(input("Enter number 1: "))
    varNum2 = float(input("Enter number 2: "))
    divisionResult=varNum1/varNum2
    print("{} divided by {} equals {}".format(varNum1,varNum2,divisionResult))
except ZeroDivisionError:
    print("You can not divide by zero.")
    
except ValueError:
    print("Invalid data type. Numbers must be entered.")
Урок 18. Try Except

В цьому відео поговоримо про конструкцію Try Except.

Приклади на Github

Урок 17. Масиви в Python та PIP

Менеджер пакетів

PIP — це менеджер пакетів для пакетів або модулів Python.

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

#команда для перевірки версії
pip  --version
#команда для встановлення відповідного пакету
pip install nameOfPackage
#команда для видалення відповідного пакету
pip uninstall nameOfPackage
#команда для виведення списку пакетів
pip list

Приклад введення команди в cmd:

cmd printscreen

Приклад введення команди в терміналі:

terminal printscreen

Масиви в Python

Для роботи з масивами в Python вам доведеться імпортувати бібліотеку, наприклад бібліотеку NumPy. NumPy — це бібліотека Python, яка використовується для роботи з масивами. NumPy створив у 2005 році Тревіс Оліфант. Це проект з відкритим кодом. NumPy означає Numerical Python.

У Python у нас є списки, які служать для цілей масивів, але вони повільно обробляються. NumPy має на меті надати об’єкт масиву, який у 50 разів швидший за традиційні списки Python. Масиви NumPy зберігаються в одному безперервному місці в пам’яті, на відміну від списків, тому процеси можуть отримувати доступ до них і маніпулювати ними дуже ефективно.

Встановлення NumPy

Якщо у вас уже встановлено Python і PIP, установити NumPy дуже просто. Використовуйте команду: pip install numpy

Приклад введення команд для встановлення в Visual Studio Community:

Visual Studio PrintScreen

Створення масивів

numpy.array — це функція в бібліотеці NumPy, яка використовується для створення масивів (об’єктів типу ndarray). Ці масиви є основним об’єктом в NumPy і дозволяють ефективно зберігати та обробляти дані.

Спершу слід імпортувати бібліотеку NumPy. Далі за допомогою функції array можна створити потрібний нам масив. Приклад з відео:

#NumPy зазвичай імпортується під псевдонімом np.
import numpy as np

numbersArray1 = np.array([1,3,5,7,9])
print(numbersArray1)
print(type(numbersArray1))

for num in numbersArray1:
    print(num)

Доступ до елементів масиву

Доступ до елементів масивів, створених за допомогою numpy.array, здійснюється за допомогою індексації. Також можна використати властивості ndim (number of array dimensions) – кількість вимірів масиву, та  size – яка виначає розмір масиву. Приклад з відео:

import numpy as np

numArray1 = np.array([1,2,3])
print(numArray1[1])

#ndim property - defines number of array dimension
print(numArray1.ndim)
#size property
print(numArray1.size)

Двовимірні масиви

Щоб створити двовимірний масив за допомогою numpy.array, ви можете просто передати список списків (або вкладені масиви) у функцію np.array(). Приклад з відео:

#2-вимірний масив
import numpy as np

numArray1 = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(numArray1[0][2])
print(numArray1[1][1])
print(numArray1[2][0])

for i in numArray1:
    print(i)

Приклад з відео з двовимірним масивом та визначенням кількості вимірів і розміром та використанням вкладеного циклу for для перегляду всіх елементів масиву за вимірами:

import numpy as np

numArray = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(numArray)
print("Dimensions number equals {}".format(numArray.ndim))
print("Size of array is {}".format(numArray.size))

for i in numArray:
    for j in i:
        print(j)

Тривимірні масиви

Створення тривимірного масиву за допомогою numpy.array виконується аналогічно створенню двовимірного масиву, просто потрібно передати відповідні списки (або вкладені масиви). Приклад з відео:

import numpy as np

numArray = np.array([[[1,2],[3,4]],[[5,6],[7,8]]])
print(numArray)
print("Dimensions number equals {}".format(numArray.ndim))
print("Size of array is {}".format(numArray.size))

print("Element from array {}".format(numArray[0][1][0]))
print("Element from array {}".format(numArray[0][1][1]))
print("Element from array {}".format(numArray[1][0][0]))
print("Element from array {}".format(numArray[1][1][0]))

for i in numArray:
    for j in i:
        for k in j:
            print(k)
Урок 17. Масиви в Python та PIP

В цьому відео поговоримо про:
00:11 PIP – встановлювач пакетів Python
03:01 Python Arrays – масиви
06:02 Install Numpy – встановлення Numpy
08:46 Array creation – ствопення масиву
10:44 Access items – доступ до елементів
13:31 2-dimensional arrays – двовимірні масиви
21:31 3-dimensional arrays – тривимірні масиви

Приклади на Github

Урок 16. Словники у Python

У Python словники — це один з основних типів даних, які дозволяють зберігати колекції елементів у формі пар “ключ-значення”. Це дуже гнучкий і зручний спосіб зберігання даних, який часто використовується для організації інформації. Приклад з відео:

#Словники використовуються для зберігання значень даних у парах ключ:значення.
#Словник — це збірка, яка є впорядкованою, змінною та
#не допуска' дублікатів.
#Починаючи з версії Python 3.7, словники впорядковані.
#У Python 3.6 і попередніх версіях словники були не впорядковані.
carDictionary1 = {
    "brand": "Dodge",
    "model": "Charger",
    "year": 2020
    }
print(carDictionary1)

У Python словники складаються з пар “ключ-значення”, і кожен з цих елементів має свої особливості.

Ключ (Key): Це унікальний ідентифікатор для кожного елемента в словнику. Ключі повинні бути незмінними типами даних, такими як рядки, числа або кортежі. Ключі мають бути унікальними в межах одного словника.

Значення (Value): Це дані, які асоційовані з ключем. Значення можуть бути будь-якого типу даних, включаючи інші словники, списки або навіть функції.

Приклад з відео:

#Елементи словника впорядковані, змінні та не
#дозволяють дублікати.
#Елементи словника представлені в парах ключ:значення і
#до них можна звертатися за допомогою імені ключа.
carDictionary1 = {
    "brand": "Dodge",
    "model": "Charger",
    "year": 2020
    }

print(carDictionary1["brand"])

У словниках Python ключі завжди унікальні. Це означає, що ви не можете мати два однакових ключі в одному словнику. Якщо ви спробуєте додати новий ключ, який вже існує в словнику, старе значення буде перезаписано новим значенням. Приклад з відео:

#Словники не можуть мати два елементи з однаковим ключем
#Дубльовані значення перезапишуть наявні значення
carDictionary = {
    "brand": "Dodge",
    "model": "Charger",
    "year": 2019,
    "year": 2020
    }

print(carDictionary)

Довжина словника

Довжина словника в Python визначається кількістю пар ключ-значення, які він містить. Щоб отримати цю довжину, можна скористатися функцією len(). Приклад з відео:

#Щоб визначити, скільки елементів містить словник, використовуйте
#функцію len().
carDictionary = {
    "brand": "Dodge",
    "model": "Charger",
    "year": 2020
    }

lengthOfDictionary = len(carDictionary)
print(carDictionary)
print(lengthOfDictionary)

Типи даних елементів у словниках

У словниках Python можна використовувати різноманітні типи даних. Приклад з відео:

#Значення в елементах словника можуть мати будь-який тип даних
carDictionary = {
    "brand": "Dodge",
    "electric": False,
    "year": 2020,
    "colors": ["yellow","blue","orange", "black", "white"]
    }

print(carDictionary)

Функція type() та словники

Функція type() у Python використовується для визначення типу об’єкта. Коли ви використовуєте цю функцію з словниками, вона поверне, що об’єкт є словником (dict). Приклад з відео:

#словники визначаються як об'єкти з типом даних "dict"
carDictionary = {
    "brand": "Dodge",
    "model": "Charger",
    "year": 2020
    }

print(carDictionary)
print(type(carDictionary))

Конструктор dict()

Конструктор dict() у Python створює новий словник. Він є універсальним способом для ініціалізації словників і може приймати різні типи вхідних даних. Приклад з відео:

#Також можна використовувати конструктор dict()
#щоб створити словник
carDictionary = dict(brand="Dodge", model="Charger", year=2020)
print(carDictionary)
print(type(carDictionary))

Доступ до елементів словника

Доступ до елементів словника у Python здійснюється за допомогою ключів. Словники в Python є колекціями пар ключ-значення. Щоб отримати значення, що відповідає певному ключу, ви використовуєте квадратні дужки [] або метод .get(). Приклад з відео:

#Ви можете отримати доступ до елементів словника, посилаючись на
#його ключове ім'я в квадратних дужках
#Існує також метод під назвою get(), який надасть вам
#той же результат
carDictionary = dict(brand="Dodge", model="Charger")
brandExtract = carDictionary["brand"]
modelExtract = carDictionary.get("model")
print(carDictionary)
print(brandExtract)
print(modelExtract)

Метод keys()

Метод keys() у словниках Python використовується для отримання видимих ключів словника. Він повертає вью-об’єкт (dict_keys), який є динамічним і відображає ключі словника в момент виклику. Приклад з відео:

#метод keys() поверне список усіх ключів
#в словнику
carDictionary=dict(brand="Dodge", model="Charger")
keysCarDictExtract = carDictionary.keys()
print(carDictionary)
print(keysCarDictExtract)
#додаванння нової key=value пари до словника
carDictionary["year"]=2020
print(carDictionary)
print(keysCarDictExtract)

Метод values()

Метод values() у словниках Python використовується для отримання всіх значень, які відповідають ключам словника. Він повертає вью-об’єкт (dict_values), який є динамічним і відображає значення словника на момент виклику. Приклад з відео:

#Метод values() поверне список усіх значень
#в словнику.
carDictionary = dict(brand="Dodge", model="Charger")
valuesExtract = carDictionary.values()
print(carDictionary)
print(valuesExtract)
#додавання новї key=value пари
carDictionary["year"]=2020
print(carDictionary)
print(valuesExtract)

Метод items()

Метод items() у словниках Python використовується для отримання всіх пар ключ-значення з словника. Він повертає вью-об’єкт (dict_items), який є динамічним і відображає пари ключ-значення словника на момент виклику. Приклад з відео:

#метод items() поверне кожен елемент у словнику,
#як кортежі в списку
carDictionary=dict(brand="Dodge", model="Charger")
itemsExtract = carDictionary.items()
print(carDictionary)
print(itemsExtract)
#додавання нової key=value пари
carDictionary["year"]=2020
print(carDictionary)
print(itemsExtract)

Перевірка наявності елементів

За допомогою ключового слова “in” можна перевірити наявність певного ключа у словнику. Приклад з відео:

# Щоб визначити, чи присутній вказаний ключ у словнику
#використовуйте ключове слово "in".
carDictionary = {
    "brand": "Dodge",
    "model": "Charger",
    "year": 2020
    }
print(carDictionary)
if "brand" in carDictionary:
    print("Key 'brand' is present in dictionary")
    
else:
    print("Key 'brand' is not present in dictionary")

Зміна значень у словниках

Для заміни значення у словнику потрібно звернутися за відповідним ключем і вказати нове значення. Приклад з відео:

#Ви можете змінити значення певного елемента шляхом посилання
#на назву ключа
carDictionary = dict(brand="Dodge", model="Charger", year=2020)
print(carDictionary)
carDictionary["model"]="Challenger"
carDictionary["year"]=2021
print(carDictionary)

Метод update() у словниках

Метод update() у словниках Python використовується для оновлення словника новими парами ключ-значення. Він дозволяє додати нові пари або оновити існуючі пари ключ-значення в словнику. Приклад з відео:

#метод update() оновить словник елементами
#від заданого аргументу.
#Якщо елемент не існує, його буде додано.
#Аргументом має бути словник або ітерований об’єкт
#з парами ключ:значення.
carDictionary = dict(brand="Dodge", model="Charger")
print(carDictionary)
carDictionary.update({"model":"Challenger"})
carDictionary.update({"year":2020})
print(carDictionary)

Методи pop() and popitem()

Метод pop() у словниках Python використовується для видалення пари ключ-значення з словника за допомогою вказаного ключа і повернення значення, яке відповідало цьому ключу. Це дозволяє не тільки видаляти елементи, але й отримувати їх значення.

Метод popitem() у словниках Python використовується для видалення і повернення останньої вставленої пари ключ-значення з словника. Цей метод є корисним, коли потрібно витягнути та видалити останній елемент словника в його порядку вставки.

Приклад з відео:

#метод pop() видаляє елемент із вказаною назвою ключа
#метод popitem() видаляє останній вставлений елемент
#(у версіях до 3.7 замість цього видаляється випадковий елемент)
carDictionary=dict(brand="Car", model="Some model", year=2000)
print(carDictionary)
carDictionary.pop("year")
print(carDictionary)
carDictionary.popitem()
print(carDictionary)

del та clear()

Ключове слово del у Python використовується для видалення об’єктів, включаючи елементи з словників. Коли ви використовуєте del з словниками, ви можете видаляти конкретні пари ключ-значення або навіть сам словник.

Метод clear() у словниках Python використовується для видалення всіх пар ключ-значення з словника, очищаючи його повністю. Після виклику clear(), словник залишається існуючим, але він стає порожнім.

Приклад з відео:

#ключове слово del може видалити елемент із вказаною назвою ключа
#ключове слово #del також може повністю видалити словник
#метод clear() очищає словник
carDictionary = dict(brand="Car", model="Some model", year=2000)
print(carDictionary)
del carDictionary["year"]
print(carDictionary)
carDictionary.clear()
print(carDictionary)
del carDictionary
#print(carDictionary)

Цикл for та словники

Цикл for у Python дозволяє ітеруватися по словниках різними способами, щоб обробити їх ключі, значення або пари ключ-значення. Приклад з відео:

#Ви можете переглядати словник за допомогою циклу for
carDictionary = dict(brand="Dodge", model="Charger")
print("option 1 - loop through keys")
for carkey in carDictionary:
    print(carkey)
print("option 2 - loop through values")
for carkey in carDictionary:
    print(carDictionary[carkey])
print("option 3 - use values method")
for car in carDictionary.values():
    print(car)
print("option 4 - use keys method")
for carkey in carDictionary.keys():
    print(carkey)
print("option 5 - use items method")
for carkey, car in carDictionary.items():
    print(carkey, car)

Копія словника

Для створення копії словника можна використати метод copy() або конструктор. Приклад з відео:

#Ви не можете скопіювати словник, просто ввівши dictionary2 = dictionary1,
#бо: dictionary2 буде лише посиланням на dictionary1,
#і зміни, зроблені в dictionary1, автоматично також будуть внесені в dictionary2.
#Ви можете використовувати метод copy() або конструктор, щоб створити копію словника.
carDictionary1 = dict(brand="Dodge", model="Charger")
carDictionary2 = carDictionary1.copy()
carDictionary3 = dict(carDictionary2)
print(carDictionary1)
print(carDictionary2)
print(carDictionary3)
carDictionary1["year"]=2020
carDictionary2["color"]="yellow"
print(carDictionary1)
print(carDictionary2)
print(carDictionary3)

Вкладені словники у Python

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

#Словник може містити словники, це називається вкладеними словниками
carPark = {
    "car1":{
        "brand":"Dodge",
        "model": "Charger"
        },
    "car2":{
        "brand": "Ford",
        "model": "Mustang"
        }    
    }

print(carPark["car1"]["brand"])
print(carPark["car1"]["model"])
print(carPark["car2"]["brand"])
print(carPark["car2"]["model"])

# for car in carPark:
#     for carIn in carPark[car]:
#         print(carPark[car][carIn])

Приклад з відео з кількома вкладеними словниками:

#ви можете додати кілька словників у новий словник
car1 = {
    "brand": "Dodge",
    "model": "Charger"
    }
car2 = {
    "brand": "Ford",
    "model": "Mustang"
    }
carPark = {
    "car1": car1,
    "car2": car2
    }
for car in carPark:
    for carIn in carPark[car]:
        print(carPark[car][carIn])
Урок 16. Словники у Python

В цьому відео поговоримо про:
00:13 Python Dictionary – Словник
02:02 Dictionary Items – Елементи словників
03:26 Duplicates and Dictionaries – Дуплікати і словники
04:54 Dictionary Length – Довжина словника
06:35 Data Types – Типи даних
07:40 type() функція
08:40 dict() конструктор
11:47 Accessing Dictionary Items – Доступ до елементів словника
14:30 keys() метод
18:00 values() метод
20:47 items() метод
23:29 Check if key exists – Перевірка чи є ключ
26:17 Change values in dictionary – Зміна значень у словниках
27:54 update() метод
30:24 pop() and popitem() методи
33:22 del and clear() – ключове слово del та метод clear()
38:21 Dictionary and for loop – Словник і цикл for
44:35 Copy Dictionary – Копіювання словника
47:53 Nested Dictionary – Вкладений словник

Приклади на Github