Aktywne Wpisy
pojaszek +438
Pamiętacie jak sąsiad u mnie w bloku wstawił sobie dodatkowe drzwi na klatce?
Po przeprowadze w inne miejsce sąsiad powiesił sobie regały na klatce...
#nieruchomosci #wroclaw #mieszkaniedeweloperskie #mieszkanie #jagodno
Po przeprowadze w inne miejsce sąsiad powiesił sobie regały na klatce...
#nieruchomosci #wroclaw #mieszkaniedeweloperskie #mieszkanie #jagodno
Lambert11 +25
Potrzebuje sie wygadać.
Wczesniej opisywalem historie mojego związku. Nie oczekuje rad bo wiem co mam zrobić, ale nie czuję sie gotowy na podjęcie takiej decyzji.
Z żoną mamy powazne problemy w relacji. Nie rozmawiamy praktycznie ze sobą z wyjatkiem jej ciągłej krytyki i pretensji o wszystko. Zero czulosci, zero seku, zero zaangazowania z jej strony.... z mojej juz chyba tez go nie ma. Jedyny laczacy nas element to nasze dziecko.
W sumie
Wczesniej opisywalem historie mojego związku. Nie oczekuje rad bo wiem co mam zrobić, ale nie czuję sie gotowy na podjęcie takiej decyzji.
Z żoną mamy powazne problemy w relacji. Nie rozmawiamy praktycznie ze sobą z wyjatkiem jej ciągłej krytyki i pretensji o wszystko. Zero czulosci, zero seku, zero zaangazowania z jej strony.... z mojej juz chyba tez go nie ma. Jedyny laczacy nas element to nasze dziecko.
W sumie
Oto kolejny dowód na dodatkowy chromosom Pythona.
Co zwróci poniższy kod?
x = set([1, 2, 3]),
for i in x:
____print(i)
#programowanie #programista15k #python
@wiewior_s: kod się nie wysra i zwróci wynik, za podkreślniki podziękuj wykopowemu zespołowi specjalistów od formatowania kodu...
a co zwróci to własnie niespodzianka, która zabrała mi trochę czasu jednej nocy...
@TMP_2137: gdyby tutaj chodziło o zbiór to uwierz mi, że bym się nawet słowem nie odezwał
@wiewior_s: otóż to - #!$%@? przecinek na końcu linii ma znaczenie - nie trzeba kończyć nawiasami, klamrami czy innym gównem
iteracja po x zwróci tylko jeden element który jest legalnym setem
mieliśmy taki kod:
result = func(x = set([1, 2, 3]), True)
Pojawiało się to w kilku miejscach więc oba argumenty zostały wyciagnięte do zmiennych, przecinek się jakoś tam też
x = a, b, c
I wtedy w x masz tuple który jest immutable i znacznie szybszy od listy.
W mojej 10 letniej karierze się taki problem nie trafił a strzelam że w javie bym zgłupiał od jakiś javowych smaczków
x = a, b, c
jest naprawdę spoko konstruktem, ale napisanie gramatyki języka, która pozwala na:
x = a b, c,
to jest co najmniej niedopatrzenie - pisałem gramatyki w antlr, 3 semetry miałem teorię automatów i teorię kompilacji.
Coś tam w głowie mam i doświadczenia.
Nikt nie potrafi mi wytłumaczyć czemu miałby legalnie służyć ten przecinek na końcu...
@d3d4s: Wytłumaczenie:
Mieliśmy kod:
result = func(x = set([1, 2,
@wiewior_s: Nie
x = set([1, 2, 3)],
to to samo co:
x = {1, 2, 3},
Dlatego inteliJ podkreśla na żółto bo proponuje reformat do drugiej postaci, ale zostawia przecinek na końcu.
Pytanie po co robić tuple z jednym elementem?
Chyba tylko dla spojnosci kodu zeby przekazywac gdzies ten sam typ bo inne zastosowanie nie przychodzi mi do głowy :p
result = func(x = set([1, 2, 3]), True)
To nie ma prawa dzialac bo nie mozesz dac kwargs przed normalnymi argumentami
result = func(x=..., y=...)
oczywiście
Dlatego też od niedawna żadna nowa zmiana bez unit testów nie przechodzi, a na listopad zamierzam wrzucić do repo coś co wymusi 90% pokrycie (tzw zdrowy coverage) tak by każdy dotknięty plik wymagał dopisania testów.
Wielu nie będzie zadowolonych, ale tak trzeba...
Co do wyłapania tego przez unit test -