Skip to content

LucyCat-coder/Add-Tasks-OOP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Чем метод отличается от функции.

Метод привязан к объекту и имеет доступ к его данным, функция — нет.

Функция:

  • не принадлежит классу
  • вызывается сама по себе

Пример:

def func():
    print("Я функция")

Метод:

  • принадлежит классу
  • работает с объектом этого класса
  • первым параметром принимает self

Пример:

class MyClass:
    def method(self):
        print("Я метод")

Зачем нужен self?

self — это ссылка на текущий объект.

Нужен, чтобы:

  • обращаться к атрибутам объекта
  • изменять состояние конкретного экземпляра класса

Без self Python не знает, к какому объекту относятся данные.

Пример:

class Person:
    def set_name(self, name):
        self.name = name

Зачем нужен init?

__ init __ — это конструктор класса.

  • вызывается автоматически при создании объекта
  • инициализирует атрибуты объекта

Пример:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

p = Person("Пётр", 20)

Как Python хранит атрибуты?

  • Атрибуты объекта хранятся во внутреннем словаре __ dict__.
  • Каждый объект имеет свой собственный словарь атрибутов.

Пример:

print(p.__dict__)

результат:

{'name': 'Иван', 'age': 30}

Что такое магический (Dunder) метод?

Магические (dunder) методы — это специальные методы с двойным подчёркиванием:

__ init __

__ str __

__ len __

__ add __

  • вызываются автоматически
  • определяют поведение объекта при стандартных операциях

Пример:

class Book:
    def __init__(self, title):
        self.title = title

    def __str__(self):
        return self.title

book = Book("Python")

print(book)

Итог:

  • Метод — функция класса

  • self — ссылка на объект

  • __ init __ — инициализация объекта

  • Атрибуты хранятся в __ dict __

  • Магические методы управляют поведением объектов

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages