Aktywne Wpisy
Dusk_Forest77 +99
Czy wiedzieliście, że @mickpl od jakoś 20 lat należy do MENSY czyli największego i najstarszego stowarzyszenie ludzi o wysokim ilorazie inteligencji? Tak, tak nasz wykopowy analityk jest geniuszem dysponującym imponującą inteligencją i nawet ma na to papiery.
Otwieram cykl publikacji co ciekawszych wypowiedzi naszego tagowego guru - @mickpl. On kiedyś pewnie usunie konto, ale jego twórczość nigdy nie powinna zniknąć. Będę tagował #mickpl i postaram się coś wrzucić w miarę regularnie,
Otwieram cykl publikacji co ciekawszych wypowiedzi naszego tagowego guru - @mickpl. On kiedyś pewnie usunie konto, ale jego twórczość nigdy nie powinna zniknąć. Będę tagował #mickpl i postaram się coś wrzucić w miarę regularnie,
o__0 +9
Jak nazywałaby się polska wersja Banderaciagi? Osobiście stawiałbym na coś z Piłsudskim
#banderaciaga #ukraina #rosja #wojna
#banderaciaga #ukraina #rosja #wojna
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 -