Aktywne Wpisy
kawasoo +1
#famemma kto chce link ?
fake-konto +1
Ejjj, #!$%@?, wytłumaczcie mi pls, kogo stać na budowę/kupno domu????
Minimalnie sensowna działka w mojej okolicy to 150-200k, w dobrej lokalizacji to 350-400k. Do tego 600-700k za sam dom w bieda wersji. Razem ~800-1200k plnów. Przy założeniu wkładu własnego np. 200k i tak potrzebuję minimum ~600k kredytu. Rata, oczywiście kredyt standardowy, bo na BK2% się nie łapię, to prawie ~5k xDDD
IT, JDG, od niedawna OE i 2 etaty, więc miesięcznie te
Minimalnie sensowna działka w mojej okolicy to 150-200k, w dobrej lokalizacji to 350-400k. Do tego 600-700k za sam dom w bieda wersji. Razem ~800-1200k plnów. Przy założeniu wkładu własnego np. 200k i tak potrzebuję minimum ~600k kredytu. Rata, oczywiście kredyt standardowy, bo na BK2% się nie łapię, to prawie ~5k xDDD
IT, JDG, od niedawna OE i 2 etaty, więc miesięcznie te
foo(bar)
zamiastbar.foo()
?foo()
, gdy używasz jej jako globalnej funkcji, zamiast metody klasy.@piotrb: Nie chodzi mi o różnicę między
foo(bar)
is.foo(bar)
, gdzie obiekts
przechowuje jakiś stan, tylko o różnicę w powodach implementacji np.len(str)
istr.len()
, gdzie funkcja nic nie musi przechowywać@DyrektorWykopu: chłopcze, wróc do podstaw
len(str) <==> str.__len__()
Z dokumentacji
object. len (self)
Called to implement the built-in function len(). Should return the length of the object, an integer >= 0.
I co teras?
@DyrektorWykopu: gówno
>>> class JestesGlupi: __len__ = lambda _: 9**9
...
>>> len(JestesGlupi())
387420489
edit: no, w Twoim wpisie też jest w formie :D
Komentarz usunięty przez moderatora
@Pipcieo: To nie jest prawda dla wbudowanych obiektów implementacji CPython. Długość jest po prostu odczytywania z pola struktury w języku C.
@DyrektorWykopu: Generalnie funkcje takie jak len i abs nie są wywoływane jako metody ('abd'.len()) , ponieważ są traktowane jako część modelu danych Pythona.
Dzięki specjalnej metodzie len_ możemy sprawić, że funkcja len będzie działać dla niestandardowych obiektów.
jest bzdurą i nie ma co na jej podstawie zadawac pytań.
To co się dzieje w CPython (a zwłaszcza optymalizacje) nie ma tutaj żadnego znaczenia, bo to szczegół implementacyjny w C, a jesteśmy na tagu #python a nie #c.
ep = Episode(*args)
, to czy lepiej jest zrobićh = ep.simulate()
czyh = simulate(ep)
. Niby różnica niewielka, ale zawsze lepiej rozumieć, dlaczego jedno jest lepsze od drugiego.Tymczasem @Pipcieo twierdzi... właściwie nie rozumiem już za bardzo, co on twierdzi. Że nie mogę napisać funkcji, która jest stateless? Bo
@DyrektorWykopu: różnica jest fundamentalna. pierwsze to programowanie obiektowe, drugie strukturalne. napisałem ci w pierwszym poście: WRÓC DO PODSTAW
Natomiast w konkretnym przykładzie z len() uświadomiłem ci, że to zły przykład, bo
len
to builtin który woła__len__
na instancji. Dla każdego innego (ale poprawnego przykładu) patrz paragraf wyżej.ep.simulate() == Episode.simulate(ep)
@DyrektorWykopu:
A jak się zachowa:
simulate(None)
simulate(1337)
simulate('no elo')
Dla mnie prawie zawsze jak coś nie jest wywoływane "z instancji obiektu" jako globalna metoda
Poczytaj sobie o tym czym jest programowanie zorientowane obiektowo (OOP).
W Pythonie można pisać obiektowo, strukturalnie jak i funkcyjnie (mamy sporo zapożyczeń z Lispa jak i Haskella)
@Budek24: simulate() powiązane jest z klasą Episode na tej samej zasadzie,
@Budek24: I w myśl zasady, że zawsze istnieje właściwy sposób napisania czegoś w pythonie, coś z tego trzeba wybrać. Takie Django na przykład w większości kodu stosuje oop, ale już middleware są funkcjami.