ZEN_OF_PYTHON Telegram 4475
Функции vs. метод в Python: разница

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


Что такое функция?

Это блок кода, который принимает входные данные (аргументы), обрабатывает их и возвращает результат. Выделяют два типа:

1️⃣ без побочных эффектов — это чисто математические функции;
2️⃣ с побочными эффектами — функции, которые взаимодействуют с чем-то вне себя, например, с файлом, списком, базой данных или терминалом.

Пример чистой функции


def add(a, b):
return a + b

print(add(2, 3)) # Всегда возвращает 5


Такая функция при одинаковых входных данных всегда возвращает один и тот же результат.

Пример функции с побочными эффектами:


import random

def random_point():
x = random.randint(0, 10)
y = random.randint(0, 10)
return x, y

print(random_point()) # Каждый раз возвращает разные значения


Здесь функция использует внешний модуль random, и результат может меняться при каждом вызове. Это и есть побочный эффект.


Что такое метод?

Это та же функция, которая принадлежит объекту класса. Пока определение запутывает, но посмотрите пример ниже. Здесь set_name — это метод, используемый только для объектов Employee:



class Employee:
def set_name(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name

# Создаём объекты
emp1 = Employee()
emp2 = Employee()

# Используем метод
emp1.set_name("Alice", "Smith")
emp2.set_name("Bob", "Brown")

print(emp1.first_name, emp1.last_name) # Alice Smith
print(emp2.first_name, emp2.last_name) # Bob Brown


#основы
@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍711



tgoop.com/zen_of_python/4475
Create:
Last Update:

Функции vs. метод в Python: разница

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


Что такое функция?

Это блок кода, который принимает входные данные (аргументы), обрабатывает их и возвращает результат. Выделяют два типа:

1️⃣ без побочных эффектов — это чисто математические функции;
2️⃣ с побочными эффектами — функции, которые взаимодействуют с чем-то вне себя, например, с файлом, списком, базой данных или терминалом.

Пример чистой функции


def add(a, b):
return a + b

print(add(2, 3)) # Всегда возвращает 5


Такая функция при одинаковых входных данных всегда возвращает один и тот же результат.

Пример функции с побочными эффектами:


import random

def random_point():
x = random.randint(0, 10)
y = random.randint(0, 10)
return x, y

print(random_point()) # Каждый раз возвращает разные значения


Здесь функция использует внешний модуль random, и результат может меняться при каждом вызове. Это и есть побочный эффект.


Что такое метод?

Это та же функция, которая принадлежит объекту класса. Пока определение запутывает, но посмотрите пример ниже. Здесь set_name — это метод, используемый только для объектов Employee:



class Employee:
def set_name(self, first_name, last_name):
self.first_name = first_name
self.last_name = last_name

# Создаём объекты
emp1 = Employee()
emp2 = Employee()

# Используем метод
emp1.set_name("Alice", "Smith")
emp2.set_name("Bob", "Brown")

print(emp1.first_name, emp1.last_name) # Alice Smith
print(emp2.first_name, emp2.last_name) # Bob Brown


#основы
@zen_of_python

BY Zen of Python


Share with your friend now:
tgoop.com/zen_of_python/4475

View MORE
Open in Telegram


Telegram News

Date: |

How to create a business channel on Telegram? (Tutorial) 6How to manage your Telegram channel? How to build a private or public channel on Telegram? Other crimes that the SUCK Channel incited under Ng’s watch included using corrosive chemicals to make explosives and causing grievous bodily harm with intent. The court also found Ng responsible for calling on people to assist protesters who clashed violently with police at several universities in November 2019. In the “Bear Market Screaming Therapy Group” on Telegram, members are only allowed to post voice notes of themselves screaming. Anything else will result in an instant ban from the group, which currently has about 75 members.
from us


Telegram Zen of Python
FROM American