Функции и модули в Python
Урок 3: Функции и модули в Python
В този урок ще се запознаем с функциите и модулите в Python. Ще разгледаме как да създаваме, използваме и организираме функции, както и как да използваме модули за структуриране на кода и повторно използване на функционалност.
Функции в Python
Функциите са основен елемент в програмирането, който ни позволява да организираме кода си в многократно използваеми блокове. Те се дефинират с ключовата дума def
.
Дефиниране на функция
Ето пример за проста функция, която отпечатва съобщение:
def greet():
print("Hello, world!")
Извикване на функция
За да използваме функцията, просто я извикваме по име:
greet() # Отпечатва "Hello, world!"
Функции с параметри
Функциите могат да приемат параметри, които им позволяват да работят с различни входни данни. Ето пример:
def greet(name):
print(f"Hello, {name}!")
greet("Alice") # Отпечатва "Hello, Alice!"
greet("Bob") # Отпечатва "Hello, Bob!"
Функции с връщане на стойност
Функциите могат да връщат стойности с помощта на ключовата дума return
. Ето пример за функция, която изчислява квадрата на дадено число:
def square(number):
return number * number
result = square(4)
print(result) # Отпечатва 16
Обхват на променливите (Variable Scope)
Променливите в Python имат различен обхват в зависимост от това къде са дефинирани.
Локални променливи
Локалните променливи се дефинират вътре в функция и съществуват само в нейните граници:
def my_function():
local_var = 10
print(local_var)
my_function() # Отпечатва 10
print(local_var) # Грешка: local_var не е дефинирана извън функцията
Глобални променливи
Глобалните променливи се дефинират извън функциите и могат да бъдат достъпвани от всяка част на кода:
global_var = 20
def my_function():
print(global_var)
my_function() # Отпечатва 20
print(global_var) # Отпечатва 20
Рекурсия
Рекурсията е техника, при която функция извиква самата себе си. Тя е полезна за решаване на задачи, които могат да бъдат разделени на по-малки подзадачи.
Пример за рекурсивна функция, която изчислява факториал на число:
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
print(factorial(5)) # Отпечатва 120
Модули в Python
Модулите са начин за организиране на кода в отделни файлове и повторно използване на функционалност. Всеки файл с разширение .py
е модул.
Импортиране на модули
Можем да импортираме съществуващи модули с ключовата дума import
. Пример с вградения модул math
:
import math
print(math.sqrt(16)) # Отпечатва 4.0
Импортиране на конкретни функции
Можем да импортираме конкретни функции от модул:
from math import sqrt
print(sqrt(25)) # Отпечатва 5.0
Създаване на собствен модул
За да създадем собствен модул, просто създаваме файл с Python код и го импортираме в друг файл.
Пример:
mymodule.py
def greet(name):
print(f"Hello, {name}!")
main.py
import mymodule
mymodule.greet("Alice") # Отпечатва "Hello, Alice!"
Полезни вградени модули
Python предоставя множество вградени модули, които можем да използваме за различни задачи.
Модулът os
Модулът os
предоставя функции за работа с операционната система.
Пример:
import os
# Показване на текущата директория
print(os.getcwd())
# Създаване на нова директория
os.mkdir("new_directory")
# Промяна на текущата директория
os.chdir("new_directory")
print(os.getcwd())
Модулът datetime
Модулът datetime
предоставя функции за работа с дати и часове.
Пример:
import datetime
# Получаване на текущата дата и час
now = datetime.datetime.now()
print(now)
# Форматиране на дата
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date)
Организация на кода
Добрата организация на кода прави проектите по-лесни за поддържане и разбиране. Използването на функции и модули е ключово за тази цел.
Структуриране на проект
Добра практика е да организирате кода си в папки и файлове по следния начин:
project/
├── main.py
├── mymodule.py
└── utils/
└── helper.py
Използване на __init__.py
Файлът __init__.py
се използва за обозначаване на директория като пакет. Това ни позволява да импортираме модули от тази директория.
utils/init.py
# Този файл може да бъде празен или да съдържа код за инициализация на пакета
main.py
from utils.helper import helper_function
helper_function()
Примерна програма: Управление на библиотека
Нека създадем програма за управление на библиотека с книги, която използва функции и модули.
library.py
books = []
def add_book(title, author):
book = {"title": title, "author": author}
books.append(book)
def remove_book(title):
global books
books = [book for book in books if book["title"] != title]
def list_books():
for book in books:
print(f"Title: {book['title']}, Author: {book['author']}")
main.py
import library
library.add_book("The Great Gatsby", "F. Scott Fitzgerald")
library.add_book("1984", "George Orwell")
print("Books in library:")
library.list_books()
library.remove_book("1984")
print("\nBooks in library after removal:")
library.list_books()
В този урок разгледахме как да създаваме и използваме функции и модули в Python. Научихме как да организираме кода си и как да използваме вградени модули за различни задачи. В следващите уроци ще продължим да разширяваме нашите знания за Python и ще се запознаем с по-напреднали теми като обектно-ориентираното програмиране и работа с файлове. Практикувайте редовно и експериментирайте с различни функции и модули, за да затвърдите наученото.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut