Quantcast
Channel: Linux.org.ru: Форум
Viewing all articles
Browse latest Browse all 108383

Вопрос про self в питоне

$
0
0

Сорри, питон не знаю, просто сейчас прочитал тред про питон, и обратил внимание на одну любопытную деталь. Вот кодец, там есть вызов деструктора:

http://imgur.com/pQyhGBH

и, что меня удивило, там идет обращение не к имени слота, а к самому объекту(экземпляру класса).

Я, собственно вот о чем. Похоже, в питоне это слово означает не то, что в таких ЯП как Io, JS, Ruby, smalltalk, self. В семантике динамического ООП это слово означает получателя сообщения. Этот получатель не зависит от метода. Например:


show := method(self a print)
MyClass := Object clone
myInstance1 := MyClass clone do(a := 1)
myInstance10 := MyClass clone do(a := 10)

myInstance1 show // 1
myInstance10 show // 10

В питоне все совершенно по другому, получается, там метод лексически связан с экземпляром.

Собственно вопрос: тогда зачем он вообще там нужен(указывается явно)?

 ,


Viewing all articles
Browse latest Browse all 108383

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>