Size: a a a

2019 December 22

A

Alexander in SPb Python
теперь больше похоже на правду, спасибо
источник

A

Alexander in SPb Python
Yuliya Volkova
у тебя 3.6? он там просто 48
я тестил на 3.6 - 3.8
источник

YV

Yuliya Volkova in SPb Python
Alexander
теперь больше похоже на правду, спасибо
Не за что, я бы советовала вообще несколько инструментов использовать, на всякий случай как минимум на старте) чтобы точно знать что это на проблема в самом измерении
источник

YV

Yuliya Volkova in SPb Python
Например, хотя бы просто хипомер поставить рядом, чтобы не было такого что объекты вроде уменьшились, а под капотом непонятная дичь и хип вырос на 20%
источник

YV

Yuliya Volkova in SPb Python
Это правда не про слоты, а в целом) про оптимизации, хотя возможно у меня просто паранойя
источник

T

Tahir in SPb Python
вечер добрый, читаю документацию aiohttp и тут написано
By default aiohttp uses a total 5min timeout, it means that the whole operation should finish in 5 minutes.
у меня парсер сайта работает дольше 5-ти минут. Если я перепишу парсер на aiohttp значит коннекшн сбросится по истечению 5-ти минут, если я не укажу больший таймаут?
источник

MA

Maxim Afanasev in SPb Python
Tahir
вечер добрый, читаю документацию aiohttp и тут написано
By default aiohttp uses a total 5min timeout, it means that the whole operation should finish in 5 minutes.
у меня парсер сайта работает дольше 5-ти минут. Если я перепишу парсер на aiohttp значит коннекшн сбросится по истечению 5-ти минут, если я не укажу больший таймаут?
Подразумевается время между запросом и ответом. Мне кажется, у вас другой случай.
источник

T

Tahir in SPb Python
Maxim Afanasev
Подразумевается время между запросом и ответом. Мне кажется, у вас другой случай.
спасибо
источник
2019 December 23

DS

David Shiko in SPb Python
Всем привет. Кто знает, согласно PEP, какой вариант лучше?

Вар 1:
...
if condition:
   return
...
(Код без отступа)

Или

Вар 2:
...
if  not condition:
   ...
   (Оставшийся код с отступом)
источник

DS

David Shiko in SPb Python
Пример:

if len_photos > 0:
   do_something()

if not len_photos > 0:
   return
do_something()
источник

MA

Maxim Afanasev in SPb Python
Какой pep вы имеете в виду? Применять или нет ранний возврат из функции - решать вам, в зависимости от контекста. Для таких вещей не может быть универсального рецепта "делай только так".
источник

MA

Maxim Afanasev in SPb Python
Если вам нужно проверить с десяток условий, прежде чем выполнить целевое действие, то ранний возврат - это вполне себе вариант. Хотя, в таком случае вам стоит сначала подумать о том, чтобы разделить валидацию и целевое действие в коде.
источник

DS

David Shiko in SPb Python
Maxim Afanasev
Какой pep вы имеете в виду? Применять или нет ранний возврат из функции - решать вам, в зависимости от контекста. Для таких вещей не может быть универсального рецепта "делай только так".
Я имею ввиду общую стилистику. Лично мне удобнее с отступом. IF с return это как подножка, легко пропустить, имхо))
Спасибо за овтет
источник

MA

Maxim Afanasev in SPb Python
Возврат пустого значения - распространенный паттерн и поэтому он довольно очевидно читается из кода. Т.е. так пишут и это нормально. А где именно так писать, а где - лучше не стоит, это уже вам решать.
В процессе чтения кода это распознается как "у нас есть несколько проверок, если они пройдут, тогда сделаем то, что написано ниже". Поэтому (на мой взгляд):
1. Во многих случаях это проще воспринимать, чем иерархию из вложенных if'ов, особенно, если вас угораздило во внутренних if'ах сделать else. Когда я вижу такой код, я достаю лист бумаги и ручку т.к. в голове это просто не умещается.
2. Если вы используете череду проверок с возвратом пустого значения, постарайтесь не размещать никаких действий между проверками, эти строчки будут просто пропущены при чтении кода.
источник

MA

Maxim Afanasev in SPb Python
Универсального ответа нет. Просто помните, что человек, который будет читать ваш код, будет искать либо целевое действие, либо сами проверки и вряд ли то и другое сразу. Старайтесь разделять ваш код, исходя из потребностей тех, кто его будет читать.
источник

DS

David Shiko in SPb Python
Ужасное поведение 😤

print(photos[0])
TypeError: 'NoneType' object is not subscriptable
источник

DI

Danil Ivanov in SPb Python
David Shiko
Ужасное поведение 😤

print(photos[0])
TypeError: 'NoneType' object is not subscriptable
почему?
источник

DS

David Shiko in SPb Python
Danil Ivanov
почему?
Потому что я сделал def foo(photos = None)

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

DS

David Shiko in SPb Python
Danil Ivanov
почему?
Логично, что если объект None, то и все производное от него тоже None. photos[0] это ведь часть photos, а если photos = None ...
источник

DI

Danil Ivanov in SPb Python
David Shiko
Логично, что если объект None, то и все производное от него тоже None. photos[0] это ведь часть photos, а если photos = None ...
а photos[0].path это тоже None будет?
источник