- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
connect_attempt = 0
while True:
try:
r = requests_method(**kwargs)
except Exception as e:
if connect_attempt < cls.CONNECT_ATTEMPT_MAX:
connect_attempt += 1
else:
connect_attempt = 0
switchNext('Bad proxy')
continue
connect_attempt = 0
if cls.re_captcha.search(r.text):
switchNext('Capthca')
continue
return r
Можно просто
Но по-моему плохо ловить все подряд исключения без разбора.
Еще, что такое "Каптхка"?
Единственный язык, куда что-то ввели, это go, потому что там дедушка лучше знает, когда тебе писать
Насрал в кулак
Держишь крепко
Думаешь конфетка
Ахахахахахахаха!
Мне нужно быстро отличать функции от полей.
И кстати я не пользуюсь IDE (Спасибо 2ГБ на моем старом ноуте)
Сначала в C++ я применял google code style.
Но все таки то, что вроде как называется "Венгерская нотация" будет получше.
потому что переменные, поля и функции именуются одинаково snake case'ом.
А в Linux до кучи еще и струтуры так же.
> Где-то нужны проперти, где-то нет. Проперти обычно идемпотентны и шустры
Ну да. Если получение длины гребешка — слишком тяжёлая операция для прозрачного заворачивания в проперти, можно явно объявить метод (который принято именовать в форме «сказуемое_подлежащее», или, в частности, «действие_ресурс»): «petuh.calculate_dlinu_grebeshka()».
Но вообще, статей по правильному™ именованию сущностей — вагон и маленькая тележка, выбирай любую и применяй с умом.
А вот «C#», кстати, я не одобряю: код, в котором с больших букв начинаются только названия типов, визуально выглядит легче, чем решёточный подход. Но это уже вкусовщина, конечно.
Кодстайл — это правила, по которым код оформляется: отступы, новые строки, разделение слов в многословных идентификаторах (snake_case, camelCase, MACRO_CASE, etc), пробелы вокруг выражений и так далее.
Правила именования — это то, как именно программист называет переменные, функции, классы, методы и прочие сущности. Одно из таковых я уже приводил: функции/методы принято называть в виде «сказуемое_подлежащее»: «get_user_info», «create_words», «delete_instance» — нутыпонел. Заметь, что примеры я привёл в snake_case, но в контексте правил именования конкретный кодстайл совершенно неважен.
Вот небольшая статейка на тему: https://hackernoon.com/the-art-of-naming-variables-52f44de00aad.
> что именно не нравится тебе в пеп 8?
Он мне нравится. Я за «PEP8».
> чем это отличается от сишарпа и джавы?
В них мне тоже всё нравится, кроме того, что в шарпеях методы принято писать с большой буквы. По моему субъективному мнению, это немного ухудшает читабельность кода.
UPD: хотя я несколько неточен. Зачастую, в локальные кодстайлы (правила, подробно регаментирующие написание кода, которые действуют только в одной организации/команде) в том числе входят и правила именования, да.
А в S" Forth" только операторы над содержимым стека и данные: слова, словари (списки), статьи.
Поправьте меня, если я ошибаюсь.
Мои слова заканчиваются так:
>>> то значит твоё именование переменных — говно
> petuh.predict или petuh.collapse: поле или метод?
Сравни:
«petuh.predict_answer или petuh.collapse_matrix»
В такой форме это — однозначно методы. Именно это я и пытаюсь донести.
> https://www.joelonsoftware.com/2005/05/11/making-wrong-code-look-wrong/
Хорошая статья, полезная, ещё бы не экономить буквы и писать «unsafe_name» — было бы вообще заебись. Чай, не начало двухтысячных, и ширина экранов — не 80 символов.
Только я не понимаю, как она противоречит идее о том, что называть сущности надо точно и однозначно.
Исправил. Теперь всё однозначно, проверь.
Насрал в кулак
Держишь крепко
Думаешь конфетка
Комсомольск оптом и в розницу.
https://i.postimg.cc/jq3r5VTB/lal.png
Но уже не воспроизводится. Пробовал и "booratinho" и "booratihno".
Сторонний костыль.
Интересно, как с этим будут работать функции типа json_last_error(), если распарсить кривой джсон в джвух тредах.
Yes, PyPy has a GIL. Removing the GIL is very hard. On top of CPython, you have two problems: (1) GC, in this case reference counting; (2) the whole Python language.
For PyPy, the hard issue is (2): by that I mean issues like what occurs if a mutable object is changed from one thread and read from another concurrently. This is a problem for any mutable type: it needs careful review and fixes (fine-grained locks, mostly) through the whole Python interpreter. It is a major effort, although not completely impossible, as Jython/IronPython showed. This includes subtle decisions about whether some effects are ok or not for the user (i.e. the Python programmer).
CPython has additionally the problem (1) of reference counting. With PyPy, this sub-problem is simpler: we need to make our GC multithread-aware. This is easier to do efficiently in PyPy than in CPython. It doesn’t solve the issue (2), though.
Note that since 2012 there is work going on on a still very experimental Software Transactional Memory (STM) version of PyPy. This should give an alternative PyPy which works without a GIL, while at the same time continuing to give the Python programmer the complete illusion of having one. This work is currently a bit stalled because of its own technical difficulties.
Отсюда: https://doc.pypy.org/en/latest/faq.html#does-pypy-have-a-gil-why
Так что и в «пи-пи» он тоже есть.
А вот в «Jython» и в «Iron Python» похоже, что нет.
A = в «Python» никаких полей нет
B = называются они аттрибутами
A и B => в «Python» никаких атрибутов нет.
???
>> Для того, чтобы создавать проекты уровня "ВКонтакте" и "Facebook" на "PHP", вся эта хуйня не требуется.
>> Кому нужно "C++" когда есть "PHP" и прочее?
>> Советую процедурный "PHP" без фреймворков.
>> Позволю себе в очередной, блядь, раз напомнить, что на "PHP" работают такие гиганты IT-индустрии, как "ВКонтакте", "Facebook", "Yahoo" и "Wikipedia".
>> А ведь "C#" и подобные ему - полное говнище, не в пример "PHP".
>> Вы все заебали со своим кодом на "C++", "bach", "Python" и "VisualBasic". На этих блядущих языках уже давно адекватные программисты ничего не пишут - все перешли на "PHP".
Голосование по стандарту «Питона»?
Попахивает гнилью.
Любопытно, что в языках не поддерживающих обработку исключений, подобие конструкции try..except можно запилить... c помощью макроса с циклом внутри.
А вот на богомерзком purebasic, с юзаньем циклов. http://www.purebasic.info/phpBB3ex/viewtopic.php?p=87857
На сях видел аналогичное, пример поищите сами.
В винде можно вызвать API RaiseException.