Wpis z mikrobloga

@Gviazdor: dam Ci jedna dobra radę i weź ja sobie do serca: nie słuchaj nigdy ludzi którzy mówią "jezyk/technologia X to gowno/abominacja"
Każdy język ma swoje zastosowanie a programista powinien dobierać narzędzie do zadania. Ci ludzie po prostu sami są początkujący i mają swoje opinie.
  • Odpowiedz
@Gviazdor: z perspektywy mojej osoby Python to język który jest kompletnie niejasny. Np. na screenie w twoim wpisie: obie zmienne mają takie same ID ale jak potem zmodyfikuje się np. pierwszą zmienną to wartość drugiej pozostaje niezmieniona mimo że nadal mają takie same ID o_O. Z tego co pamiętam bo też kiedyś liznąłem trochę Pythona zmienne przechowujące prymitywne typy danych(integer, float) są przekazywane przez kopie a nie przez referencję tak
  • Odpowiedz
@czlowieknikt: jak dodaje kolejna rzecz do wiaderka bedacym lista, to A i B majace odniesienie do tego wiaderka pokaza te same wartosci jesli je wywolamy. chodzi o typy danych. nie wytlumacze ci bo nie jestem taki mądry XD
  • Odpowiedz
@czlowieknikt: a co do intów, to w Pythonie inty -5 - 256 są już predefiniowane w szeregu i zawsze tworząc inta w tym zakresie zwraca Ci referencje do już obecnego obiektu.. Ale żeby to wiedzieć to już trzeba wejść trochę głębiej w Pythona (albo znaleźć w DOKUMENTACJI
  • Odpowiedz
@F0rT3hW1n: Twoje zdanie jest prawdziwe pod warunkiem, że dzieje się to w intepreterze. Słyszę ten często przytoczony fragment, a jednak jak się to sprawdzi w pliku, który się wykonuje to już tak nie działa.
  • Odpowiedz
@m4jk3l: jeśli chodzi o string interning, to jest o tym wzmianka na końcu artykułu:

Only compile-time strings are interned. Strings that are specified during interpretation or compile-time are interned while dynamically created strings are not.


jeśli chodzi o inty to sprawdziłem w REPLu i uruchamiając porównywarke IDków w pliku i dostałem te same ID. Możesz wyjaśnić?
  • Odpowiedz
@F0rT3hW1n: Odnosilem sie do intow (powininem zacytowac), ale chodzi mi o to, ze przedstawia sie prawde, ze inty -5 do 256 sa predefinowane, ale malo kto wspomina, ze dzieje sie to tylko w interpreterze.

>> a = 256

>> b = 256

>> a is
  • Odpowiedz