Aktywne Wpisy
Kwas747 +90
Ej kojarzycie te mobilne kawiarnie na rowerach? Właśnie sobie zdałem sprawę że kawa w tym przybytku kosztuje 12 zł. Kumacie? 12 zł za kawę z budy na rowerze ? Tyle samo co w eleganckiej kawiarni w której obsłuży nas kelnerka, odbierze zamówienie, przyniesie kawe, rozliczy przy stoliku. Foodtrucki z burgerami za 50 i kawa z roweru za 12. Jak byłem w Neapolu to w każdej lepszej kawiarni espresso było za 90 centów
depcioo +5
Czy ppk się opłaca?
Jesteście zapisani u was w firmach?
#ppk #oszczedzanie #inwestycje #pracowniczeplanykapitalowe
Jesteście zapisani u was w firmach?
#ppk #oszczedzanie #inwestycje #pracowniczeplanykapitalowe
Przyznam, że robię to już od jakiegoś czasu tak trochę na czuja i niby wszystkie klasy, metody itd. działają, ale nie do końca wiem po co to się robi...
Może być po angielsku, ale nie ukrywam, że w ojczystym pewnie będzie jeszcze łatwiej to załapać.
#python #naukaprogramowania
self
, ale zasadniczo nie stoi nic na przeszkodzie, żeby go nazwaćmax1983
:class Foo(object):
__def bar(max1983):
____assert isinstance(max1983, Foo)
f = Foo()
f.bar() # Nie rzuca AssertionError
Dalej... metody możesz oznaczyć jako statyczne lub metody klasy przy pomocy dekoratorów, odpowiednio
staticmethod
iclassmethod
. Wtedy albo ten parametr nie jest w ogóle przekazywany,@m_bielawski: Nie. :)
Ja wiem, że metody obiektu przyjmują go jako pierwszy parametr itd. Wielokrotnie sam go używałem. Tylko, że to nie jest wytłumaczenie.
Chciałbym jakieś źródło gdzie łopatologicznie tłumaczą DLACZEGO tak jest i po co właściwie się to robi.
Np. "gdyby nie było tego 'self' to python nie wiedziałby, czy chodzi o to, czy o tamto, a dzięki temu robi to i to".
Chodzi o to,
Kod "wewnątrz klasy" to zwykły kod pythonowy. Możesz spokojnie mieć tam ify, pętle i cokolwiek zapragniesz (proof). Tak naprawdę, to konstrukcja
class Foo(object):
__pass
to "tylko" tzw. syntactic sugar na wywołanie
type('Foo', (object,), {})
Ten
type
tutaj to tzw. metaklasa, która odpowiada za tworzenie obiektów klas (nie instancji klas, chodzi o to, żeFoo
tutaj też jest obiektem). Ta metaklasa sprawdza potemclass Klasa():
....def metoda(self, obiekt):
........print self == obiekt
obiekt = Klasa()
obiekt.metoda(obiekt)
jaśniej się nie da
http://stackoverflow.com/a/21366809
dodam jeszcze, że zamiast self możesz wpisac cokolwiek, np. dupa. Pisanie słówka self to tylko i aż konwencja.
Czyli definicja klasy jest tylko martwym szablonem. Natomiast kiedy się już stworzy obiekt (instantiation) to ten obiekt żyjie i robi różne rzeczy - w tym - robi samemu sobie różne rzeczy. I żeby zakomunikować temu obiektowi, że ma coś zrobić na sobie samym - używa się self.