Добавить в корзинуПозвонить
Найти в Дзене

Python. Основы синтаксиса. Методы. Часть 5.1

В предыдущей статье мы говорили про библиотеки и немного затронули методы. Теперь давайте подробнее поговорим про методы, освоим синтаксис написания методов в Python и напишем несколько примеров. Ранее мы уже встречались с методами, а именно: print, randint, len и др. В языке программирования Python метод определяется с помощью оператора def (от англ. слова define). # Для определения метода используется ключевое слово def # Затем идёт название метода, а в скобках аргументы или их отсутствие # Двоеточие говорит о том, что дальше мы передаем инструкции def my_fun(): # Тело метода, тут выполняется код # Для примера выведем что-нибудь в консоль print("Я твой метод") # Точка входа в программу main, то есть через неё запускается сама программа. if __name__ == '__main__': # Вызов метода my_fun() Результат работы программы: Я твой метод Сам по себе метод my_fun является подпрограммой и может быть вызван несколько раз из разных мест. В конце предыдущей статьи мы написали

В предыдущей статье мы говорили про библиотеки и немного затронули методы. Теперь давайте подробнее поговорим про методы, освоим синтаксис написания методов в Python и напишем несколько примеров.

Ранее мы уже встречались с методами, а именно: print, randint, len и др.

В языке программирования Python метод определяется с помощью оператора def (от англ. слова define).

# Для определения метода используется ключевое слово def

# Затем идёт название метода, а в скобках аргументы или их отсутствие

# Двоеточие говорит о том, что дальше мы передаем инструкции

def my_fun():

# Тело метода, тут выполняется код

# Для примера выведем что-нибудь в консоль

print("Я твой метод")

# Точка входа в программу main, то есть через неё запускается сама программа.

if __name__ == '__main__':

# Вызов метода

my_fun()
Результат работы программы: Я твой метод

Сам по себе метод my_fun является подпрограммой и может быть вызван несколько раз из разных мест.

В конце предыдущей статьи мы написали программу, которая выдаёт случайного котика.

Давайте выведем наш код программы в отдельный метод и вызовем его. Так же мы воспользуемся библиотекой random.

# Импортируем библиотеку

import random

def printInnerCat():

# Создаем список

inner_cat_list = ["Кот Николай", "Кот Степан", "Кот большое брюхо", "Кот мышиный король"]

# Вызываем метод для получения случайного числа с помощью randint

value = random.randint(0, len(inner_cat_list) - 1)

# Получаем нашего внутрннего зверя по индексу

cat = inner_cat_list[value]

# Выводим в консоль нашего внутреннего зверя

print(f"На сегодня мой внутренний зверь: {cat}")

# Точква входа в программу main, то есть через неё запускается сама программа.

if __name__ == '__main__':

# Вызов метода

printInnerCat()
Результат работы программы: На сегодня мой внутренний зверь: Кот мышиный король

Отлично, базовый синтаксис написания методов освоили, давайте теперь перейдём к немного усложнённым метода, а именно метод с аргументами.

Как правило метод на вход может принимать больше одного аргумента.

Аргумент представляет из себя некое локальное значение, которое присваивается в момент вызова метода.

Создание метода с аргументами выглядит следующим образом.

# Х - это аргумент метода

def printCat(x):

# Тело метода

Также метод может возвращать какое-то значение.

# Х - это аргумент метода

def printCat(x):

# Тело метода

# return прерывает выполнение метода и возвращает то, что идёт после него

return True

Когда мы объявляем переменную внутри метода, то она является локальной переменной и будет видна только в пределах видимости метода, за пределами метода эту переменную нельзя использовать

Если мы попытаемся обратиться к переменной метода за его пределами, то программа выдаст ошибку NameError: name 'variable name' is not defined.

Но методы могут видеть глобальные переменные.

Глобальные переменные это переменные область видимости которых является вся программа.

Методы могут взаимодействовать друг с другом и то, что вычисляется в локальных областях видимости метода может передавать, если используется команда return.

Напишем программу, которая ждёт ввода чисел через пробел от пользователя и затем передаёт их в метод, а он производит расчет суммы этих чисел и возвращает значение.

# Реализуем метод, который будет считать сумму числе.

def calcSum(num_list):

sum = 0

for num in num_list:

sum += int(num)

return sum

if __name__ == '__main__':

value = input("Введите числа через пробел: ")

num_list = value.split(" ")

sum = calcSum(num_list)

print(f"Сумма чисел: {sum}")
Результат работы программы:

Введите числа через пробел: 11 99 58 79 68 35

Сумма чисел: 350

На этом про все, что нужно знать про методы разобрали.

Если я что-то упустил, то напишите об этом в комментариях.

Другие статьи канала: