В предыдущем уроке мы научились создавать функции, но они работали только с фиксированными значениями. Чтобы функция была по-настоящему полезной, она должна уметь работать с разными данными. Для этого используются параметры — переменные, которые функция получает при вызове.
В этом уроке мы научимся передавать данные в функции через параметры, использовать позиционные и именованные аргументы, а также задавать значения по умолчанию.
Параметр — это переменная в определении функции. Аргумент — это значение, которое передаётся в функцию при вызове.
def greet(name): # name — это параметр
print(f"Привет, {name}!")
greet("Анна") # "Анна" — это аргумент
greet("Петя") # "Петя" — это аргументПозиционные аргументы передаются в том порядке, в котором указаны параметры:
def introduce(name, age):
print(f"Меня зовут {name}, мне {age} лет.")
introduce("Анна", 15)
introduce("Петя", 16)
# Вывод:
# Меня зовут Анна, мне 15 лет.
# Меня зовут Петя, мне 16 лет.def add(a, b):
result = a + b
print(f"{a} + {b} = {result}")
add(5, 3) # 5 + 3 = 8
add(10, 20) # 10 + 20 = 30def calculate_area(width, height):
area = width * height
print(f"Площадь прямоугольника: {area}")
calculate_area(5, 7) # Площадь прямоугольника: 35
calculate_area(10, 3) # Площадь прямоугольника: 30Именованные аргументы позволяют передавать значения, указывая имя параметра:
def introduce(name, age):
print(f"Меня зовут {name}, мне {age} лет.")
introduce(name="Анна", age=15)
introduce(age=16, name="Петя") # Порядок не важен!def create_profile(name, age, city, hobby):
print(f"Имя: {name}")
print(f"Возраст: {age}")
print(f"Город: {city}")
print(f"Хобби: {hobby}")
create_profile(
Можно комбинировать позиционные и именованные аргументы, но сначала идут позиционные, потом именованные:
def introduce(name, age, city):
print(f"{name}, {age} лет, из {city}")
introduce("Анна", 15, city="Москва")
introduce("Петя", age=16, city="СПб")Параметры могут иметь значения по умолчанию. Если аргумент не передан, используется значение по умолчанию:
def greet(name, greeting="Привет"):
print(f"{greeting}, {name}!")
greet("Анна") # Привет, Анна!
greet("Петя", "Здравствуй") # Здравствуй, Петя!def create_message(name, greeting="Привет", punctuation="!"):
print(f"{greeting}, {name}{punctuation}")
create_message("Анна") # Привет, Анна!
create_message("Петя", "Здравствуй") # Здравствуй, Петя!
create_message("Маша", "Добро пожаловать", ".")def power(number, exponent=2):
result = number ** exponent
print(f"{number} в степени {exponent} = {result}")
power(5) # 5 в степени 2 = 25
power(3, 3) # 3 в степени 3 = 27
power(2, 10Что такое параметр функции?
Что выведет этот код?
def multiply(a, b):
print(a * b)
multiply(5, 3)Что выведет этот код?
def greet(name, greeting="Привет"):
print(f"{greeting}, {name}!")
greet("Анна")
greet("Петя", "Здравствуй")Создай функцию calculate_perimeter(), которая принимает длину и ширину прямоугольника и выводит его периметр.
def calculate_perimeter(length, width):
perimeter = 2 * (length + width)
print(f"Периметр: {perimeter}")
calculate_perimeter(5, 7) # Периметр: 24Создай функцию repeat_text(), которая принимает текст и количество повторений (по умолчанию 3) и выводит текст указанное количество раз.
def repeat_text(text, times=3):
print(text * times)
repeat_text("Привет") # ПриветПриветПривет
repeat_text("Пока", 2) # ПокаПокаЧто выведет этот код?
def introduce(name, age, city="Москва"):
print(f"{name}, {age} лет, из {city}")
introduce("Анна", 15)
introduce("Петя", 16, "СПб")Создай функцию greet_person(), которая принимает имя и выводит приветствие: "Привет, <имя>!".
Создай функцию calculate_sum(), которая принимает два числа и выводит их сумму.
Создай функцию print_info(), которая принимает имя и возраст и выводит: "Меня зовут <имя>, мне <возраст> лет."
Создай функцию repeat_word(), которая принимает слово и количество повторений (по умолчанию 3) и выводит слово указанное количество раз через пробел.
Создай функцию calculate_volume(), которая принимает длину, ширину и высоту прямоугольного параллелепипеда и выводит его объём.
Создай функцию create_message(), которая принимает имя и приветствие (по умолчанию "Привет") и выводит: "<приветствие>, <имя>!".
Создай функцию print_table(), которая принимает число и выводит таблицу умножения для этого числа от 1 до 10. Например, для числа 5:
5 * 1 = 5
5 * 2 = 10
...
5 * 10 = 50
Создай функцию sum_all(*numbers), которая принимает произвольное количество чисел и возвращает их сумму.
Создай функцию format_date(day, month, year, sep="/"), которая возвращает строку даты. Например: format_date(5, 12, 2024) → "5/12/2024", format_date(5, 12, 2024, sep=".") → "5.12.2024".