LINUXTALKS.CO

Сгорел на питоне

 

L


0

1

Просто как школьник попался на маленькой мелочи, на которой стыдно попадаться помидору. Потратил 3 часа жизни, так как возможности дебажить не было.

self.layers: Dict[int, List[FuckingObject]] = dict.fromkeys(list(range(0, self.layers_count)), [])

Казалось бы, что может пойти не так)

Вроде мелочь, а грустно. Так много мог сделать за вечер полезного. А как у вас дела?)

Ответ на: комментарий от Sahas

Гугл, конечно, всё знает, но какой вариант ты выбрал?

{layer: [] for layer in range(self.layers_count)}

со списками надо быть осторожными :)

Надо то надо, но без практики забывается. Я на шарпах пишу в основном, а на питон в текущем проекте только некоторые расчёты вынесены.

p.s. и кстати не гугол, а gpt болван. Я с ним уже гуглить почти перестал. Интересно, сказывается ли это негативно на способности мыслить. На желании лишний раз подумать точно сказывается)

evgeny_aa    
★★
Последнее исправление: evgeny_aa (всего исправлений: 2)

Linux / Firefox

Прикольная грабля, мне понравилась

В целом данная грабля является лишь более мудрёным вариантом стандартной питоновской грабли

input:

x = [1]
y = x
x += [2]
print (x)
print (y)

output:

[1, 2]
[1, 2]

Поскольку принимая единственный единственный value в dict.fromkeys (keys, value), питон просто не может сделать иначе, даже если бы захотел

Почему не может? Потому что альтернативой было бы звать __copy__() или тем более __deepcopy__() (какой из двух кстати звать?) в количестве len(keys)-1 раз от value.

В свою очередь, это может привести к непредсказуемым последствиям на кастомных классах, хотя и выглядит очень уместным непосредственно для list из встроенных типов, типа чисел

ThePlayerZero    
★★
Windows / Chrome
Ответ на: комментарий от evgeny_aa

Я на шарпах пишу в основном, а на питон в текущем проекте только некоторые расчёты вынесены.

расчёты не в питон вынесены, а в си(плюсплюс)

по факту я думаю вам сам питон и не нужен, но без него вы не смогли бы дёргать ядро нампая (или чё там у вас), потому что напрямую из шарпов нельзя

ThePlayerZero    
★★
Windows / Chrome
Ответ на: комментарий от ThePlayerZero

по факту я думаю вам сам питон и не нужен

Всё банально, у питона богатый набор библиотек, scipy тот же, numpy, а у нас сроки сильно ограничены и писать некоторые вещи на шарпах в данной ситуации было сильно дольше. Да и архитектура у нас не препятствует написанию части функционала на любом удобном языке.

evgeny_aa    
★★
Linux / Firefox