
Andrey
16.05.2019
05:33:45
x = 4
list1 = [1,2,3,4]
list2 = [6,7,8,9]
lists = list1 + list2
print(lists)
if x in lists:
print("in list")
else:
print("not in list")

МишанЯ
16.05.2019
05:33:50
Это уже не под циклом for, верно?

Andrey
16.05.2019
05:34:03
всё выполняется один раз
зачем нужен for ? какое он имеет отношение к проблеме?

Google

T.
16.05.2019
05:34:25

SetazeR
16.05.2019
05:34:35

T.
16.05.2019
05:34:39

МишанЯ
16.05.2019
05:34:40

Andrey
16.05.2019
05:35:04

T.
16.05.2019
05:35:15

МишанЯ
16.05.2019
05:35:22

SetazeR
16.05.2019
05:35:34

МишанЯ
16.05.2019
05:36:07

Tishka17
16.05.2019
05:41:26
Если второе:
for a in lists:
if x in a:
что-то когда есть
break
elae:
То, что делаем когда нет

Google

Tishka17
16.05.2019
05:42:10
Хотя если в функции, с ретурнами ок

T.
16.05.2019
05:42:40
не совсем понимаю как будет код работать, ему нужно проверить один раз вхождение во все списке и где найдется элемент его изменить

МишанЯ
16.05.2019
05:42:47

T.
16.05.2019
05:42:57
а в твоем когда он же будет выполнять else каждый раз?
или else можно отдельно ставить

Tishka17
16.05.2019
05:43:14

МишанЯ
16.05.2019
05:43:47
Ой, а у for может быть else??

Tishka17
16.05.2019
05:43:54
Ага
Выполняется когда не было break

МишанЯ
16.05.2019
05:44:16
Узнаю многое...?

Tishka17
16.05.2019
05:45:24
Ну да
Но иногда удобно. Если что-то ещё надо после цикла сделать и ретурн не подходит

МишанЯ
16.05.2019
05:45:53
Кстати, выход из функции можно же просто ретурн, не возвращая ничего?

Tishka17
16.05.2019
05:45:56
Но вообще ретурн лучше, да

МишанЯ
16.05.2019
05:46:49

Tishka17
16.05.2019
05:46:57
И я говорю, мой вариант из-за неожиданного else у цикла не самый понятный, но иногда удобно

МишанЯ
16.05.2019
05:48:31
Теперь главное чтобы на потоке не сказалось. Функция в отдельном потоке запускается. Если функцию вырубим return, поток же должен тоже завершиться, верно понимаю?)

Google

МишанЯ
16.05.2019
05:49:16
Я попробую и те и те, взависимости от возможного дальнейшего кода в функции

Tishka17
16.05.2019
05:51:04

МишанЯ
16.05.2019
05:51:45
Ну что ж, будем быдлокодить далее?

?Kolay
16.05.2019
05:57:28
Каждое утро, одно и тоже

?? Eugene
16.05.2019
06:00:03
обычное дело для телеги

Гийденко
16.05.2019
06:08:09
⭐️ Приветы. Вопрос про Python3. Пишу приложение на PySide2/PyQt5. Ранее присал на 2м и было норм, но на 3м при появлении многих ошибок связанных с Qt питон просто крашится без трейсбеков и каких либо сообщений что где случилось.
ВОпрос в том как перехватить ошибку чтобы узнать что где сломалось? Надоело методом тыка искать. Я думаю какойто отладчик должен быть или както перехватить хук ошибки и сдамбить в файл. В общем какойто способ перехвата сообщения нужен.
Дебагеры, типа pdb, в которых построчно выполнять код в поисках места падения не подходят, надо просто перехватить сообщение во время краша.

Tishka17
16.05.2019
06:10:54
Смотря как крашится. Если это сегфолт, никакой питоновский трейс не увидишь
Ты уверен, что крашится?
Можешь запустить из консоли и когда закроется exit код посмотреть?
Есть вероятность, что просто окно закрывается, например

Vasiliy
16.05.2019
06:12:39
?

Гийденко
16.05.2019
06:12:44
а есл иошибка запускается когда использую pythonw
без консолей

Tishka17
16.05.2019
06:13:39
Только?

Гийденко
16.05.2019
06:13:54
ну в первый раз была причина того что sys.stdout в таком случае крашил. я это я поправил и теперь другие ошибки вываливаются

Tishka17
16.05.2019
06:14:01
Вообще, логи ведёшь?

Гийденко
16.05.2019
06:14:03
в частности в Qt ключит один класс когда создаешь инстанс
логи да но в этих местах нифига не срабатывает лог
он прост окрашит

Google

Tishka17
16.05.2019
06:14:33
Какой, например?

Гийденко
16.05.2019
06:14:47
ну вот, создаю инстанс и пиндык. краш без намека на то что случилось
ща

Admin
ERROR: S client not available

Гийденко
16.05.2019
06:15:47
https://bugreports.qt.io/browse/PYSIDE-922?focusedCommentId=445590&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel
вот тут эта проблема описана
но совет там предложенный не помог
еще усложняется тем что краш при закрытии часто. и пади пойми что где случилось. То потоки не верно закрыл, то функция не так написана. Вроде простые косячки но приходитс яискать методом тыка
в общем я не за советом как это делается обычно, я спрашиваю может кто тоже искал такой способ дебага через внешние обертки или спец модули

Tishka17
16.05.2019
06:18:36
Ух
Ну это сегфолт, да. Брать gdb и анализировать core файл

Гийденко
16.05.2019
06:19:16
самое похожее что видел это скачать исходники питона и компилить в дебаг режиме, ну и через компилятор дебажить)

Tishka17
16.05.2019
06:19:31

Гийденко
16.05.2019
06:19:55
ладно, спасиб. я попробовал)

Tishka17
16.05.2019
06:20:57
Если баг в Qt, увы
Но трюк с gdb никто не отменял

Гийденко
16.05.2019
06:21:28
нет, баг может быть в моем коде, например написал conenct вместо connect

Tishka17
16.05.2019
06:21:55
А. Ну это должно партия наверно в мейне ловиться и писаться

Google

Гийденко
16.05.2019
06:22:00

Tishka17
16.05.2019
06:23:00
а какой трюк? пример есть?
Ну если у тебя сишная прога падает с сегфолтом, можно включить запись core-файла (по сути ламп памяти). И потом через gdb посмотреть трейс

Гийденко
16.05.2019
06:23:31
а как это загуглить?

Alph
16.05.2019
06:24:43
pyqt5 приложение зависает , если внутри запускается цикл while , получается мне нужно этот цикл обернуть в QThreating ?

Гийденко
16.05.2019
06:25:14

Alph
16.05.2019
06:25:15
или весь класс , в котором этот цикл , обернуть ?

Гийденко
16.05.2019
06:26:10
я обычн делаю класс который всё фигачит и через сигналы возвращает результат. ЧТо в него закидывать аэто уже зависит от твоей архитектуры

Tishka17
16.05.2019
06:26:38

Alph
16.05.2019
06:27:25

Гийденко
16.05.2019
06:27:26
а оперции не io? асинк не поможет?

Tishka17
16.05.2019
06:27:33