Класи в Python — це шаблони для створення об’єктів, які дозволяють організувати дані і функціональність у програмі. Вони є основою об’єктно-орієнтованого програмування (ООП) і дозволяють створювати об’єкти, які мають власні атрибути (дані) і методи (функції). Приклад з відео:
#Python — це об'єктно-орієнтована
#мова програмування.
#Майже все в Python є об’єктом
#зі своїми властивостями та методами.
#Клас схожий на конструктор об’єктів
#або «схему» для створення об’єктів.
#Щоб створити клас, використовуйте
#ключове слово class
class MyFavouriteNumber:
favouriteNumber = 5
#Now we can use the class named MyFavouriteNumber to create objectsfavNum1 = MyFavouriteNumber()
print(favNum1)
print(type(favNum1))
print(favNum1.favouriteNumber)
Функція __init__()
Функція __init__() в Python — це спеціальний метод, який використовується як конструктор класу. Він викликається автоматично при створенні нового об’єкта цього класу і використовується для ініціалізації атрибутів об’єкта. Приклад з відео:
#Щоб зрозуміти значення класів,
#ми повинні зрозуміти
#вбудовану функцію __init__().
#Усі класи мають функцію під
#назвою __init__(), яка завжди
#виконується, коли клас ініціюється.
#Функція __init__() щоразу
#викликається автоматично
#клас використовується для
#створення нового об'єкта.
class MyFavouriteNumber:
def __init__(self, favouriteNumber):
self.favouriteNumber=favouriteNumber
favNum1 = MyFavouriteNumber(7)
print(favNum1.favouriteNumber)
favNum2 = MyFavouriteNumber(8)
print(favNum2.favouriteNumber)
Функція __str__()
Функція __str__() в Python — це спеціальний метод, який визначає, як об’єкт класу буде представлений у вигляді рядка. Він викликається, коли ви використовуєте функцію print() або функцію str() для об’єкта. Приклад з відео:
#Функція __str__() керує тим,
#що має бути повернуто
#коли об'єкт класу представлено
#у вигляді рядка.
#Якщо функцію __str__() не встановлено,
#повертається рядкове представлення об'єкта
class Person:
def __init__(self, name, surname, age):
self.name = name
self.surname = surname
self.age = age
person1 = Person("John", "Smith", 35)
print(person1)
print(person1.name, person1.surname, person1.age)
person2 = Person("Jenny", "Jackson", 30)
print(person2)
print(person2.name, person2.surname, person2.age)
Приклад рядкового представлення об’єкта за допомогою функції __str__() з відео:
Спрощено методи об’єкта в Python — це функції, які визначені всередині класу і можуть бути викликані на об’єктах цього класу. Вони дозволяють виконувати дії або маніпулювати атрибутами об’єкта. Приклад з відео:
#Об'єкти також можуть містити методи.
#Методи в об'єктах є функціями
#які належать об'єкту.
#Параметр self - це посилання на
#поточний екземпляр класу,
#та використовується для доступу до
#змінних, які належать до класу.
class Person:
def __init__(self, name, surname):
self.name = name
self.surname = surname
def introduceFunc(self):
print("Hello my name is {} {}".format(self.name, self.surname))
person1 = Person("John", "Smith")
person1.introduceFunc()
person2 = Person("Jenny", "Jackson")
person2.introduceFunc()
Параметр self
Параметр self в Python — це посилання на поточний об’єкт класу, з яким працює метод. Він використовується для доступу до атрибутів і методів цього об’єкта. Приклад з відео:
#Параметр self - це посилання на
#поточний екземпляр класу,
#та використовується для доступу до
#змінних, які належать до класу.
#Його не обов'язково називати self,
#ви можете називати його як завгодно,
#але це має бути перший параметр
#будь-якої функції в класі.
class Person:
def __init__(refToCurrentInstance, name, surname):
refToCurrentInstance.name = name
refToCurrentInstance.surname = surname
def introduceFunc(refToCurrentInstance):
print("Hello my name is {} {}".format(refToCurrentInstance.name,
refToCurrentInstance.surname))
person1 = Person("John", "Smith")
person1.introduceFunc()
person2 = Person("Jenny", "Jackson")
person2.introduceFunc()
Внесення змін в об’єкти класу
Змінювати об’єктіи класу можна за допомогою так званого dot syntax (синтаксису крапки). Dot syntax (синтаксис крапки) в Python — це спосіб доступу до атрибутів і методів об’єктів або класів за допомогою крапки. Це дозволяє вам працювати з властивостями та функціями, які належать до конкретного об’єкта або класу. Приклад з відео:
#Ви можете змінювати властивості об’єктів,
#використовуючи крапковий синтаксис для доступу
class Person:
def __init__(self, name, surname, age):
self.name = name
self.surname = surname
self.age = age
def introduceFunc(self):
print("Hello my name is {} {}".format(self.name, self.surname))
print("I'm {} old".format(self.age))
person1 = Person("John", "Smith", 35)
person1.introduceFunc()
person1.name = "James"
person1.age = 33
person1.introduceFunc()
del person1.age
#person1.introduceFunc()
del person1
#print(person1)
Урок 23. Класи та об’єкти
В цьому відео поговоримо про: 00:06 Classes 03:43 init() Function 09:39 str() Function 18:30 Object Methods 22:35 self Parameter 27:14 Modify Objects
Python підтримує різноманітні типи файлів. Файли можна розділити на дві великі групи:
Текстові файли – файли, які зберігають інформацію у текстовому форматі, напр. txt, html, csv тощо.
Двійкові файли – зображення, аудіо, відео тощо.
Робота з файлами може відрізнятися в залежності від типу файлу.
Послідовність роботи з файлами:
Використовуйте метод open(), щоб відкрити файл
Використовуйте метод read() для читання файлу або метод write() для запису у файл.
Використовуйте метод close(), щоб закрити файл.
Для початку роботи з файлом скористайтеся методом open(), щоб відкрити його: open(file, mode). Перший параметр – це шлях до файлу. Він може бути абсолютним або відносним.
Приклад абсолютного шляху до файлу – C://directoryname/filename.txtC://directoryname/filename.txt
Відносний шлях до файлу залежить від місця поточного скрипта Python. Приклад відносного шляху: directoryname/filename.txtdirectoryname/filename.txt
Другим аргументом є режим. Є чотири режими:
r (Read/Читання). Відкриває файл для читання. Якщо файл не знайдено, генерується FileNotFoundError.
w (Write/Написати). Відкриває файл для запису в нього. Якщо файл відсутній, він створений. Якщо файл присутній, він створюється знову, а всі дані в ньому стираються.
a(Append/Додати). Відкриває файл для внесення змін без стирання попередніх даних. Якщо файл відсутній, він створюється. Якщо файл присутній, нова інформація додається в кінці файлу.
x (Create/Створити). Створює файл, якщо файл існує, повертає помилку.
Крім того, ви можете вказати, чи потрібно обробляти файл у двійковому чи текстовому режимі:
t – text – значення за замовчуванням. Текстовий режим
b – binary – Двійковий режим (наприклад, зображення)
Функція open() в Python використовується для відкриття файлів. Вона повертає об’єкт файлу, з яким можна працювати. Приклад з відео:
Під час роботи з файлами можуть виникати помилки, для обробки яких можна використовувати блоки try except. Приклад з відео:
#Під час роботи з файлами можливі винятки.
#Ви можете використовувати блоки
#"try...except" для вирішення таких проблем.
try:
file2 = open("file2.txt", "w")
try:
file2.write("Python is a solid choice.")
except Exception as exInner:
print(exInner)
finally:
file2.close()
except Exception as exOuter:
print(exOuter)
Вираз with в Python
Вираз with в Python використовується для управління контекстом, що дозволяє автоматично обробляти ресурси, такі як файли або з’єднання. Він забезпечує безпечне відкриття і закриття ресурсів, навіть якщо виникає помилка.
Основні переваги використання with:
Автоматичне закриття ресурсів: Наприклад, при відкритті файлу, with автоматично закриває його після виходу з блоку, навіть якщо сталася помилка.
Читабельність: Код стає більш зрозумілим і компактним.
Приклад з відео:
#Можна використовувати вираз "with".
#Він закриває файли в будь-якому разі.
# with open(filename, mode) as file_obj:
# commands
#with вираз визначає змінну file_obj для відкритого файлу.
with open("file3.txt", "w") as fileInUse:
fileInUse.write("Python is a solid choice. File3.")
Метод write()
Метод write() в Python використовується для запису певного тексту у файл. Приклад з відео:
#створити новий файл і вписати в нього текст.
with open("file4.txt", "w") as fileInUse:
fileInUse.write("Java is a solid choice. File4")
with open("file4.txt", "w") as fileInUse:
fileInUse.write("Python is a solid choice. File4.")
with open("file4.txt", "a") as fileInUse:
fileInUse.write("\nJava is a solid choice. File4")
with open("file4.txt", "a") as fileInUse:
print("\nC# is a solid choice. File4", file=fileInUse)
Зчитування файлу
Зчитування файлу в Python зазвичай здійснюється за допомогою методу open() у поєднанні з методами для читання вмісту. Основні способи зчитування:
read() – Зчитує весь вміст файлу як один рядок.
readline() – Зчитує один рядок за раз.
readlines() – Зчитує всі рядки та повертає їх у вигляді списку.
Приклад з відео:
#ви можете прочитати текстовий файл за допомогою cycle for
with open("file4.txt", "r") as fileInUse:
for line in fileInUse:
print(line, end="")#readline is used behind the scene
#Явне використання readline
print("\nExplicit use of readline\n")
with open("file4.txt", "r") as fileInUse:
str1=fileInUse.readline()
print(str1, end="")
str2=fileInUse.readline()
print(str2, end="")
str3=fileInUse.readline()
print(str3, end="")
Приклад з відео із поєднанням readline() з циклом while та застосуванням методу read():
#readline() у поєднанні з циклом while
with open("file4.txt", "r") as fileInUse:
fileLine = fileInUse.readline()
while fileLine:
print(fileLine, end="")
fileLine = fileInUse.readline()
print()
#для невеликих файлів можна
#використовувати метод read().
with open("file4.txt", "r") as fileInUse:
fileContent = fileInUse.read()
print(fileContent)
Приклад із застосуванням readlines() та додаванням encoding параметра з відео:
#Метод readlines() можна використовувати
#для читання всіх рядків файлу
#вони будуть збережені як список
with open("file4.txt", "r") as fileInUse:
fileContent = fileInUse.readlines()
print(fileContent)
#якщо є проблеми з кодуванням,
#можна скористатися параметром кодування
with open("file4.txt", encoding="utf8") as fileInUse:
fileContent = fileInUse.read()
print(fileContent)
Файли csv
Робота з CSV-файлами в Python зазвичай здійснюється за допомогою стандартної бібліотеки csv, яка забезпечує прості інструменти для читання та запису CSV-даних. Приклад з відео:
#У Python є модуль csv.
#Цей модуль спрощує роботу з файлами csv.
import csv
fileName = "file8.csv"
customers = [
["Solverson", 35],
["Jackson", 29]
]
with open(fileName, "w", newline="") as fileInUse:
writer = csv.writer(fileInUse)
writer.writerows(customers)
with open(fileName, "a", newline="") as fileInUse:
customer = ["Smith", 25]
writer = csv.writer(fileInUse)
writer.writerow(customer)
with open(fileName, "r", newline="") as fileInUse:
reader=csv.reader(fileInUse)
for i in reader:
print("Name: {}, Age: {}".format(i[0], i[1]))
Модуль OS
В Python є вбудований модуль os.
Цей модуль містить низку корисних функцій:
mkdir() – створює нову папку
rmdir() – видаляє папку
rename() – перейменовує файл
remove() – видаляє файл
Модуль os в Python — це стандартна бібліотека, яка надає функції для взаємодії з операційною системою. Він дозволяє виконувати різні операції, такі як робота з файлами і каталогами, отримання інформації про систему, а також управління середовищем. Приклад з відео:
import os
#використання методу mkdir
try:
os.mkdir("dir1")
with open("dir1/file.txt","w") as fileInUse:
fileInUse.write("Python is a solid choice")
with open("dir1/file.txt", "r") as fileInUse:
content = fileInUse.read()
print(content)
except Exception as e:
print(e)
Приклад з перейменуванням файлу з відео:
import os
os.rename("dir1/file.txt", "dir1/fileRenamed.txt")
with open("dir1/fileRenamed.txt", "r") as fileInUse:
content = fileInUse.read()
print(content)
Приклад з видаленням файлу та папки з відео:
import os
#delete folder dir1
os.remove("dir1/fileRenamed.txt")
os.rmdir("dir1")
Урок 22. Файли
В цьому відео поговоримо про: 00:07 Files 12:22 write() – “w” and “a” 15:54 Reading file 27:23 csv files 34:46 OS Module
У Python функція findall() належить до модуля re, який використовується для роботи з регулярними виразами. Ця функція шукає всі неперервні входження шаблону в рядку і повертає їх у вигляді списку. Приклад з відео:
#"RegEx", або регулярний вираз, це
#послідовність символів, яка утворює
#шаблон пошуку.
#RegEx можна використовувати, щоб перевірити,
#чи містить рядок вказаний шаблон пошуку.
#Python має вбудований пакет під назвою re,
#з яким можна працювати
#Імпортуйте модуль re.
#Функція findall() повертає список із усіма збігами.
import re
str1 = "It was raining outside."
mathcList = re.findall("rain", str1)
print(str1)
print(mathcList)
Приклад з findall(), якщо не було збігів:
#Якщо збігів не знайдено,
#повертається порожній список
import re
str1 = "It was raining outside."
matchList = re.findall("snowing",str1)
print(str1)
print(matchList)
Символ
Опис
Приклад
[]
Набір символів
“[a-m]”
\
Сигналізує спеціальну послідовність (також може використовуватися для екранування спеціальних символів)
“\d”
.
Будь-який символ (крім символу нового рядка)
“ra..g”
^
Починається з
“^It”
$
Закінчується на
“side.$”
*
Нуль або більше випадків
“ra.*g”
+
Один або кілька випадків
“ra.+g”
?
Нуль або один раз
“ra.?g”
{}
Точно вказана кількість повторень
“ra.{4}g”
|
Або або
“raining|snowing”
Метасимволи
Приклад із метсимволами з відео:
import re
str1 = "15th December. It was raining outside."
#Знайти всі символи нижнього регістру в
#алфавітному порядку між «a» і «y»:
searchResult = re.findall("[a-y]", str1)
print("All lower case characters")
print(searchResult)
#Знайти всі цифрові символи:searchResult2 = re.findall("\d", str1)
print(searchResult2)
#Пошук послідовності, яка починається з "ra", а потім чотири (будь-які)
#символи та "g":
searchResult3 = re.findall("ra....g", str1)
print(searchResult3)
Ще приклад із застосуванням метсимволів з відео:
import re
str1 = "It was raining outside."
#Перевірте, чи рядок починається з "It":searchResult = re.findall("^It", str1)
print(searchResult)
#Перевірте, чи закінчується рядок на 'side.':searchResult2 = re.findall("side.$", str1)
print(searchResult2)
#Пошук послідовності, яка починається з "ra", після чого йде 0
#або більше символів і "g":
searchResult3 = re.findall("ra.*g", str1)
print(searchResult3)
Ще один приклад з метасимволами з відео:
import re
str1 = "It was raining outside."
#Пошук послідовності, яка починається
#з "ra", за якою йде 1 або більше
# (будь-яких) символів та "g"
searchResult = re.findall("ra.+g", str1)
print(searchResult)
#Пошук послідовності, яка починається
#з "ra", після чого йде 0 або 1
#символ і "g":
searchResult2 = re.findall("ra.?g", str1)
print(searchResult2)
#Пошук послідовності, яка починається
#з "ra", з точним дотриманням
#4 символи та "g"
searchResult3 = re.findall("ra.{4}g",str1)
print(searchResult3)
#Перевірте, чи рядок містить текст "raining" чи "snowing"searchResult4 = re.findall("raining|snowing",str1)
print(searchResult4)
Також findall() можна застосовувати зі спеціальними послідовностями.
Символ
Опис
Приклад
\A
Повертає збіг, якщо вказані символи знаходяться на початку рядка
“\AThe”
\b
Повертає збіг, якщо вказані символи знаходяться на початку або в кінці слова (“r” на початку впевнюється, що рядок розглядається як “необроблений рядок”)
r”\bain” r”ain\b”
\B
Повертає збіг, якщо вказані символи присутні, але НЕ на початку (чи в кінці) слова (“r” на початку гарантує, що рядок розглядається як “необроблений рядок”)
r”\Bain” r”ain\B”
\d
Повертає збіг, якщо рядок містить цифри (числа від 0 до 9)
“\d”
\D
Повертає збіг, якщо рядок НЕ містить цифр
“\D”
\s
Повертає збіг, якщо рядок містить пробіл
“\s”
\S
Повертає збіг, якщо рядок НЕ містить пробілу
“\S”
\w
Повертає збіг, якщо рядок містить будь-які символи слова (символи від a до Z, цифри від 0 до 9 і символ підкреслення _)
“\w”
\W
Повертає збіг, якщо рядок НЕ містить символів слів
“\W”
\Z
Повертає збіг, якщо вказані символи знаходяться в кінці рядка
“Spain\Z”
Спеціальні послідовності
Приклад зі спеціальними символами з відео:
import re
str1 = "25th December. It was raining outside."
#Перевірте, чи починається рядок з "It"searchResult = re.findall("\AIt", str1)
print(searchResult)
#Перевірте, чи є слово «rain» на початку словаsearchResult2 = re.findall(r"\brain", str1)
print(searchResult2)
#Перевірте, чи є "ing" у кінці словаsearchResult3 = re.findall(r"ing\b", str1)
print(searchResult3)
#Перевірте, чи присутній "ini", але НЕ на початку словаsearchResult4 = re.findall(r"\Bini", str1)
print(searchResult4)
#Перевірте, чи містить рядок якісь цифри (від 0 до 9)searchResult5 = re.findall("\d", str1)
print(searchResult5)
Ще один приклад з відео зі спецсимволами:
import re
str1 = "25th December. It was raining outside."
#Повертати збіг для кожного символу без цифр
print("Return a match at every no-digit character")
searchResult = re.findall("\D", str1)
print(searchResult)
#Повертати збіг для кожного пробілу
print("Return a match at every white-space character")
searchResult2 = re.findall("\s", str1)
print(searchResult2)
#Повертати збіг для кожного НЕ пробілу
print("Return a match at every NON white-space character")
searchResult3 = re.findall("\S", str1)
print(searchResult3)
#Повертати збіг для кожного символу слова
#(символи від a до Z, цифри від 0 до 9 і символ підкреслення _)"
print("Return a match at every word character (characters from a to Z, digits from 0-9, and the underscore _ character)")
searchResult4 = re.findall("\w", str1)
print(searchResult4)
#Повертати збіг для кожного НЕ символу слова
#(символи НЕ між a і Z. Наприклад \"!\", \"?\" пробіл тощо)
print("Return a match at every NON word character (characters NOT between a and Z. Like \"!\", \"?\" white-space etc.)")
searchResult5 = re.findall("\W", str1)
print(searchResult5)
#Перевірте, чи закінчується рядок на \"outside.\
print("Check if the string ends with \"outside.\"")
searchResult6 = re.findall("outside.\Z", str1)
print(searchResult6)
З findall() також часто використовуються sets або набори символів.
Set
Опис
[arn]
Повертає збіг, де присутній один із указаних символів (a, r або n).
[a-n]
Повертає збіг для будь-якого символу нижнього регістру в алфавітному порядку від a до n
[^arn]
Повертає збіг для будь-якого символу, КРІМ a, r і n
[0123]
Повертає збіг, якщо присутня будь-яка з указаних цифр (0, 1, 2 або 3).
[0-9]
Повертає збіг для будь-якої цифри від 0 до 9
[0-5][0-9]
Повертає збіг для будь-яких двозначних чисел від 00 до 59
[a-zA-Z]
Повертає збіг для будь-якого символу в алфавітному порядку від a до z, нижнього АБО верхнього регістру
[+]
У наборах +, *, ., |, (), $,{} не мають спеціального значення, тому [+] означає: повертає збіг для будь-якого символу + у рядку
Набори символів
Приклад з наборами символів з відео:
import re
str1 = "25th December. It was raining outside."
#Перевірте, чи містить рядок символи j, i або wsearchResult = re.findall("[jiw]", str1)
print(searchResult)
#Перевірте, чи містить рядок символи між j і wsearchResult2 = re.findall("[j-w]", str1)
print(searchResult2)
#Перевірте, чи містить рядок інші символи, крім j, i чи wsearchResult3 = re.findall("[^jiw]", str1)
print(searchResult3)
#Перевірте, чи містить рядок 1, 2, 3, 4 або 5 цифрsearchResult4 = re.findall("[12345]", str1)
print(searchResult4)
Ще один приклад з відео з наборами символів:
import re
str1 = "25th December. It was raining outside.+"
#Перевірте, чи містить рядок цифри від 0 до 9searchResult = re.findall("[0-9]", str1)
print(searchResult)
#Перевірте, чи містить рядок двозначні числа від 00 до 99searchResult2 = re.findall("[0-9][0-9]", str1)
print(searchResult2)
#Перевірте, чи містить рядок символи
#від a до w нижнього регістру,
#і від A до Y у верхньому регістріsearchResult3 = re.findall("[a-wA-Y]", str1)
print(searchResult3)
#Перевірте, чи містить рядок символи +
searchResult4 = re.findall("[+]", str1)
print(searchResult4)
Функція search()
Функція search() у Python також належить до модуля re, який використовується для роботи з регулярними виразами. Ця функція шукає перше входження шаблону в рядку і повертає об’єкт-результат, якщо знайдено, або None, якщо входження не виявлено. Приклад з відео:
#Функція search() шукає збіг у рядку та повертає
#Match об'єкт, якщо є збіг.
#Якщо є більше одного збігу, лише перший збіг
#повернеться.
import re
str1 = "It was raining outside."
match1 = re.search("\s", str1)
print(match1)
print("Position of space: ", match1.start())
Ще один приклад із застосуванням функції search() з відео:
#Якщо збігів не знайдено,
#повертається значення None
import re
str1 = "It was raining outside."
match1 = re.search("snowing", str1)
print(match1)
Функція split()
Функція split() у Python використовується для розділення рядка на список підрядків на основі роздільника. Приклад з відео:
#Функція split() повертає список,
#де було розділено рядок
#по кожному збігу.
import re
str1 = "It was raining outside."
splitedList = re.split("\s", str1)
print(str1)
print(splitedList)
print(str1)
Ще один приклад із застосуванням функції split():
#Ви можете контролювати кількість
#повторень, вказавши
#параметр maxsplit
import re
str1 = "It was raining outside."
splitedList = re.split("\s", str1, 1)
print(str1)
print(splitedList)
Функція sub()
Функція sub() у Python належить до модуля re і використовується для заміни частин рядка, які відповідають заданому регулярному виразу, на інший рядок. Приклад з відео:
#Функція sub() замінює збіги
#текстом за вашим вибором
import re
str1 = "It was raining outside."
substitutedStr1 = re.sub("\s", "-", str1)
print(str1)
print(substitutedStr1)
Ще один приклад із sub() з відео:
#Ви можете контролювати кількість замін,
#вказавши параметр count
import re
str1 = "It was raining outside."
substitutedStr1 = re.sub("\s", "-", str1, 1)
print(str1)
print(substitutedStr1)
Match object
Match object (об’єкт відповідності) у Python є результатом виконання функцій модуля re, таких, наприклад, як search() та findall(). Цей об’єкт надає інформацію про знайдене входження регулярного виразу в рядок. Він містить різні методи та атрибути, які дозволяють отримати деталі про знайдене входження. Приклад з відео:
#Об’єкт відповідності – це об’єкт,
#що містить інформацію про пошук
#і результат.
#Якщо збігу немає, замість нього
#буде повернено значення None
import re
str1 = "It was raining outside."
searchResult = re.search("rain", str1)
print(searchResult)
Приклад з Match object та span():
#.span() повертає кортеж,
#що містить початкову та кінцеву позиції
#збігу.
#Регулярний вираз шукає будь-які слова,
#які починаються з малої літери "r"
import re
str1 = "It was raining outside."
searchResult = re.search(r"\br\w+", str1)
print(searchResult)
print(searchResult.span())
Приклад з Match object та group():
#.group() повертає частину
#рядка, де був збіг
#Регулярний вираз шукає будь-які
#слова, які починаються з малої літери "r"
import re
str1 = "It was raining outside."
searchResult = re.search(r"\br\w+", str1)
print(searchResult)
print(searchResult.group())
Приклад з Match object та string:
#.string повертає рядок, переданий у функцію
#Регулярний вираз шукає будь-які слова,
#які починаються з малої літери "r"
import re
str1 = "It was raining outside."
searchResult = re.search(r"\br\w+", str1)
print(searchResult)
print(searchResult.string)
Урок 21. Регулярні вирази
В цьому відео поговоримо про: 00:00:08 findall() Function 00:05:20 Metacharacters – метасимволи 00:20:07 Special Sequences – Спеціальні послідовності 00:43:41 Sets – набори у регулярних виразах 00:57:07 search() Function 01:01:44 split() 01:06:40 sub() 01:09:46 Match object
Модуль 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. За допомогою цього методу ви можете вказати, як саме ви хочете відобразити дату та час, використовуючи спеціальні формати.
Директива
Опис
Приклад
%a
Weekday, short version
Wed
%A
Weekday, full version
Wednesday
%w
Weekday as a number 0-6, 0 is Sunday
3
%d
Day of month 01-31
31
%b
Month name, short version
Dec
%B
Month name, full version
December
%m
Month as a number 01-12
12
%y
Year, short version, without century
18
%Y
Year, full version
2018
%H
Hour 00-23
17
%I
Hour 00-12
05
%p
AM/PM
PM
%M
Minute 00-59
41
%S
Second 00-59
08
%f
Microsecond 000000-999999
548513
%z
UTC offset
+0100
%Z
Timezone
CST
%j
Day number of year 001-366
365
%U
Week number of year, Sunday as the first day of week, 00-53
52
%W
Week number of year, Monday as the first day of week, 00-53
52
%c
Local version of date and time
Mon Dec 31 17:41:00 2018
%C
Century
20
%x
Local version of date
12/31/18
%X
Local version of time
17:41:00
%%
A % character
%
%G
ISO 8601 year
2018
%u
ISO 8601 weekday (1-7)
1
%V
ISO 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*5factorialOf5 = 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
У 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:
В цьому відео поговоримо про: 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 – Імпортування частини модуля