Obowiązkowe this i self

Odpowiedz Nowy wątek
2019-01-11 20:07
0

Ugh, jak mnie to irytuje. Niestety troszkę czasu spędzonego w C# i C++ dało się we znaki. Tam this jest implicite.
Ale nie, Javascript a tym bardziej Python upierają się, że trzeba this (czy tam self) wstawiać explicite. Ciągle o tym zapominam.

Jeszcze w JS jest pół biedy, jak zapomnę this to obrywam po prostu wyjątkami. Ale w Pythonie wymagane jest, by nawet każda metoda explicite przyjmowała self jako pierwszy argument!! Raz mi się zdarzyło zapomnieć o wprowadzeniu self do listy argumentów. I jak głupi zamiast metoda(self, *args, **kwargs) dałem metoda(*args, **kwargs) A potem zupełnie gdzie indziej mi wyjątki leciały, bo args[0] było czymś zupełnie innym, niż miało być.

!!!

Dlaczego w zasadzie tak wymagają? Co jest złego w domyślnym this?! Naprawdę nie widzę? Ale może bardziej doświadczeni widzą mankamenty domyślnego this?

Pozostało 580 znaków

2019-02-10 02:41
GHC
0

JavaScript jest językiem opartym na prototypach a nie na klasach. this ma w nim inne znaczenie. W Pythonie nie trzeba używać self.

class Person:
  def __init__(s, name):
    s.name = name

  def show(s):
    print(s.name)

person = Person("myname")
person.show()
edytowany 1x, ostatnio: GHC, 2019-02-10 03:10
Zmieniłeś nazwę z self na s? Wow. Pisz tak, a Pythonowcy cię zjedzą. - Wibowit 2019-02-10 03:31

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0