Итак, когда применяется метод к экземпляру, этот метод и есть метод экземпляра или же это метод класса который запускается при его выполнении? (возможно плохо объяснил, буду разъяснять)
class Person: def __init__(self, name, job=None, pay=0): self.name = name self.job = job self.pay = pay def lastName(self): return self.name.split()[-1] def giveRaise(self, percent): self.pay = int(self.pay*(1+percent)) def __str__(self): return '[Person: %s, %s]'%(self.name,self.pay)
Если мы вызовем метод экземпляра, то будет выполнен МЕТОД ЭКЗЕМПЛЯРА или же будет выполнен МЕТОД КЛАССА С ССЫЛКОЙ НА ЭКЗЕМПЛЯР? (не сочтите за крик)
g.giveRaise(10)
Вот здесь вот: Мы сейчас использовали метод экземпляра что был унаследован у класса или же использовали всего лишь оптимизированную и более удобную форму вызова метода класса передачей экземпляра?
То есть! Когда мы вводим
g.giveRaise(10)
Person.giveRaise(g, 10)
Я понимаю, что если заглянуть в атрибуты объекта экземпляра, то можно найти там его собственные методы, которые были унаследованы у класса, но всё равно мне мне очень надо узнать как работает транслятор. (ведь питон иногда врёт)
print(dir(g))
Я очень прошу людей не созревших в ООП не отвечать на данный вопрос, так мы только запутаем друг друга.