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.")
В цьому відео поговоримо про:
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 – Імпортування частини модуля