Двач.hk не отвечает.
Вы видите копию треда, сохраненную 14 мая 2020 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Питон тред №81 /python/ 1616384 В конец треда | Веб
Предыдущий >>1604249 (OP)

Литература:
Автоматизация рутинных задач ч.2 - https://anonymousfiles.io/3CBCoy1o/ <-- тут только одна книжка. Кто может, залейте её на ЯД к остальным.
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться

#######################################

ЧаВо: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat Актуальность примерно 2015 года

Вопросы-ответы:
А стоит ли читать Лутца, том номер N?
Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.

Стоит ли читать %книга_нейм%, если там питон версии 2.х?
Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х

А что ещё можно читать?
Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html

Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0

Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4

А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.

В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)

Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.

Шаблон шапки: https://dumpz.org/bqyrfCbEPA9t
2 1616392
Двач, помоги, я уже реально заебался и не понимаю что делать, есть 2 питон файла, в одном функция, пытаюсь импортировать, пишет хуй, добавил __init__.py все равно хуй, пайчарм импорт красным подсвечивает, причем даже примеры которые работают, которые я брал из интернета, не понимаю что делать
3 1616393
>>16392
Ты бы пример импорта своего дал что ли
4 1616422
>>16392
ты в инит заимпортируй их. а потом вызывай как из пакета.
Хотя да кинул бы хоть пример
5 1616454
Dive into Python 3 не сильно устарела? В 2009 году была издана, Python 3 тогда только релизнулся. С тех пор принципиальных изменений не было?
6 1616508
Почему дескриптор надо определять именно внутри класса? Почему не выходит определить его внутри __init__?
7 1616515
>>16454
Принципиальных вроде как нет, но, например, завезли f-string, и после этого пользоваться всякими .format не хочется. Словари стали упорядоченными более или менее, OrderDict уже как бы и не особо нужен. Датаклассы какие-то прикрутили, альтернатива namedTuple, как я понял(а я не понял). И всякие такие мелочи. Ну вот читаешь ты свою книгу, а потом открываешь какой-нибудь код и видишь непонятные колдунства, которых в книге не было, оно тебе надо?
2020-02-27-121949422x171scrot.png15 Кб, 422x171
8 1616787
.
9 1616828
>>16787
--max-line-length=n set maximum allowed line length (default: 79)
10 1616834
>>16828
Да меня скорее раздражает тот факт, что красиво уложиться в 80 колоночек не получается, особенно если используешь аннотации для типов.
11 1616847
>>16834
А зачем укладываться в 79 символов? Это было актульано лет 30 назад. Сейчас норма 120 символов.
12 1616871
>>16847
ну кстати в этом есть смысл. с всеми аннотациями и кучей переменных крайне сложно стало влезать
13 1616898
>>16847
Где про это почитать?
14 1616904
>>16898
В интернета блядь!
15 1616957
В чём принципиальная разница между парсингом regex'ами и инструментами, вроде Beautiful Soup или Xlml? Регексы считаются более медленными?
image.png6 Кб, 331x102
16 1616964
>>16904
"В интернете" написано

>Limit all lines to a maximum of 79 characters.


https://www.python.org/dev/peps/pep-0008/
Так что спроше ещё раз, где прочитать про 120?
17 1616988
>>16964

>Created:05-Jul-2001


Сформулируй свой вопрос и найди более одного источника, желательно датированного не каменным веком.
18 1616996
>>16988
Какой источник лучше пепа может быть? Ответ на стак оверфлоу? Пост на форуме питона нижних васюков? Скриншот из дискорда с твоим другом?
19 1617017
>>16957
Регексы не учитывают человеческую тупость
20 1617021
>>16996
Если ты хочешь строго следовать рекомендациям по написанию кода 2001 года, то никто не в праве тебя останавливать.
Только не тащи нам сюда потом свои односимвольные переменные, а то как же, больше 80 же НЕЛЬЗЯ!
21 1617034
>>17021
Ты тему не меняй, я хочу узнать, где ты прочитал про 120.
22 1617061
>>17034
intellij по умолчанию 120 символов, например.
https://youtu.be/wf-BqAjZb8M?t=260
Вот тут разработчик ядра Python говорит что считает 90 оптималным значением.

Какой вывод можем сделать? Длина строки решается один раз в начале проекта и вся команда этому следует. Брать больше 120 не нужно, так как в гите как раз 120 блина строки и будут переносы.
23 1617085
>>17061

>intellij по умолчанию 120 символов, например.


Так, в иде на яве для программирования на яве 120 умолчание, при чём тут, спрашивается, питон?

>Вот тут разработчик ядра Python говорит что считает 90 оптималным значением.


Во-первых, даже близко не 120. Во-вторых, говорит, а не пишет где-то в документации. Видео на ютубе, даже с конференции, всего немногим лучше ответа на стаковерфлоу.

>так как в гите как раз 120 блина строки


На гитхабе ты хотел сказать. Подстраивать стиль написания кода под конкретный сайт, это как в 2000 подстраивать стандарт mp3 музыки под воспроизведение на myspace.

Так что? Ты где-то прочитал про 120, или ты так агрессивно отстаиваешь значения по умолчанию в intellij?
24 1617143
>>16957
Есть реальные профиты в bs и прочем. Попользуйся и поймешь.
25 1617197
>>17085
PyCharm основан на intellij, вот причем тут петон.
И да, повторюсь, ты можешь строго следовать устаревшим рекомендациям, главное чтобы код получался элегантным. Если у тебя получится - отлично! Но судя по твоему первому скриншоту - пока не очень выходит.
120 это общепринятое число для других языков. Какую нахуй документацию я тебе должен показать?
image.png194 Кб, 1920x1080
26 1617210
ПИТОНАЧ, как мне сохранить все "match_id" в переменной? Если делаю ретюрн, то выводится только последний матч
27 1617215
>>17197

>Но судя по твоему первому скриншоту - пока не очень выходит.


Это не мой скриншот.

>120 это общепринятое число для других языков.


Это ты тоже по видео на ютубе узнал, или колоночки на каком-то сайте посчитал?

> Какую нахуй документацию я тебе должен показать?


Да хоть какую-нибудь. Пока ты пришёл, бурлескнул про то, что "сейчас норма 120", а когда я тебя спросил, где ты об этой норме узнал, ты показал свою снобскую рожу и отправил меня искать "в интернете". После пары постов рассказов о том, что официальные рекомендации устарели, выяснилось, что "в интеренете" — это надо было длину строки по умолчанию на гитхабе и в одном IDE, на котором пайчарм основан, за золотой стандарт принять. Действительно, как это я сразу не нашёл такую очевидную и доступную рекомендацию "в интернете", и не начал мгновенно по ней действовать. Про видео, которое ты притащил, даже не говорю, там никакими 120 даже и не пахнет.
28 1617219
>>17210
Создай список и в цикле добавляй свои "match_id" в этот список. Возвращай список.
29 1617221
>>17197

> 120 это общепринятое число для других языков.


У меня на работе стандарт 180. Не питон. Не всегда получается уместиться из-за некоторых нюансов оформления кода.
30 1617222
>>17210
Берёшь свой лист, или в чём ты там хочешь их хранить, с айдишниками и делаешь к нему .append(match_id)
31 1617229
>>17222
гениально, че я додумался только, когда спросил:?) Я еще список создал в цикле и думал че каждый раз обнуляется щащащ
32 1617268
Как лучше делать?
1.
def foo(x):
if x is None:
return 0
else:
return 1
2.
def foo(x):
if x is None:
r = 0
else:
r = 1
return r
33 1617271
>>17268
def foo(x):
return x is None ? 0 : 1
34 1617278
>>17271
В пайтоне так работает тернарный оператор?
35 1617280
>>16384 (OP)
бамп
36 1617281
>>17278
Действительно, виноват
return 0 if x is None else 1
37 1617284
>>17229
Можешь делать ретерн генератора списков. Цикл на обязательно делать.

>>17268
Просто return int(x is not None).
38 1617286
>>17210
Свой докабафф пилишь?
39 1617295
https://pastebin.com/kLWj5LeW
ЧЯНТД? Почему функция для определения ключа для максимального значения в словаре работает корректно, а для минимального - нет? Как-то контринтуитивно для моей хуёвой интуиции.
40 1617296
>>16422
>>16393
Забыл прикрепить скрины, понял, что если писать from %файлнейм% import %скриптнейм%, то работает
41 1617302
>>17295
Просто min/max вернут, что надо.
42 1617306
>>16384 (OP)
Где в Джанге есть мини-туториал по обычному менеджменту данных типа CRUD? Столкнулся с тем, что в приложении приходится много создавать, модифицировать и удалять записи. Я в принципе могу это сделать, но в данный момент я нахуярил кучу view в стиле new_product (для создания записи), mod_product (для изменения), del_product (для удаления). Выглядит уебищно и громоздко, если ничего не сказать. Как это сделать изящнее?
43 1617312
>>17302
Ну не совсем. min/max от словаря, по крайней мере, возвращает ключ, не соответствующий максимальному значению в словаре. Похоже, что min(dct) и max(dct) вообще равны min(dct.keys()) и max(dct.keys()).
44 1617323
>>17295
Через функцию указанную в key по сути формируется новый массив из него выбирается минимальный максимальный.
У тебя для каждой функции получается условно [0, 0, 0, 0, 1, 0], для max это работает, для min просто берется первый ноль
45 1617324
>>17312
Не так понял. Тогда:
min(d.items(), key=lambda x: x[1])[0]
46 1617380
>>17323
Понял, о чём ты. Спасибо.

>>17324
А вот это супер, совсем забыл о d.items(). Спасибо и тебе.
47 1617485
У нас есть двоичный numpy-массив размерностью NxM и единичный массив произвольной длины: 1xK, как записать данные из этого единичного вектора в двоичный массив максимально годным способом? Если 2D массив окажется заполненным, а в единичном векторе еще остаются данные (может быть и такое), то операция все равно сличается завершенной. Если данные в 1xK векторе закончатся раньше чем массив заполнится, то оставшиеся пробелы в нем надо заполнить неким DEFAULT значением
48 1617489
>>17485
Для начала: как бы записать эти данные в двумерный массив? Допустим, в этом векторе 1xK данных всегда ровно хватает чтобы заполнить все NxM ячеек
Это ж numpy, поэтому полагаю надо использовать срезы или страйды (которые я в душе не ебу как юзать). Голый последовательный перебор значений в одномерном векторе при помощи цикла for нерационален, т.к. в перспективе таких записей придется делать дохрена
49 1617491
>>17489

>Допустим, в этом векторе 1xK данных всегда ровно хватает чтобы заполнить все NxM ячеек


np.reshape(K, (N, M))
50 1617493
>>17489

>Если 2D массив окажется заполненным, а в единичном векторе еще остаются данные (может быть и такое), то операция все равно сличается завершенной.


>срезы


np.reshape(K[:N*M], (N, M))

А другой вариант мне лень думать.
51 1617495
Приветик, хочу написать скрипт, парсящий udp/tcp конфиги для openvpn и сортирующий их по странам/пингу
Собственно данные спарсил, получилось более 3к записей. И тут у меня встал вопрос; а каким способом это все проверять?
Неужели придется отдельно скачивать каждый файл и вытаскивать из него ip сервера для пингования?
Или может кто-то подскажет более элегантный вариант?
https://pastebin.com/nRnr3dfx
52 1617497
>>17489
Ладно, всё равно придумал:
K.extend([ДИФОЛТ]⛧(N⛧M - len(K))
np.reshape(K, (N, M))
53 1617500
Анон, помоги разобраться, я невообразимо туплю.

Короче накидал примерную ситуацию:

import threading
from queue import Queue

def myfunc():
while True:
num = queue.get()
print(num)
queue.task_done()

mylist = []
for x in range(10):
for i in range(10):
for i in range (10):
mylist.append(i / 10)
queue = Queue()
for t in range(3):
t = threading.Thread(target=myfunc)
t.setDaemon(True)
t.start()
paths = []
for i in mylist:
queue.put(i)
queue.join()
print(len(threading.enumerate()))

в итоге получается 31 тред, вместо желаемых мной 3 (ну это понятно, эта штука в цикле), но как сделать иначе, чтобы новые треды не плодились и при этом все треды при деле были?
53 1617500
Анон, помоги разобраться, я невообразимо туплю.

Короче накидал примерную ситуацию:

import threading
from queue import Queue

def myfunc():
while True:
num = queue.get()
print(num)
queue.task_done()

mylist = []
for x in range(10):
for i in range(10):
for i in range (10):
mylist.append(i / 10)
queue = Queue()
for t in range(3):
t = threading.Thread(target=myfunc)
t.setDaemon(True)
t.start()
paths = []
for i in mylist:
queue.put(i)
queue.join()
print(len(threading.enumerate()))

в итоге получается 31 тред, вместо желаемых мной 3 (ну это понятно, эта штука в цикле), но как сделать иначе, чтобы новые треды не плодились и при этом все треды при деле были?
54 1617502
>>17500

вставил в пастебин
https://pastebin.com/bVzh0Zcb
55 1617507
>>17497
Да, катит
Не врубил правда, как и зачем вот это работает: >>17493
После 1го решения можно взять срез из одномерного вектора как k = k[:N*M] и уже проводить операцию np.reshape(k, (N, M))
56 1617519
>>17507

>Не врубил правда, как и зачем вот это работает


>np.reshape(K[:N⛧M], (N, M))


Сразу делает срез и с ним работает. Решейп не инплейс, так что зачем отдельной строкой брать срез заранее?

>После 1го решения


Не очень понял, первое решение >>17491, если len(K) == N⛧M
Второе >>17493, если len(K) > N⛧M
Третье >>17497, если len(K) < N⛧M
57 1617528
>>17500
>>17502

Я знаю, что всем похуй, но уже решил сам вот так

https://pastebin.com/WNgZt320
58 1617529
>>16384 (OP)
Джавист на связи
Понял, что не могу нормально вкатиться в Питон из-за излишне высокого интеллекта. Парню, прогающему на статическим типизированном языке и соблюдающему святые заповеди ООП банально не выйдет адекватно прогать на херне вроде Питона или ЖС. Печаль
59 1617534
>>17495
А как ты еще хочешь данные из файлов вытащить, если не скачивая?
image.png59 Кб, 546x546
60 1617536
61 1617579
>>17529
Все так. Бывает надо написать что-то по быстрому, и питон это просто типа школьной арифметики 2+2. Мозг даже не успевает хоть чуточку напрячься. Ни для чего серьезного явно не подходит. Мимо плюсист.
images (2).jpeg9 Кб, 225x225
62 1617580
>>17529

> Джава


В твоей джаве всё может нахер полететь из-за неправильной строчки в xml, а генерики лишь приятный сахарок над кастингом в Object и обратно.
15795423377230.png554 Кб, 576x640
63 1617587
>>17579

>Все так. Бывает надо написать что-то по быстрому, и питон это просто типа школьной арифметики 2+2. Мозг даже не успевает хоть чуточку напрячься. Ни для чего серьезного явно не подходит. Мимо плюсист.

64 1617593
>>17587
Ленивый ты. Явисту вон сколько расписал.
65 1617594
Почему

>>> True > False


>>> True


?
66 1617600
>>17594
Правда сильнее лжи
67 1617602
>>17594
Мб 1 > 0 ?
68 1617605
>>17602
бля....
как можно быть настолько тупым как я. спасибо.
image.png7 Кб, 457x83
69 1617641
>>17534
Блин, и правда. просто я не очень умный Ладно, на деле оказалось, что необязательно прям сохранять файл, чтобы его просмотреть.
Осталось придумать, как этот говнокод ускорить и/или прикрутить многопоточность.
70 1617647
>>17641
Можно попробовать с помощью ThreadPoolExecutor.
Как-то так https://dev-gang.ru/article/kak-sdelat-kod-python-parallelnym-s-pomosczu-3h-strok-x32tjod5s6/
71 1617648
>>17647
За 1к запросов к сайту за 20-30 секунд его нахуй просто пошлют
72 1617649
>>17529
При желании на питоне можно писать как на джаве, просто этого делать не нужно.
Если программировать на жабе сложнее, то ты легко должен быть способен писать на языке проще. Плюшки питона типа динамической типизации делают его скорее более гибким. Дело скорее в том, что твой высокий интеллект видимо недостаточно высок, чтобы воспользоваться чем-то новым для тебя. Или привык, что когда пишешь из говна и палок, компилятор найдет все твои косяки и сообщит о них?

Как гуру ооп может пояснишь, почему в твоей жабе предпочитают использовать делегирование вместо наследования? При том что последнее одна из тех самых твоих пресвятых заповедей ооп.
73 1617650
>>17648
Ну хз, тогда можно наверно прокси для этого прикрутить?
74 1617655
Прочитал пост "джависта" выше и что-то вспомнил, недавно смотрел запись с какой-то конференции по пайтону, там выступал товарищ то ли из гугла, то ли из фейсбука, то ли из инстаграма, то ли откуда - не суть, но суть в том, что по его рассказам как минимум в инстаграме уже усиленно перепиливают кодовую базу на питоне под статическую типизацию. Тащемта, как это обычно бывает, от больших компаний мода быстро расходится по индустрии, так не станет ли пайтон статически типизируемым через пару годков?
75 1617657
>>17655
Вот, кстати, запись:
https://www.youtube.com/watch?v=dyzxPK21le0
76 1617666
>>17647
Ооо, спасибо. Очень помогло.
>>17650
>>17648
Да нет, 1к урлов вполне работает без прокси, просто со слипом на 0.1-0.2 мс между каждым запросом
правда в итоге получается не 30 сек канеш
image.png110 Кб, 1789x407
77 1617674
Помогите, что я делаю не так? py-translate может запрашивать какой-то особенный реквестс?
78 1617675
>>17674
Блядь, я дебич, транслэйт не поставил зависимости, а я забыл активировать венв и понял это только на скрине.
79 1617678
>>17675
Сука, это говно ещё и не переводит нормально, я же сам смотрел код, он точно обращается к гугл транслэйту, почему у него тогда результат не такой, как в обычной веб форме
.JPG69 Кб, 1112x830
80 1617680
Почему работает этот декоратор, если оригинальная функция принимает только позиционные аргументы, а wrapper и позиционные, и ки-ворд?
.JPG49 Кб, 1457x431
81 1617682
>>17680
Чтобы было понятно, что делает.
82 1617683
>>17680
>>17682
Хотя, это, наверное, потому что в результате нету kwargs'ов.
Но тогда вообще можно ли это назвать декоратором?
83 1617684
>>17678
Пиздец, поставил другую библиотеку, а она переводит по третьему, не так как та и не так как в веб форме, что за пиздец....
84 1617750
>>17684
Дениска, ты главное не переживай так. Не думаю, что тебе критично иметь перевод точно такой же, как в вебе, так что юзай то, что удобнее и клади болт
85 1617752
>>17750
Ну знаешь, возможно это именно с моим пробным десятком текстов, но в веб форме перевод солидно лучше, прямо очень заметно. Я собираюсь ещё попробовать две вещи: разбивать текста на отдельные предложения и апи яндекс переводчика.
86 1617755
>>17649

>Или привык, что когда пишешь из говна и палок, компилятор найдет все твои косяки и сообщит о них?


Всегда так делаю, не пользоваться этой функцией языка, всё равно, что принципиально не пользоваться, например, декораторами.
87 1617760
>>17680
Всё в порядке, а почему это не должно работать?

(звёзды убираю)
@task
def foo(args):
____pring(args)

эквивалентно
foo = task(foo)
task возвращает новую функцию wrapper, поэтому дальше, когда ты пишешь
foo(a, b=100)
это уже будет реально вызов
wrapper(a, b=100)
где-то в недрах которого вызывается исходная foo

Главное, что нужно запомнить про декораторы, это что
@deco
def foo(a, k):
____pass

абсолютный эквивалент (синтаксический сахар)
foo = deco(foo)

понимая это ты легко поймёшь всю логику кода, почему и как это работает.
88 1617787
>>17649
Кто тебе сказал что наследование - святая святых? Инкапсуляция это святая святых
Когда ты хуяришь наследование только чтоб обьеденить части кода (при том что часть методов суперкласса в принципе не юзаются), ты даун. Без вариантов
89 1617791
>>17655
? Что значит "под статическую типизацию"?
Typing это давняя фича Пистона, кто не юзает ее в крупных проектах еблан априори
90 1617793
>>16384 (OP)
Шалом, правоверные. Вкатился в питон, почитываю Лутца, прошёл курс на курсере, но не могу понять, что читать/смотреть/проходить чтобы вкатиться в датасайенс. Нашёл на курсере один курс от яндекса/мфти, так там какая-то хуйня вместо подачи материала и задания на первой неделе уровня устанавливаем питон, отсылаем скриншоты сокурсникам.
Куда воевать то ёпт.
91 1617808
>>17306
Бамп вопросу
Наплодил на каждую операцию с данными отдельный view, отдельную форму и отдельный template. Хелп, как рефакторнуть этот кал
92 1617826
>>17306

> Как это сделать изящнее?


Сделать class based view под разные типы запросов
93 1617851
>>17791
Typing уродство обычно, в том виде, как в питоне уж точно.

Уродливый громоздкий негибкий синтаксис, какой-либо оптимизации реальной не происходит и реальной проверки рантайм. Хотя можно втыкать костыли, оформить проверку через декоратор, например, и включать для отладки нужных функций.

Ты как бы получаешь уродство C++, при отсутствии каких-либо плюсов языков вроде C++/Java.

Но можно использовать для декларирования функций в разных API, там оправдано немного изуродовать код.

Статическая типизация тоже уродство с большими ограничениями. В принципе нормально, что переменная может быть разных типов, это называется полиморфизм. Статическая типизация этого не позволяет, и это проблема.

Хотелось бы гибкого подхода, чтобы в коде функции можно было бы декларировать переменные каким-то типом, а можно любым типом, и чтобы в рантайме экспешен возниках, если ты пытаешься тип переписать. По идее это несложно было бы поддержать, но нет.
image.png94 Кб, 638x359
94 1617863
>>17851

>Хотелось бы гибкого подхода, чтобы в коде функции можно было бы декларировать переменные каким-то типом, а можно любым типом, и чтобы в рантайме экспешен возниках, если ты пытаешься тип переписать. По идее это несложно было бы поддержать, но нет.


Пчел...
95 1617865
У меня есть 10 чисел, нужно найти самое большое. Применяю функцию max(), окей. А если нужно найти два самых больших числа, что делать?
96 1617871
>>17865
a, b = sorted(arr)[:-2] или просто циклом проходишь и ищешь
97 1617872
>>17306
В джанге есть generic views, если у тебя примитивный круд, то должно сгодиться. Можно поискать какие-нибудь приложения-генераторы вьюх для джанги. Если тебе сойдет rest, берешь Django Rest Framework, там есть свои generic views, с ними вьюха в три строки. Где-то видел сайт django builder или как-то так, ты вводишь модель, а он тебе к ней все остальное генерирует. Можешь свой обобщенный класс вью написать, отнаследовав его от стандартного.
98 1617936
>>17871

>a, b = sorted(arr)[-2:]


фикс
99 1618056
Аноны, есть пикрил изображения с цифрами, как лучше сделать классификацию цифр?
Конечно же без нейронок и прочего говна, ведь цифры довольно схожи между собой.
100 1618064
Слыхал, что multithread программирование это антипаттерн. Насколько это близко к правде, особенно касательно Питона?
101 1618079
>>17760
Понятно, спасибо.
102 1618082
>>18056
Провести горизонтальные и вертикальные линии, посчитать количество пересечений? Помню была такая лаба в универе по теме распознавания образов
103 1618128
>>18064
Это в первую очередь из-за опасности непредсказуемого поведения, когда потоки имеют общие данные, но в принципе можно, если ты его избегаешь, погугли Thread-safety и как оно достигается. В питоне есть GIL, поэтому одновременная работа нескольких потоков невозможна и часть проблем отпадает (как и преимуществ). В питоне его можно использовать для любых блокирующих операции, если необходимо, что бы программа в это время делала и другие действия.
104 1618160
>>18064
Смотря для каких целей. Многопоточные программы обычно необходимость, так ты можешь обрабатывать блокирующие операции и полноценно использовать ресурсы.

Паттерны скорее в том, как работать в многопоточных приложениях, что использовать, что нет. Антипаттерн использовать мютексы для блокировок, например, обмен данными лучше делать через очереди и некоторые фишки есть.

В питоне, обычном, многопоточность ущербная и применение сильно ограничено из-за этого.
105 1618197
Уебки, люблю вас :)
Я опять вышел на связь, помогите с проблемкой, плз.

Есть такой скрипт: https://pastebin.com/0qMggbi8

Нужно, чтобы созданные треды (3 штуки) в цикле, который идет ниже, переключались на другую функцию. Они начинают с таргетом myfunc, как переключить их на myfunc2?
.JPG28 Кб, 1001x524
106 1618211
Такое, конечно, вряд ли где-то используется, но можно ли написать декоратор лябмда-функцией, и чтобы он и args и kwargs перехватывал? По образцу пикрелейтед.
.JPG27 Кб, 789x442
107 1618219
>>18211
Методом тыка оказалось, что можно.
Чёрт его знает, что тут происходит.
108 1618228
>>18197
Ты формулируешь вопрос настолько же криво, насколько пишешь код. Хуй поймёшь, чего ты хочешь.

Попробуй запустить два цикла, в одном ты три треда myfunc запускаешь, в другом два треда myfunc2. Тогда обе функции будут кушать из одного треда.
109 1618229
>>18228

>кушать из одного треда.


из одной очереди
110 1618274
>>18228

Да бля, нет же.
Хули не ясно? Нужно изменить таргет уже созданных тредов в цикле, треды должны обрабатывать очередь только по одной функции. Алгоритм такой:

- объявил N функций
- создал 3 треда
- первый проход цикла
- набил очередь, треды работают с очередью
- изменил таргет для созданных тредов
- треды обрабатывают очередь через новый таргет
- второй проход цикла
- набил очередь, треды работают с очередью
- изменил таргет для созданных тредов
- треды обрабатывают очередь через новый таргет
111 1618292
Не могу разобраться с индексом, нужно вывести сколько раз в списке встречается число. Помогите пожалуйста. В чем ошибка?

a = [int(i) for i in input().split()]
n = int(input())
for i in a:
if n == i:
print(a.index(i), end = ' ')

Вводим:
5 8 2 7 8 8 2 4
8
Получается:
111, а нужна 1 4 5
112 1618299
>>18292

>print(a.index(i), end = ' ')


Description

Python list method index() returns the lowest index in list that obj appears.
Ты хоть читай, чем пользуешься.
113 1618301
>>18292
enumerate
114 1618302
>>18292
a = [...]
x = 8
ans = [i for i, j in enumerate(a) if j == x]
115 1618306
>>18292

Все правильно, ты берешь индекс 8, он тебе возвращает ближайший. То что эта 8 из конца листа - нихуя не значит.
116 1618311
>>18211

> можно ли написать декоратор лябмда-функцией


Зачем?
117 1618313
>>18311
Такое задание. Видимо, на чистую теорию.
118 1618362
>>18299
>>18301
>>18302
>>18306
Спасибо. Я нихера так и не понял правда, просто по курсу enumerate еще не было. Поэтому старался делать в рамках изученного.
119 1618367
>>18362

>Я нихера так и не понял правда


.index() не та функция, которую ты должен использовать. Она делает совсем не то, что ты думаешь она делает. Если хочешь совсем тупо, то делай тупыми методами:
a = [int(i) for i in input().split()]
n = int(input())
for i in range(len(a)):
if n == a:
print(a, end = ' ')
120 1618378
>>18367
Хорошо, буду более тщательно разбираться.
121 1618382
>>18378
Там индексы потерялись
>>18367

>if n == a[ i ]:


>print(a[ i ], end = ' ')

122 1618392
123 1618413
>>18219
А теперь попробуй в функцию засунуть принт и посмотри как она выполняется
124 1618420
>>18082
Спасибо, попробовал - отлично работает, только на 3 и 8 иногда проебывается, буду лечить.
125 1618426
Оригинал: She's just an apprentice of mine. I thought we'd share a drink as business partners for old times' sake.
веб форма гугл переводчика: Она просто моя ученица. Я думал, что мы поделимся напитком в качестве деловых партнеров ради старых времен.
py-googletrans: Она просто ученица моей. Я думал, что мы бы поделиться напитком в качестве деловых партнеров в старые добрые времена.

Ну короче я понял, что перевести нормально даже мелкие куски простого текста полностью свободно, без всяких ключей к апи и прочего, просто невозможно. Можете не пытаться, если вам придёт в голову.
856974ac7069bd023f5118e1baaec961.jpg37 Кб, 500x281
126 1618452
Зацените план: делаю игру на Unity через IronPython.
127 1618453
>>18413
Не понимаю, что ты имеешь в виду. В "foo"? Что ей принтить?
128 1618459
>>18211

>>18453
Да, твой декоратор не выполняет функцию
129 1618464
>>18459
ЯННП.
Получается, это и не полноценный декоратор вовсе? Или, если учитывать, что это сделано через лямбду, то это нормально?
130 1618467
>>18459
Если что, задание сформулировано так - "написать лямбда-декоратор, сохранив его в переменную".
131 1618468
>>18464
Это декоратор, но ты его не совсем правильно юзаешь в первой лямбде должна быть функция, а не аргументы, что бы ты мог ее вызывать, а так же если добавить еще лямбду, то можешь и аргументы засунуть

lambda_deco = lambda func: lambda args, kwargs: func(args, kwargs)
Или так
lambda_deco = lambda my_arg: lambda func: lambda args, kwargs: [func(args, kwargs), my_arg]

@lambda_deco('test')
def a(args, *kwargs):
____print('Hello')
____return args, kwargs

>>18467
А, если так, то все норм, декоратор не обязан вызывать функцию
132 1618471
>>18468
А еще макака сожрала звездочки, ну ты понял, где они
133 1618490
>>18420
Попробуй горизонтальную линию в нижней половине, типа под соединением восьмерки или центральной засечки тройки.
134 1618493
>>18468
>>18471
Сложновато, но принцип понятен. Спасибо.
135 1618549
>>18490
Просто добавил больше примеров, вроде как лучше стало.
Еще буду логику улучшать и улучшать, спасибо, антош.
image.png73 Кб, 1229x655
136 1618553
>>18549
Подкрутил тут, подправил там, теперь все заебис.
137 1618712
>>18292
Метод a.index(i) возвращает индекс первого попавшегося числа i вот оно и выводит тебе постоянно первую 8. Нужно делать проход цикла по индексу.
138 1618921
Питоны, как вы развивали в себе способность составлять программу? Т.е. логику - алгоритм, типа того. Я к примеру могу что-то нагуглить, разобраться как оно устроено, даже понимаю что программа делает. Но вот с нуля самому сообразить пока трудно, постоянно делаю какую-то громоздкую хуйню. Это со временем приходит по мере гугления/изучения? А то недавно только начал учить, чувствую себя совсем умственно отсталым.
139 1618929
>>18921
Хочу написать программу, которая будет сама за меня писать программы. Я только деньги со сберкнижки буду снимать.
140 1618942
>>18929
Ну не траллируй, я действительно недавно начал только изучать. Просто к примеру есть какие-то маленькие кусочки кода которые я могу писать по памяти, но что-то сложное уже начинает ломаться, тупить и выдавать пиздец. Вот и хочу узнать, стоит ли тратить время именно на то, чтобы любой код уметь писать по памяти начиная с самого малого, или лучше охватывать разные алгоритмы более обширно, а потом уже возвращаться и подгугливать какие-то конкретные детали?
Типа - ну вот тут вот вычисляется самая маленькое значение из списка, тут вот происходит поиск, но в целом не иметь возможности написать это все самому по памяти, но знать в принципе что программа делает при чтении и понимать общий принцип построения логики. Так возможно продолжать изучение, или все нужно постепенно изучать досконально?
141 1618948
>>18942
Если я правильно понимаю, отдельные модули программы надо делать независимыми, а уже потом объединять их вместе по предварительно намеченной схеме программы
142 1618976
Хочу написать небольшой парсер для блога, который будет новые посты пересылать в тг. Вопрос в хранении id последнего поста. Хранить в текством файле или есть еще какие способы? не прикручивая бд
143 1618987
Как в питоне вызвать выполнение батника, чтобы он и скрипт выполнялись параллельно?
144 1618988
>>18987
через subprocess или os.spawnv
145 1618992
>>18976
Если у тебя программа будет работать всегда (а она должна это делать по сути), то тебе достаточно одной переменной
146 1619035
Хэй погромисты, а свойства классов(гетеры, сетеры и делетеры) наследуются и их в наследнике же можно изменить будет?
147 1619052
Для каждого воркера multiprocessing открывает новый интерпретатор. Правильно ли я полнимаю, что если через subprocess запустить несколько питоновских скриптов, то это будет параллельное выполнение?.. (можно даже работу с общим ресурсом памяти запилить - через очереди и сокеты)
Снимок экрана 2020-02-29 в 18.24.23.png16 Кб, 642x86
148 1619059
>>18452

>IronPython

image.png346 Кб, 1172x659
149 1619062
150 1619071
>>19052

> Правильно ли я полнимаю, что если через subprocess запустить несколько питоновских скриптов, то это будет параллельное выполнение


Да, правильно, параллельное и независимое. Но только всё-таки это надо делать через Pool и Process модуля multiprocessing.

Кстати модуль поддерживает и shared объекты уже "из коробки".
151 1619076
>>19059
Работа идёт
https://github.com/IronLanguages/ironpython3
Можно ещё вот это использовать:
http://pythonnet.github.io
152 1619098
Почему PyPy мало кем используется и не заменил собой CPython в качестве стандартного интерпретатора Питона? Он же намного производительнее, включается в себя jit-компиляцию и поддерживает адекватную многопоточность! Че за хня?
153 1619164
>>19076

>Работа идёт


Билда трешки до сих пор нет, двушка не обновляется, но коммитов дохуя, что они там делают?
154 1619165
>>19164

>что они там делают?


Дрочат друг другу.
155 1619169
>>19098

>https://stackoverflow.com/questions/18946662/why-shouldnt-i-use-pypy-over-cpython-if-pypy-is-6-3-times-faster


1) Проблема с сишными расширениями
2) Поддержка фич отстает от cpython, только в декабре выкатили 3.6
3) Нужно перепедаливать проект
156 1619172
>>19169
А почему само python-овское общества не сделает упор с cpython'a на pypy?
157 1619175
Я опять с тупизмом начального уровня пришел. Помогите пожалуйста понять принцип решения.

a = [int(i) for i in input().split()]
for i in range(1, len(a)):
if a[i - 1] * a > 0:
print(a[i - 1], a)
break

1. Почему в range указана 1
2. Почему в условии a[i - 1]
Пробовал в range писать 0, а в условии a[i+1], но это не работает. Не ясно только по какой причине.
158 1619177
>>19172

>python-овское общества


Это кто? Чуваки из PSF пилят cython за донаты, энтузиасты свое за меньшие донаты, обычным прогерам поебать, им за это не платят.
159 1619183
>>19177
cpython
фикс
160 1619190
>>19175
Потому что это писал аутист
Забудь это решение и используй for elem in a как белый человек там эта единица вообще по приколу стоит
161 1619200
>>19190
Просто сишку из человека не вывезти.
162 1619203
>>19177
Дружки Гвидо отсюда
https://www.python.org/community/
163 1619209
>>19203
Они cpython пидорят, зачем им так распылятся, ведь кто-то это уже делает за них.
164 1619211
>>19190
Спасибо. Я почему решил уточнить, данный вариант выделили разработчики ресурса, где эта задача размещена. То есть изначально рекомендуется делать именно так (возможно лишь в рамках изученного). Естественно, я бы до такого не додумался.
165 1619216
>>19098
Уже написали, поддержка версий, расширений и т.п.

Кроме того, просто не всегда pypy будет работать быстрее. PyPy работает хорошо там, где много итераций простых циклов, а где-то он реально проигрывает в производительности. Аналогично и с Cython, где-то он хорош, но и проблемы с ним есть.

Далеко не везде проблемы производительности актуальны. Какая разница, у тебя проц загружен на 5% или на 0.5%?

В общем когда актуально, тогда и надо думать. И такие решения есть, которые позволяют ускорить при необходимости. При этом всегда можно распределить, часть функционала одной машиной исполнять, часть другой, пересылать данные потом упакованные pickle или классическими форматами.
166 1619281
Есть очень простой скрипт, выдающий только пару строк текста на выходе. Каким инструментом превратить его в приложение? Просто чтобы два раза кликнуть - и выводилось окно с этими строками.
167 1619295
В Джанге за каким-то хреном постоянно повторяется имя приложения во вложенных папках типо: myproject/myapp/templates/myapp - вот нахера надо 2 раза писать myapp? Папка templates же и так внутри этого приложения лежит
168 1619308
Недавно в python.
Ловлю исключение except pycurl.error.
Как в в блоке try самостоятельно выбросить pycurl.error?
169 1619310
>>19281
Уже не надо.
170 1619311
>>19308
raise pycurl.error
171 1619320
>>19295

>myproject/myapp/templates/myapp - вот нахера надо 2 раза писать myapp? Папка templates же и так внутри этого приложения лежит


Што? При чем вложенность папок к темплейтам? И нейминг ты любой можешь сделать для теймплейтов
172 1619322
>>19211

>выделили разработчики ресурса


Что за ресурс?
173 1619329
>>19320

>И нейминг ты любой можешь сделать для теймплейтов


Естественно, но не в этом суть

>При чем вложенность папок к темплейтам


Потому что везде вижу как внутрь тех же темплейтов вставляют еще одну папку, имя которой дублирует имя приложения
175 1619344
>>19329

>Потому что везде вижу как внутрь тех же темплейтов вставляют еще одну папку, имя которой дублирует имя приложения


А, ты в этом смысле, так так понятнее же. Смотри, у тебя есть десяток приложений, у каждого свои темплейты, структурируя по различным папкам ты получаешь аккуратные папки с темплейтами для приложений, или не структурируешь и получаешь мешанину.
176 1619528
>>19175
1. Потому что смотрят на письку и его соседа слева. Чтобы у первой письки был сосед слева надо начинать со второго. У второго индекс 1 (у первого 0)
2. это сосед слева.
3. потому что улетает за границу в правой части, надо ещё len(a) - 1 делать.
177 1619653
В Django потребуется хранить что-то типа односвязного списка значений. Внутри Topic мы добавляем новые Entry и их порядок обязан сохраняться. Мы можем передвинуть Entry на любую новую позицию и это должно сохраниться, то есть их нельзя сортировать по дате добавления. Как такую фичу реализовать в Джанге? Как с одной Entry грамотно передать ссылку на другую и потом пройтись по ним всем?..
178 1619778
flask + vuejs: неправильно же вставлять в jinja шаблоны vue переменные типа {{ data }}?
Типо как правильно vue с flask подружить
179 1619794
>>16384 (OP)
Откуда pip подгружает пакеты, если я говорю ему например pip install numpy? На каком сервере он находит этот билд numpy? Как они туда попадают? Могу ли я вручную скачать откуда-то архив этого билда, не устанавливая его?
180 1619797
>>19778
Выкинуть нахуй шаблонизатор и сделать на фласке только апишку
181 1619798
>>19794
Гугли pypi
182 1619805
>>19798
А как пакеты попадают туда? Могу написать свой yoba_module_maxx_power_ownage и забросить туда чтоб каждый мог его установить и насладиться моим ахуенным кодом?
183 1619808
>>19805
Пчел, в интернетах все давно расписано, ты можешь загуглить такую тривиальную вещь сам.
184 1619811
>>19808
Да я видел как это происходит но вопрос не в этом. Они что реально позволят любому дауну подгрузить свой говнокод с гитхаба?..
https://medium.com/@joel.barmettler/how-to-upload-your-python-package-to-pypi-65edc5fe9c56
185 1619813
>>19811
да, потому пупя засрат нерабочей хуитой, которую приходится фильтровать в поисках чего-то годного.
186 1619817
>>19811
Хуле там нет хотя б ограничения на количество звезд?
187 1619877
>>19817
О, кармадрочерство.
А пользователь либы авансом должен поставить звезду? Через пип-то он установить её не может, только вручную.
188 1619884
>>19817
Количество звезд это нихуя не показатель, вон неработающее говно залайкали только из-за красивого графика с тестами
https://github.com/squeaky-pl/japronto
189 1619892
>>19797
Спасибо, я так и представлял, просто уточнил
190 1619906
>>19884
Двачую. Вот у этого неработающего говна вообще 16К звёзд:
https://github.com/vlang/v
191 1619920
>>19794

>Могу ли я вручную скачать откуда-то архив этого билда, не устанавливая его?


pip download package
192 1619927
Изучаю превозмагаю тут ооп и попутно пишу телехрамм бота для.. ну просто пишу и все.
В общем есть небольшой класс, представляющий из себя множество ключевых слов и операций над ним. И есть событие, которое должно работать с содержимым этого множества. Но оно тупо не работает, т.е событие вроде как обращается к классу, но при этом в нем ничего не сохраняется и не выводится. И дебаггер это все почему-то не отлавливает по брейкпоинту, я не могу посмотреть как там и где сохраняются данные. Чяднт?
https://pastebin.com/XKdskWgs
не смотрите на регулярку, это не мем
8a4.jpg30 Кб, 316x202
193 1619941
Суп питонач. Как вы разбирались в коде, который вы не понимали при изучении? Вот к примеру сейчас разбираюсь с алгоритмом Дейкстры, мне понятна в целом концепция его работы и то, как он работает, и даже то, почему он может не работать. Но вот его сопроводительный код для меня слишком сложный и я не могу написать его самостоятельно, и разбить на меньшие фрагменты чтобы понять его кусками тоже не получается. Что делать?
Кажется если я так и дальше буду пропускать малопонятыне моменты без углубления, я вообще ничего не выучу.
https://dumpz.org/a2PXepQwS3TY
194 1619952
Лучше дочь шлюха, чем сын питонист
195 1619954
>>19952
Нет
196 1619959
>>19952
лучше дочь шлюха, чем сын который приходит в питон-тред с вялыми попытками кого-то затралеть
197 1619967
>>19952
Дочь-питонист.
198 1619968
>>19959
+
вот этот высер хотя б был забавен: >>17529
image.png11 Кб, 464x182
199 1619977
Антоны, как можно перетасовать эти два массива так, чтобы порядок элементов в них был одинаков?
Мне нужно получить рандомный порядок картинок, но текстовые файлы во втором массиве должны совпадать с ними
200 1619984
Бля, установил интерпретатор 3.8 в виртуальную среду, начал по новой ставить пакеты для Джанги и во время загрузки psycopg2 вылетела вот эта залупа: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools и нихера не устанавилось, че это за дичь? Visual C++ 14.0 подавно стоит
201 1619989
>>19977
Хотя, по идее, нахуй мне второй массив с .txt, если я просто могу заменить расширение
202 1619995
>>19984
Скорее всего эта проблема из-за того, что psycorp2 ещё не работает с пистоном 3.8
У меня такая же залупа была с numpy, пришлось ставить под 3.7
203 1620000
>>19989
Питонотред настолько хорош, что что-бы получить решение даже не нужно дожидаться чужого ответа
204 1620002
>>19995

>psycorp2 ещё не работает с пистоном 3.8


А знаешь почему я вообще 3.8 в эту среду поставил?)) Потому что функция django.contrib.admin.register не работает в 3.7 - когда я вставляю туда свою модель чтобы зарагестрировать ее Python крашится нах (да, сам интерпретатор), судя по тому что говорят на форумах: https://www.reddit.com/r/django/comments/e5m7zv/accessing_admin_is_crashing_the_server/это именно из-за приколов 3.7
205 1620009
>>20002
Вот теперь познал что значит "ебля с версионированием"
206 1620012
>>20002
Собери версию из гита, там вроде работает
207 1620018
>>20000
Ага, особенно учитывая то, что я не знаю питона.
Вот только чому я не додумался до этого раньше...
208 1620030
>>20018
Кстати, Аноны, а теоретически возможно такое, что те два вызова glob.glob могли дать мне разный порядок файлов и при записи я бы получал расхождение между картинкой и текстовым файлом?
209 1620052
>>20002
Ты как регистрируешь?
Я видел:
django.contrib.admin.register
django.contrib.admin.site.register
django.contrib.admin.sites.register
ебаные разные версии Джанги...
Что из этого вообще использовать? В коде вроде юзаю django.contrib.admin.site.register - работает, но когда пытаюсь отдельно импортировать в консоли эту функцию - пишет что модуля site вообще не существует (есть только sites, где register нет). Че это бля такое?
210 1620063
Есть ли какой-нибудь способ визуализировать код в виде одной большой таблицы или схемы? Знаю есть типа таких - http://www.pythontutor.com/visualize.html#mode=display
Но хочется чтобы это все было в еще более развернутом виде и не так скомкано
211 1620171
Хм, а вот стоит у меня Питон 3.7.0 как его апгрейднуть до 3.7.6 но не до 3.8? pip upgrade же самую последнюю версию поставит
212 1620175
Помогите советом, на чём сайт сделать.
Вводные такие:
1) знаю питон, не знаю всякие пхп и джаваскрипты, поэтому питон
2) на фласке сайты уже делал, но в этот раз контейнтом будет наполнять человек, далёкий от программирования, поэтому нужна cms, соответственно, джанго (не ошибаюсь ли в этом пункте?)
3) писать cms с нуля это такое, поэтому прошу совета, какую лучше взять, чтобы можно было по быстрому написать пару шаблонов страниц и потом наполнять это дело текстом и картинками.
Всякие хтмл и ксс знаю.
213 1620177
>>20171
Пип не ставит питон
Если из под винды, то идешь на сайт и качаешь нужный билд
Если линух, то просто указываешь нужную версию пакета
214 1620204
Надо бы мне в виртуальную среду поставить notebook чтоб легче было в консоли работать, но когда я поставил pip install notebook, эта херь поставила мне еще и овердохуя всякого говна (в том числе tornado, pywin32 и еще какая-то муть), сомневаюсь что хотя бы половина нужна для работы notebook. Как его поставить по человечки с минимумом пакетов?
(есть еще jupyter и jupyterlab - но то же самое говно)
215 1620218
>>20175
WordPress.
216 1620221
>>20218

>не знаю всякие пхп и джаваскрипты


Возможно, в обозримом будущем меня уговорят прикрутить туда всякое. Поэтому питон.
217 1620225
>>20177
Если бы у него был линух, то у него все сопутствующие пакеты были бы пересобраны под самый последний питон в репозиториях, так что тут уточнять ни к чему было.
218 1620232
>>20225
Хехе
Арч уже равно линупс?
219 1620239
>>20225

>Если бы у него был линух, то у него все сопутствующие пакеты были бы пересобраны под самый последний питон в репозиториях, так что тут уточнять ни к чему было.


Я не думаю, он ебанашка, которая сидит на ролинг-релиз дистрах без возможности, установки прошлых версий пакетов, в дебианоубунтах и красношляпах все нормально
220 1620250
>>20232
>>20239
Вы прочитали, что я написал?

>сопутствующие пакеты были бы пересобраны под самый последний питон в репозиториях


На линуксах, если ставить из реп (как ты и должен делать, потому что там за тебя и слюнки подотрут), то всякие доп. библиотеки будут собраны под версию пистона, которая в репах. В репах 3.5? Вся шелуха тоже под 3.5.
221 1620254
>>20250
Зочем в питухоне пол линем что-то ставить из реп когда есть venv?
222 1620255
>>20250
Нет, старые билды нахуй не выкидывают, это не арч
223 1620261
>>20254
Ну видишь, анон не справился.
224 1620266
>>20255
Выкидывают-выкидывают. Сначала называют old stable, а потом выкидывают вместе с релизом.
225 1620267
>>20266

>Сначала называют old stable


Ты странный если тебе внезапно понадобились пакеты старше олдстейбла
226 1620271
>>20261
Пусть как нормальный поцан asdf ом питон нужной версии ставит, а пипом свои пакеты.
227 1620272
>>20267

>только в арче выкидывают


>везде выкидывают


>ой, а зачем тебе выкинутые пакеты? ты странный

228 1620275
>>20272
Контекст был про различие минорных версий на 2-3 релиза
229 1620282
>>20275
Я тебе просто объясняю, что перестают поддерживать старые версии везде. Где-то быстрее, где-то медленее. Если тебе нужна какая-то конкретная версия, то её может в определённый момент не оказаться ни в актуальном арче, ни в актуальном дебиане, ни даже в ещё поддерживаемом центосе.
230 1620289
>>20175
Бампуэ
231 1620293
>>20030
Может быть

>Whether or not the results are sorted depends on the file system.

232 1620334
>>19653
бамп вопросу
233 1620352
>>20334
Из того что гуглится - можешь сделать кастомное поле
https://docs.djangoproject.com/en/3.0/howto/custom-model-fields/
Можешь подключить какую-нибудь noSQL базу данных и хранить там прямо списки, сортируя как хочешь
234 1620371
>>20352
Ебана, а каковы подводные если я буду совмещать MongoDB и Postres в одном проекте?..
235 1620410
>>20371
Если драйвера под нее есть то все нормально
https://docs.djangoproject.com/en/3.0/topics/db/multi-db/
236 1620482
Высокопроизводительные сетевые клиенты на Пистоне на овер9к параллельных коннектов - фантазии или реальность? Или проще не мучать жопу и перевкатиться в какой-нибудь более подходящий язык?
237 1620500
>>20482
Зависит от того, что ты на них будешь делать и как организуешь архитектуру
http://magic.io/blog/asyncpg-1m-rows-from-postgres-to-python/
238 1620513
А какими были ваши первые проекты? Интересно было бы узнать с чего здешний анон начинал.
239 1620515
>>20513
Ты про рабочие или про петы?
240 1620518
>>20515
Вообще про пет-проекты, но и про рабочие тоже можно рассказать. Любая информация будет полезна.
241 1620555
>>20518
1. Бот для инсты.
2. Автоматические тесты на селениуме.
3. Сайт на джанге.
мимодругойанон
242 1620556
>>20555

>Сайт на джанге.


Внутренний портал газпрома? Сраничка "Я и моя сраная кошка"?
243 1620557
>>20556
Нет, для бухгалтеров штуку в которой учет средств вели, серых я так понимаю.
244 1620558
>>20555
Что за бот? Под свои нужды писал?
245 1620559
>>20558
Да, искал по локации и тегу, лойсал фотки.
246 1620563
>>20518
Сервис с вебмордой на джанге и микросервисным ядром для работы с фотостоками, свалил через год, сейчас работаю на букмекерсий стартап
312312.png18 Кб, 721x192
247 1620642
Анончики, помогите, пожалуйста, срочно
248 1620666
Аноны, за месяц нужно запилить нейросеть на питоне, подскажите литературу, желательно, чтобы по проще прдавалась инфа. Лучше на русском, хотя и англ подойдет. Нейросеть если что по классификации кредитов.
249 1620673
Как сделать так чтобы мое приложение на Джанге независимо от пользователей каждые 30 секунд проводила опрос стороннего ресурса? Очевидно что нужен некий endless loop, это только асинхронными методами можно запилить?
250 1620694
>>20673
Есть такая штука в джанге как management command, по сути скрипт джанги, просто запускаешь его по крону каждые 30 секунд. Но вообще все используют celery, и ты так делай.
251 1620708
>>20694

>celery


Гуд, усвою. По факту он в Джанге может выполнять прикладную асинхронность связанную с тасками? И даже никаких asgi и 3й версии Джанги не нужно?
252 1620711
крайне идиотский вопрос (мне, только начавшему читать и любопытному, интересно):
Не сравнивайте логические типы с True и False с помощью ==:
253 1620712
>>20711
почему не сравнивать с помощью ==?
254 1620716
>>20712
Это опасно. Можно лишиться девственности.
255 1620717
>>20712
Ну вот смотри, если ты пишешь if bool == True:
То почему бы не написать if (bool == True) == True: ?
256 1620722
>>19653
Первое что приходит в голову:
Добавить два поля для id следующего и предыдущего Entry и реализовать методы create, delete, next, insert и так далее. То есть тупо реализовать все что нужно, прямо в модели.
>>20708
По celery я тебе ничего рассказать не могу, не разбираюсь, потому как сам не пользуюсь. По асинхронности в джанго - тоже самое, они там что-то анонсировали в третьей версии, но я так и не понял что там можно асинхронно, а что нет. Похоже, что просто прикручивают django channels. Сижу на старой версии, жду когда сокеты завезут.
257 1620732
>>20722

>По асинхронности в джанго - тоже самое, они там что-то анонсировали в третьей версии, но я так и не понял что там можно асинхронно, а что нет.


Насколько я понял, они добавили поддержку ASGI и декораторов асинк_ту_синк и синк_ту_асинк. А 3 версия сейчас будет проходная, т.к. они планируют полностью перевести фреймворк на асинхронность к 4 версии, где-то на хабре была подробная статья про это
Ну и их старый роадмап
https://www.aeracode.org/2018/06/04/django-async-roadmap/
258 1620763
>>20666
Бамп. Неужели никто машинным обучением не интересуется?
259 1620775
>>20712
Потому что Большие Дяди юзают is
260 1620781
>>20717
Потому что менее понятно. А в bool == True: сразу видно, что тип булев, должен быть правдой. Меньше надо помнить.
261 1620788
>>20775
is может быть и вредно, если bool на самом деле, например, int. Или придётся писать if bool(int) is True:
262 1620809
>>20788
Большие Дяди принципиально юзают только True и False. Никаких None или int
263 1620915
Подскажите, если мой гитхаб состоит из курсовых работ времен шараги это пожалуй надо скрыть и парочки ботов для телеги. Причем один бот достаточно продвинутый (фриланс заказ) интернет магазин с кнопочками и постгрес бд. А другой модный-асинхронный, c вебхуком и парсингом. То это можно показывать как "проекты" для вката джуном в бекенд?(хотя на самом деле меня больше интесует работа с бд и автоматизация)
Или такое даже смотреть никто не будет?
264 1620958
>>20915

Ты учти что это в оба конца работает и если у тебя там будет говнокод то это сыграет даже похуже чем завал на двухмерном массиве.
265 1621040
Кто-нибудь может поднять рейт на https://slivup.me/
Хочу скачать пару курсов а рейта нет
266 1621109
https://www.labirint.ru/books/609684/
https://www.labirint.ru/books/486755/

Эти две же ок? Хочу бумажные. Вторую частично читал, первую совсем нет
267 1621110
>>21109
Или мб проще читалку купить, но это еще сложнее и выбрать и эти наверное в бумаге возьму
268 1621136
>>20781
Зачем это писать, если можно написать "if bool"?
270 1621146
>>21136
Пишешь if bool Только если не нужно обрабатывать преобразования
271 1621159
>>21146
Погоди погоди. Приведи пример из реальной жизни, в котором реально нужно писать "if bool == True"
272 1621165
>>21136
Чтобы было понятнее.
273 1621177
>>21165
Оно и так понятно, а кому не понятно - Гвидо объяснит лично

>Don't compare boolean values to True or False using ==.


> Yes: if greeting:


> No: if greeting == True:


> Worse: if greeting is True:

274 1621182
>>21177

>Don't compare boolean values to True or False using ==.


А я и не сравниваю "boolean values", я сравниваю variables, а какие оно может values принимать?

Если, например, ты спрашиваешь про False? И там не False, а пустая строка? Или None?
275 1621183
>>21182
if var
276 1621185
>>21182

>Если, например, ты спрашиваешь про False? И там не False, а пустая строка? Или None?


Приведи пример реального кода с такой ситуацией.
277 1621186
>>21185
Ты не можешь придумать ситуацию, когда False, [], и None это не одно и тоже?
278 1621187
>>21186
Я тебя не об этом попросил
279 1621190
В последнее время посматриваю по рандому всякие курсы и обратил внимание, что практически в каждом при открытии файла или подключения бд они стремятся максимально быстро же закрыть. Т.е. на каждую запись в файл или запрос в базу открыть-закрыть.

Нахуя это делать?
Выглядит как идиотская экономия на спичках, учитывая прожорливость самого питона. Или есть какой-то подвох?
280 1621191
>>21187
У меня нет под рукой реального кода, где False, [], и None это не одно и тоже, чтобы показать тебе, так что не могу.
281 1621195
>>21182

>А я и не сравниваю "boolean values",


>Не сравнивайте логические типы с True и False с помощью ==:



>пустая строка


Пустая строка все еще False, ровно как и None
282 1621198
283 1621199
>>21195

>Не сравнивайте логические типы


Логические значения. Логические значения бывают только True и False. А переменные могут быть не только True и False. Что не надо писать "if True == True" и так очевидно.

>Пустая строка все еще False, ровно как и None


О том и речь. У if a и if a == False будет разное поведение.
284 1621205
>>21191
Да я знаю, что это не одно и то же, речь то не об этом.
>>21199

>У if a и if a == False будет разное поведение.


Никто так и не сравнивает, речь была о True.

Обычно в нормальном коде в переменной bool или её аналоге и так будет булево значение. И достаточно написать if bool
Если туда попадает всякая левая фигня, то это проблема кода уже и её надо решать.
285 1621213
>>21205

>речь была о True.


Подожди, то есть эта схема не универсальна даже между True и False и применяется исключитально для True?
286 1621219
>>21190
Имхо, нет смысла держать открытым подключение, если оно не используется. Плюс, могу ошибаться, если при открытом подключение программа упадет, это подключение может далее висеть незакрытым.
287 1621225
>>21213
Я обычно пишу либо if bool, если мне надо, чтобы что-то произошло, если условие выполняется
Либо пишу if !bool в противном случае
Но я не сильно опытный программист
Стикер512x411
288 1621231
>>21225

>Либо пишу if !bool

289 1621239
>>21219
В том-то и дело, что будет использоваться.
Если ты сразу вычитываешь или полностью пишешь файл, то да, нет смысла держать открытым.

При падении GC должен подчищать, по-моему, это в общем-то штатная ситуация для самого питона.
290 1621251
291 1621254
>>21231
Я живой человек, я пью пиво по вечерам, отвянь
292 1621257
>>21177

>Worse: if greeting is True


Э?
293 1621283
>>16957
регексы из другой грамматики. с ними ты пойдёшь нахуй, когда захочешь вложенность победить и другие ништяковые вещи, которые даёт контекстно-зависимая грамматика.
294 1621288
>>19977
делай один список из кортежей через zip, а потом уже делай свою ёба сортировку по первым элементам всех кортежей.
295 1621289
>>21283
Пацаны, я сейчас таки допёр что regex это "Regular Expression"! Ёба, мама мне всегда говорила, что я одаренный и не зря. Скоро буду нейронки писать и 400к зашибать
296 1621291
>>21257
Это значит, что если напишешь так, к тебе в 12 ночи явится Гвидо и отпиздит восьмым пепом
297 1621296
>>20775
зачем они это делают? ведь сравнивают значение, а не тождество объектов.
298 1621303
>>21296
Значение эфемерно. Вот такой кастомный класс вообще всегда будет тебе выдавать True при сравнении и дальше что?
class Mine:
----def __eq__(self, other):
--------return True
Когда проверяешь ссылки ты точно знаешь что это синглтоны True или False
299 1621305
>>21289
рад был помочь! потом финансово поблагодаришь.
300 1621306
>>21289
а в каком модуле находится регулярка?
301 1621308
>>21303
значит такой это хуйня-объект, который эквивалентен всему. нахуя его по айди пробивать?
302 1621345
>>21239

>В том-то и дело, что будет использоваться.


Тогда нет никакого смысла закрывать соединение с БД, потому что коннект и аутентификация это достаточно медленная операция. С файлами тут чуть попроще, конечно.
303 1621366
>>21306
Как в обычном скрипте послать собственный асинхронный сигнал? Вот к примеру некая функция вернула определенное значение, значит посылается какой-то асинхронный сигнал и вызывается функция-обработчик для него. Или с помощью Celery это намутить реальнее?
304 1621368
>>21306
не туда (в модуле re, а что?)

>>16384 (OP)
>>21366
306 1621439
>>21382

>Async From Sync


Ну да, по делу. Только вот мне бы единожды кинуть сигнал внутри синхронного кода и не париться. Незачем плодить async loop. Клавиатурное прерывание Ctr+C это ж тоже обработка сигнала (который уже бросает эксепшн KeyboardInterrupt). Вот реально ли сделать сигнал который реагирует на свою комбинация клавиш? Или тут без Си-прогинга не обойтись?
307 1621453
>>21439

>Незачем плодить async loop


Так ты и не плоди, с 3.7 можно пользоваться раном, об этом в статье тоже есть. Насчет прерывания хз
308 1621559
>>21439
А как ты это сделаешь на Си? Ctrl+C это системный сигнал, его сама ОС генерит.

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

Просто не сделаешь. Но и на Си просто не сделаешь.
309 1621561
>>21439
Так повесить обработчик сигнала, а потом своему же процессу послать сигнал. В чем проблема?
310 1621564
>>21439

>Async From Sync


Там в этой части муть какая-то. Хотя не читал.

В любом месте для питона 3.5.3 и старше можно безопасно вызвать asyncio.get_event_loop(), не надо той мути для создания евент лупа. С 3.5.2 (он в дистрибутиве убунты 16.04, что печально) хитрее, поэтому лучше питон всё-таки обновить.

Для 3.7 уже больше возможностей, можно асинхронную задачу запустить просто как
asyncio.create_task()

Но всё это не имеет смысла в твоём контексте, ты реально делаешь что-то не то.
311 1621593
Для чего нужны элипсисы? Это которые ... Я прочитал, но так и не осознал зачем и для чего
312 1621595
sdafnb,msandb
313 1621601
>>20712
Потому что для бул переменной достаточно написать "if a". Аналогично для пустых списков, нанов и прочих фолси
314 1621602
сап. нужно хранить историю изменений модели в django. точнее что-было изменено(django-simple-history) почти подходит кроме одного. в админке нужно показыать какие поля изменились. так собственно вопрос. есть еще какие нить батарейки?
315 1621611
Так посоны, чтобы в бэкграунде от основной программы, что то делать и обрабатывать это все параллельно нужно изучить мультипроцессинг, да?
316 1621638
Объясните дебилу. У меня есть сеть на керасе, я хочу подать туда какой-то элемент из выборки и узнать результат, как мне это сделать? Юпитер https://github.com/jeffheaton/t81_558_deep_learning/blob/master/t81_558_class_14_04_ids_kdd99.ipynb
Подавать в предикт x_test[0]? Последний блок
и для чего 6 кусок
317 1621651
>>21561
Я про это и говорю КАК повесить обработчик кастомного сигнала?
318 1621673
Как лучше делать проверку вводимого int? Использовать isdigit() или просто поместить участок кода с приведением в try: ?
320 1621711
Почему Питон считается "интерпретируемым языком", если он компилируется в байт-код и выполняется виртуальной машиной? В чём вообще разница с C# и Java в таком случае?
7xwKtBq6bsg.jpg110 Кб, 563x554
321 1621745
Сап, питонисты
Поделитесь, какой язык знаете любите/используете в петах помимо питона? Go/JS?
322 1621756
Сап, у меня есть набор данных по возрастам, хочу это отобразить на диаграмме, но данных чуть больше чем дофига. это выглядит не красиво. Хочу сгруппировать например по группам возаста например с 21 до 25 в одной группе с 26 до 30 в другой. как провести эту группировку?
323 1621799
>>21159
is True
324 1621802
>>21675
Поставить хэндлер не проблема. Проблема заделать свой signal. Там в либе даны лишь основные сигналы (действующие на уровне ОС). Как я понял, без влезания в низкоуровневый прогинг на Си тут не обойтись
325 1621806
>>21756
pandas.DataFrame
Весь функционал там. Сортировку проведи
326 1621813
>>21802
Ну так системные и используй, это стандартный IPC.
SIGUSR1/2, например. Отправляются через os.kill.
327 1621865
Анончик, объясни как с виртуаленв работать.
Вот, например, в жсе - я клонирую репу с гитхаба, ставлю зависимости через npm install и они ставятся в папку с проектом.
Как это происходит с питоном? Я клонирую репу, в репе есть файл requirements.txt - как дальше мне поставить зависимости локально?
328 1621871
>>21865
Создаешь виртуальное окружение, устанавливаешь пакеты, в пайчарме это из коробки есть
329 1621881
>>21871
Мне нужно в шеле сначала перейте в директорию после чего создать виртуальное окружение с таким же именем как и проект?
330 1621884
>>21881
Вообще без разницы где создавать. Тот же venv главное активировать, а работать можно откуда угодно.
331 1621886
>>21884
Почему его можно создавать где угодно?
332 1621889
>>21886
Может ты хочешь иметь отдельную папку, где у тебя будут все окружения, но никто не мешает тебе это в проект закинуть
333 1621892
>>21889
А если я создаю окружение внутри проекта, то это окружение нужно в гитигнор добавлять, верно? А то я создал окружение внутри проекта и у меня появилось 500 новых файлов. И еще вопрос, есть ли какое то стандартное название для папки с виртуальным окружением внутри проекта? Или куда обычно их ставят?
334 1621897
>>21109
бамп
335 1621902
>>21892

>А если я создаю окружение внутри проекта, то это окружение нужно в гитигнор добавлять, верно?


Да

>И еще вопрос, есть ли какое то стандартное название для папки с виртуальным окружением внутри проекта? Или куда обычно их ставят?


Зависит от выбора виртуального окружения, для venv это папка с именем venv, оно в корень проекта обычно ставится
336 1621941
>>21902
Спасибо анончик. Вроде разобрался. А ты не знаешь, в питоне случайно нету практик для сендбокса скриптов/проектов? Или это мне нужно на уровне ос делать?
337 1621943
Можно ли адекватно реализовать mutable строки в Питоне? Для множественных операция удаления/вставки/смещения, чтоб работать с одним и тем же объектом и не происходило кучи копирований/удалений? Как их лучше всего намутить? Через memoryview - реально? (хз особо не вникал, что это такое)
338 1621946
>>21943
Если ты не собрался изменять строки больше пары мегабайт, то это не имеет особого смысла
339 1621967
>>21946
При частых изменениях удобно работать со строками как с последовательностями и брать конкретный элемент через __getitem__. Канешн можно реализовать обертку из этого, но строки все равно будут immutable
340 1621982
>>21967
Как диды массив из символов делай, или bytearray
341 1622000
А есть какие-нибудь модные хипсторские способы теребить коллекции?
Хочет какие-нибудь конструкции типа r['ch1','ch2'][:10]['data']. Типа взять два куста из словаря, срезать им первые 10 строк и извлечь из низ ключ 'data'. А то генератор на генераторе городить приходится.
342 1622016
>>22000
Многоэтажный comprehension.
343 1622036
>>22016
Так я уже. Просто просто после R это очень многословно.
photo2020-03-03 16.14.07.jpeg63 Кб, 500x500
344 1622043
dasdasd.PNG3 Кб, 300x154
345 1622053
Кракозяблики(мамины) почему те числа которые святые не удаляеются ??
2020-03-03 180347.jpg85 Кб, 662x971
346 1622088
Йе, мой первый ГУЙ.
347 1622123
>>22088
Что такое Гуй ? По типу Хуя ? Это заговор ? Ты вампир ?
348 1622139
Шутки шутками, пасты пастами, но может ли новичок написать свою имиджборду на джанго?
349 1622143
>>22043
Снизу должен быть православный ИДЛЕ
350 1622144
>>22123
Я долбоеб
351 1622153
Алсо, куда дальше идти курить бамбук дурачку-олимпиаднику, который знаком с Питоном уровня основ ООП по типу инкапсуляции, наследования и тп, ну еще немного всяких tkinter и прочих либ. Решил 100500 задач уровня отсортируйте говно постройте маняматрицы помогите вычислить говно и прочее, теперь хочу большего
352 1622175
>>22153
Делать сайтики и API, очевидно. Учить Django, Django REST, asyncio
353 1622185
>>22144
Ясно вампир не палится. Ну короче я так и думал пока я время на всякую хуйню трачу вы радуетесь и живёте вечно. Пидоры блять ебаные я же то же хочу
354 1622188
>>22153
То чувство когда даже дурачёк знает больше тебя во много раз
355 1622203
>>22188
Ну тащемта это уровень 11 класса - 1 курса, разве что графические либы можно заменить на numpy
356 1622231
>>22175
А как собственно совмещаются Django (где асинхронность допилят ой как не скоро) и asyncio?
357 1622253
>>22231

>где асинхронность допилят ой как не скоро


В середине 21 - начале 22 будет
358 1622271
>>22253
главное не бухтеть
359 1622313
Как по мне - отличный вопрос для собеседования, что бы спросить у собеседующего, если надо будет.
P.s. советую анонам-новичкам подписаться на этого мужика, и на Ютубе найти видео с конференций с ним.
360 1622329
>>22313

>мапа компактнее чем массив массивов


Да ладно!

>Как по мне - отличный вопрос для собеседования, что бы спросить у собеседующего, если надо будет.


Нет, вопрос говно, измерение пиписьки на знание вещей, которые никогда не будут использоваться
361 1622331
Кто нить пишет код в емаксе? Если да, то поделитесь конфигом плз!
362 1622335
>>22329
Вопрос хороший, потому как именно подобный вопрос из области "хуй знает, надо продумать, поразмышлять" и ждут.

Очень хорошо что ты с лету подобрал возможную причину такого поведения.
363 1622369
>>22331
Я не смог победить лаги линтера и забил. Тебе того же рекомендую.
Стикер255 Кб, 512x496
364 1622373
>>22369

>Я не смог


>Тебе того же рекомендую.


Двач. Всегда готов поддержать анона в его начинаниях.
365 1622477
Есть проект в котором не прописаны зависимости в requirements.txt. Как в таком случае ставить зависимости? Ручками прописать в файлике после чего поставить их через виртуальное окружение?
366 1622479
>>22477
pip freeze ебанарот
367 1622481
>>22373
На самом деле, погружение в вимы-эмаксы это дохуя человекочасов. Зачем добровольно навешивать на себя такой груз?
С тем же вимом достаточно выучить по верхам чуток и охуенно себя чувствовать в любых никсах.
А дальше это очень на любителя, особенно с превращением его в ололо-IDE.
Screen Shot 2020-03-04 at 12.04.36 AM.png116 Кб, 1408x116
368 1622487
>>22479
Что должно произойти?
369 1622491
370 1622501
>>22481

>не учи новое, не учи! это же так сложно! я не изучил, и ты так делай!

371 1622513
>>22501
Я изучил, дурачок. Я изучил даже ed.
Но смотря квадратными глазами на фронтенд с мильйонами хуйни для изучения, какие там редакторы ещё?
Тем более, для вкатывальщиков.
372 1622518
>>22513

>я изучил, а ты не учи! я лучше знаю, что тебе хочется знать!

1353527425636.jpg104 Кб, 715x946
373 1622519
374 1622619
>>22203
Ну а я цикл for даже не прошёл ещё ну а хуля еще 10 задачек осталось ща решу и уже буду то же программировать а хуля делов то бля ёпта
375 1622632
Какие версии python u pycharm ставятся на win7 7600 без sp1 ? Установил старые, но не поддерживаются модули, т.к. pip ставит последнюю версию модуля. Шо делать?
image.png3 Кб, 358x85
376 1622647
Короче если значение k увеличивать в теле цикла, он дальше нихуя не итерирует только до своего первого заданного значения. Почему так ?
377 1622651
>>22647
То есть это уже оффициально всё да ? В цикле for значения range() менять смысла не имеет это уже точно ?
378 1622663
>>22647
>>22651
То есть уже инфа 100% проверенная ?
379 1622668
>>22663
Но почему
П О Ч Е М У ?
380 1622671
>>22668
А если уменьшать?.. подумай головой, она не только чтоб в нее кушать
381 1622689
>>22671
Уменьшать i ? Или что уменьшать ?
382 1622690
>>22671
Ты вопрос понял вообще ? Я меняю к в теле цикла(увеличиваю) но цикл работает только до того первого значения к не дальше.
123.PNG14 Кб, 633x717
383 1622692
>>22671
Вот смотри
384 1622693
>>22690
А ты уменьшай k
И посмотри на итоговый результат. Надеюсь тебя это нпведет на какие-то мысли
385 1622694
>>22671
Вообще нериалестично сделоли. i менять незя range незя а чо делать то бля
ждальыы.PNG11 Кб, 566x648
386 1622695
>>22693
То же самое ты тролишь меня похоже дила нашёл да ? Конкуренции боишься ? Ажна затрясся весь денег жалко ?
387 1622699
>>22695
очередной вкочусьвайти за месяц?
Тебе не кажется странным что любые твои манипуляции над k не отражаются на цикле? Потому что блин инициализация генератора range уже произошла и ему поебать, что ты там делаешь с k

>>22694
ты херню несешь, for вообще не для этого, используй while
388 1622725
>>22699
Так я и говорю почему бля не меняется ? Что за инициализация токая бля ? Ебать. Ты чо нахуй ? Да лано, не трону ебать. Не бойся.
389 1622731
>>21884

>Тот же venv главное активировать


Скорее в проект прописать, чтобы оттуда запускался.

Активировать не обязательно, достаточно по полному пути вызывать, и автоматом будет подхватываться нужное окружение. То есть вместо того, чтобы запускать
source /home/vasya/venv/bin/activate
python hello.py

можно смело писать
/home/vasya/venv/bin/python hello.py

и всё будет прекрасно работать без предварительного активирования окружения. Для запуска из скриптов это важно, и в принципе иногда удобно, особенно если хочется в разных окружениях что-то пускать.
390 1622734
>>22725
Не нужно тебе программированием заниматься. Не на питоне уж точно, ты пока не готов.

Почитай просто, как циклы работают в питоне, как генераторы.

У тебя вызов range(k) происходит только один раз, перед самой первой итерацией. Дальше создаётся генераторный объект, который возвращает значения от 0 до k-1, и ты на него повлиять уже никак не можешь.
391 1622736
>>22734
Я уже понял ебать но всё равно спасибо бля внатуре от души
392 1622743
Как в Джанге вести автоматический подсчет количества строк в таблице? Добавил я новую строку с данными в таблицу - счетчик увеличился, удалил - уменьшился (создание integer аттрибута на уровне класса - хреновая затея, т.к. питоновские методы инкремента/декремента будут серьезно тормозить БД при каждом таком обращении)
image.png5 Кб, 329x52
393 1622758
Обьясните как эта хуйня внутри скобок работает ?
394 1622768
>>22743
Просто запросить у базы count
395 1622777
>>22758
Каждая буква проверяется на вхождение в строчку.
леньработать.png11 Кб, 882x175
396 1622779
397 1622787
>>22777
Это я понимаю но как сия магия происходит ?
Я вообще не видел что бы перед for что то стояло и где про такое искать ?
399 1622798
>>22787
Генераторные выражение, тебе ссылку уже привели. Одна из особенных фишек питона, которых нет в большинстве других языков.

Чаще они используются для того, чтобы списки генерить.
попробуй
s = "asdfasdfasdfgadfg"
lst = [c for c in s]
print(lst)
lst = ['<' + c + '>' for c in s]
print(lst)
lst = [c if c in 'aouie' else '_' for c in s]
print(lst)

можно использовать и в циклах, но это уже не очень принято.
400 1622806
>>22779
>>22793
>>22798
Понял принял начинаю очень мощно изучать вопрос увидимся на собеседовании
401 1622812
Двощ нид хелп
Django
Надо сделать модель в которую буду заполнять поля и их сумировать и вот эту сумму вносить в модель ...
То есть есть 3 филда Int
1 - Input(x) 2 - Input(y) 3 - а в 3 филд вношку x+y (но не рукой, а что бы програмно заполнялось(надо делать кое какие расчеты) и что бы вносить в это поле можно было только редоктируя 1 и 2 фил.
То есть как я понимаю, надо засунуть функцию/метод в модель и при иницилизации модели ее вызвать и забить ее результат в филд? Как это сделать?
402 1622814
>>22798
Есть отдельная книжка именно про такие особенности? Про всякие @, else для for, и with тоже. А то я как-то какую не возьму: "как пользоваться if", "создадим список d=[]".
403 1622818
>>22814
Fluent python годная книга. Вроде даже перевод есть.
404 1622823
>>22818
ай ам спикинг инглиш вери вел
405 1622827
>>22814
Есть, документация называется. Рекомендую.
406 1622828
>>22827
Сейчас бы документацию с книгами сравнивать.
407 1622830
>>22827
В документации нет способов нахуевертить всяких штук, только конкретные инструменты.
408 1622832
409 1622833
Сап, други.
Я к вам с совсем нубским вопросом.
Когда очень очень давно учился в универе по спецухе программирования, изучая с++ и паскали.
Потом все это забросил, а недавно решил вспомнить былое чисто для себя, мозги размять.
Из всего за это время множества языков выбрал питона (хз почему, ну вот его).
Разобрался в синтаксисе, вспомнил кое-какие методы и алгоритмы, короче запилил несколько программок.
Но, собственно сам вопрос вот в чем:
как дальше из ide ее выпустить? Там она запускается, работает, а дальше что делать? Например скомпилить и использовать на другом компе или кому то скинуть. Погуглил это дело, оказывается это целая пляска с бубнами.
Объясните глупому какой тол тогда в этом языке, если из него дальше программу нельзя нормально сформировать? Ну или я чего то еще не понимаю, подскажите плз.
410 1622834
>>22812
Вычисляемые поля, сигналы, попробуй погуглить сначала
411 1622836
>>22828
>>22830
Тихо, тихо, ребят, не триггеритесь. Книжки, так книжки.
412 1622838
>>22833
Все твои плюсы, шарпы и жабы тоже требуют рантайм, просто он или есть искаропки, или его таскают с собой с инсталлятором.
Принцип тот же.
413 1622839
>>22832
А, objects.count...

Другое еще хотел уточнить: SOAP API актуально где сейчас? Или в основном везде идет REST?
414 1622841
>>22839
В ынтрыпрайзах встречается, но по-моему, уже почти легаси.
415 1622842
>>22838
Расскажи поподробнее об этом. Я не совсем понимаю что делать.
Вот я в ide накидал. Сохранил в py файл. Как из этого сделать exe?
И почему пишут что это редко делают, что вдруг поменялось?
416 1622845
>>22842
Из него не нужно делать ехе. Надо устанавливать питон там, где оно будет запускаться.
Ехе можно сделать, но это суть тот же питон, примотанный изолентой.
417 1622846
>>22842
Файл легче запускать через терминал командой python -m, при условии шо питон на машине установлен канешн
На unix в 1ю строчку захуяриваешь #!<python_path> (можешь папку с виртуальной средой вместо со своей прогой таскать) и тогда файл запустится из терминала на похуй, без команды python
Если тебе надо послать твою ахуительную говнопрогу другу-ламеру, то конвертируй py2exe, в инете есть туториалы, сам этим не занимался
418 1622848
>>22845
Хмм, а в других языках с этим проще? Зря я питон выбрал получается?

Т.е. сейчас простейшая задача - дома накатал программульку для компа на работе, такую вспомогательную и упрощающую рабочий процесс. Но выходит дело я не смогу ей пользоваться, т.к. надо на этот комп ставить питон среду, а комп весь без прав админа.

>>22846
Говнопрогу именно себе, но на другой комп.

А почему так сделали? Это же пиздец неудобно. Все равно что машина, которая только в гараже может заводиться....
419 1622853
>>22848

> Хмм, а в других языках с этим проще? Зря я питон выбрал получается?


Зря, попробуй голенг, он очень простой(проще питона) и делать экзешники в нем можно одной командой. Ну и сами программы получается на порядок быстрее питухонских
420 1622854
>>22848
Тебе нужен интерпретатор чтоб интерпретируемый код работал, что тут странного? Точно так же как компилируемому коду необходим компилятор
Попробуй .cpp файл на похуй запустить двойным щелчком мыши
421 1622857
>>22854
Да это понятно, вот только в си был встроен компилятор и никакой проблемы получить exe из срр не было.

>>22853

>голенг


Что то не могу найти, можно какую то ссылку на соус откуда начать?
422 1622861
>>22857

>Что то не могу найти, можно какую то ссылку на соус откуда начать?


https://golang.org/
https://golang.org/dl/
гайд тут https://go-tour-ru-ru.appspot.com/welcome/1
алсо милости прошу к нашему шалашу >>1603114 (OP)
423 1622864
>>22861
Где искать в Рахе работу на Го? И насколько это будет успешно для вкатывальщика?
424 1622865
>>22864

>вкатывальщика


Если цель - поиск работы в Россие, то лучший вариант это не питон, и даже не го. Если опыта совсем нету - то пхп или жс. Поработаешь пару лет, потом можно будет и на любой интересующий тебя стек перепрыгнуть.
425 1622867
>>22861
Спасибо, уже тоже набрел на тред и эти сайты.
Попробую его.

Еще пара вопросов можешь подсказать?
У Го тоже много разных IDE? Если так, то посоветуй плс хорошую?

И второй - вообще этот Го как язык нормальный? Функционал, синтаксис итд?
В питоне мне понравилось что нет кучи фигурных скобок, точек запятых в конце и кучи всякой лишней разметки. Потом еще показалось удобно как он переменные сам понимает и не приходится на каждом шагу подсказывать что тут строка, а тут интежер.
426 1622869
>>22867

>У Го тоже много разных IDE


Рекомендую вскод с плагином.

>Го как язык нормальный?


Строгая типизация. Синтаксиз си-образный. Абстракций меньше че в питоне.
Если хочешь глянуть на синтаксис, глянь любой проект
https://github.com/trending/go

>отом еще показалось удобно как он переменные сам понимает


В голенге с этим все намного лучшее, потому что иде точно знает какой ты указал тип у переменной и сразу тебе покажет все методы.
427 1622876
https://goo.su/0Kd4

На сколько близко к правде и на кого этот список, по вашему, на среднего джуна или уже мидла?
image.png110 Кб, 1050x766
428 1622878
>>22869

>Рекомендую вскод с плагином.


Оно?
429 1622880
430 1622957
>>22139
Бамп вопросу. Есть ли целесообразность такого подхода или лучше на похапэ как жиды делать?
431 1622959
>>22957

>диды


Т9 испоганил
432 1622970
>>22957
Почему нет? Что тебе мешает сделать борду на джанге? Я когда курсы смотрел там одно из ДЗ было - борда
433 1622974
Реально ли работать на бэке в трй же Джанге с юзерами исключительно через куки, не задействуя БД, если передаваемых данных мало?.. канешн БД все равно потребуется для прикладных целей, я конкретно про замену кастомных моделей куками
image.png8 Кб, 553x148
434 1622977
>>22880
Пытаюсь запустить свой хеллоу ворлд и вот такая залупа. Щоделать?
435 1622979
>>22977
Не засирай тред. Тем более питоновский
436 1622980
>>22979
Ясно.
437 1623009
>>22977
Ливать из программирования.
sage 438 1623017
>>22977
>>1623013 →
Все вопрос по го задавай в этом треде
439 1623052
Тут чел говорит что REPL-система в Питонухе бесполезна:
https://habr.com/ru/company/yandex/blog/490788
Шта? Все ж работает в консоли норм
440 1623056
>>23052
Саму концепцию репла все подряд пизданули из лишпов, где она много мощнее.
На потестить однострочники годится.
441 1623240
>>22970
Я в вебе вообще ноль, но из того, что я понял - джанга скорее как конструктор по типу вордпресса, нет?
442 1623352
>>23240
Нет просто вообще. Полу-конструктор для бэкенда, фронт часть самому придётся писать полностью, только админка есть в коробке.
443 1623357
>>22974
Что ты хочешь в куках передавать? Ты данные можешь в сессиях хранить. Ты можешь использовать легковесную базу sqlite, если не хочешь маяться с постгресом.

Куки вообще о другом и для другого.
444 1623367
>>23352
А что, через встроенные жинжа темплейты никто фронт не пишет?
Обязательно накручивают поверх какой-то жс фреймворк типа реакта, а джанга только для работы с бд и рестом?
445 1623400
>>22000
Пандаз пойдет?
446 1623429
>>23367
Если что-то совсем простое можно и на темплейтах, можно к ним бутстрап, джейквери приклеить - будет лучше, если одностраничник можно хоть вью прикрутить
447 1623444
>>23367
Там не jinja, а jinja-подобные темплеты. Кстати лучше их заменить именно на джинджи, потом меньше проблем будет.

Джанго из коробки тебе даёт именно бэк часть. Это механизм шаблонов без реализованных шаблонов, продвинутую работу с БД через ORM, всякие там механизмы куков, авторизаций, систему для создания middleware, url-процессинг и массу подобной хрени.

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

На базе jinja ты легко можешь сам сайт написать, но это при условии, что ты владеешь HTML/CSS/JS.

Бутстрап - спорное решение. Его разрабатывали давно, когда браузеры плохо нормальный HTML и CSS поддерживали. В результате они велосипеды убогие и кривые пилили, когда на голом HTML ты можешь сделать всё прямее и лучше. Вот в самой базе, bootstrap grid. Сейчас гриды лучше в голом HTML поддержаны, более функциональные, и уже все современные браузеры поддерживают. Вообще проблема многих таких решений.

jQuery тоже устарел. Или лучше на голом JS, или уже мощные современные фреймворки.
448 1623459
>>23444
А на чем можно быстро лепить симпатичные мордочки погромисту без всяких зойчатков дизайна?
Имеются в виду не сайты, а сорт оф гуи в вебе, для управления всякими штучками на бэкэнде.
Мне нравится вариант с рест апи + морда на клиенте на каком-то жирном жс фреймворке. Или есть что получше?
449 1623463
Что почитать про написание красивого и эффективного кода? Смотрю на код других людей на гитхабе, сравниваю со своим и чувствую, будто остальным больно читать то, что я пишу.
450 1623470
>>23463
Clean code же, хоть и примеры на жабе.
451 1623472
>>19336
Это вроде неплохой сайт
А где там можно посмотреть решение от авторов?
452 1623473
>>19211
Это ж не ответы разрабов, а случайные ответы простых студентов
453 1623474
>>22758
На самом деле магия, не видел чтобы генераторы вставляли прямо как аргумент функции
454 1623475
>>23474
Если функция жрёт итеры, то что почему нет?
455 1623476
>>23474
Где ты там видишь генератор? Итерируется строка.
456 1623478
>>22833
Можно изи запустить питончик на heroku или pythonanywhere.

В прод питон запускается реально заёбисто: добавление всех зависимостей в requirements.txt, docker, gunicorn и nginx.
Это важные навыками для профи питониста, как впрочем и для разраба на любом другом языке.

В любом случае, настраивать весь этот ci/cd адок придётся не очень часто пытаюсь себя успокоить, настроил и хуячишь код.
Чаще приходится писать и читать бизес-логику, а это на питоне код пишется быстрее, чем на других языках.

Но если ты не катишь свои проекты в серьёзный прод, то это всё не нужно и ты можешь спокойно юзать сервисы, написанные выше в 1 строке. А потом когда придётся катить проекты в прод - научишься настраивать всё это за неделю-другую

Кстати, в exe тоже можно скомпилить питоновскую прогу и это не очень сложно :)

Гошечка хороша и вакансии в Москве есть и получают Гоферы больше питонистов, но мне кажется она посложнее питона из-за обязательных: асинхронщины, указателей и ссылок.
+ статическая типизация обычно замедляет разработку фич
ну и у гошечки нету django
457 1623479
>>23476
Кидали уже выше ссылку на спеку generator expression >1622793
там создаётся генератор в 1 строку
458 1623480
>>23475
я думал выражение генератор должно быть обернуто в еще одни ()
459 1623483
>>22876
это ж просто перепечатка видоса одного чувака https://youtu.be/9kLI6R0heTQ
Он вроде хорош в питоне, шарит

Список на сильного джуна/мидла, близок к правде. Но там описаны прям все навыки, примерно мидла.

Не обязательно шарить за весь список, если хочешь устроиться джуном.
Если бы я составлял обязательный список, я бы точно выкинул:
1. HTML, CSS, JS - на питоне обычно апихи пишут и если тебя не взяли на fullstack, ты будешь супер мало писать фронт.
2. Асинхронность мало юзается в старых проектах, а кроме легаси джуну ничо больше не доверят :)
3. Тестирование
4. PostgreSQL - глубокое понимание не требуется, главное знать основы SQL и уметь быстро гуглить

Все эти вещи очень важны, но они не фундаментальны и быстро учатся по ходу работы и по необходимости.
460 1623485
>>22139

>Шутки шутками, пасты пастами, но может ли новичок написать свою имиджборду на джанго?



>написать


>сам


>на питоне



Лол, сделай просто

import django_imageboard

https://github.com/wgoode3/Django-Imageboard
image.png11 Кб, 593x81
461 1623519
Мне лучше сразу пытаться так писать код или лучше сначала научиться программировать хоть маленько ? А то у меня пиздец текста а у дяди вона оно как
462 1623527
>>23485
Слишком просто, я же хотел свой хеллоуворлд сделать
463 1623538
>>23527
Напиши на фласке свою имиджборду
464 1623540
>>23459

>для управления всякими штучками на бэкэнде


Для управления штуками в бекенде у тебя есть админка, поставляемая из коробки.
465 1623585
Хочу написать десктопное приложения типа видеоплеера. Но как это сделать на питоне? Откуда брать форму, кнопки и как это всё программировать?
466 1623586
>>23585
почему на питоне?
ну а вообще очевидно тебе нужен графический фреймворк для питона, хоть тот же ткинтер
467 1623591
>>23519
классная картинка. Что за дядя?
468 1623593
>>23519
Не надо. Там ещё любят всё в comprehension заворачивать даже там, где не надо. Пиши проще. Серьёзно.
469 1623596
>>23585

>типа видеоплеера


Ты уверен, что справишься? Понимание работы плееров есть? Демуксинг там, декодинг, вот это всё.
470 1623609
>>23586
Потому-что хочу на питоне, ну то есть я понимаю что он не так эффективен в этом даже как делфи,.. Не знаю что ещё взять поэтому плеер, мб сначала мп3, а потом уже и видео.
Одному, без наставника тяжело, постоянно прыгаю с одной книжки на другую и не могу зацепиться за что-то конкретное, если можешь предложить что-нибудь - я буду только рад.

>>23596
Не уверен, но надо с чего-то начинать.. погуглю как воспроизводить видеофайлы и т.д.
471 1623622
>>23609

>как воспроизводить видеофайлы


ffmpeg, если вдруг сам не найдёшь. Если не разбираешься, то лучше не берись за это. По ЦОС хотя бы что-то почитай ещё.
472 1623630
Привет, друзья, как отрисовывать полупрозрачный слой поверх всех окон и всего интерфейса как это делают программы типа redshift или f.lux?
Я пробовал делать это при помощи wxPython, а именно wx.ScreenDC но проблема в том, что при движении курсора мыши этот слой в местах прохода стирается, меня такое положение дел не устраивает
Нашёл что-то на стэковерфлоу но не знаю как это использовать и есть ли для этого какие-то инструменты в Пайтоне https://stackoverflow.com/questions/1025412/how-does-f-lux-work
473 1623644
>>23622
Спасибо
474 1623659
>>23586

>хоть тот же ткинтер


А есть еще кроме него другие?
475 1623770
>>16384 (OP)
Посоветуйте материала по тестам по этому же языку. Хочу вкатится, понять что к чему и для чего нужно. Заранее спасибо, змеякi!
476 1623783
>>23659
Толсто
Qt как минимум
477 1623796
>>23593
двачую
478 1623797
>>23783
Спасибо.
А в каком то из них есть конструктор форм? Чтобы рисовать окошки-кнопочки, а не текстом их выписывать?
479 1623821
Сегодня первый собес на позицию джанго джуна. Волнуюсь пиздец как. Какие вопросы вам задавали? Что чаще спрашивают и что стоит повторить?
480 1623836
>>23797
Visual Basic 6.0
Будь мужиком, ибо через код формошлепить быстрее
481 1623850
>>23821
Что такое сортировка пузырьком и вопрос читал ли я Кнутта.
482 1623865
Ух бля, срачи по поводу 80 символов. Уникальная для питона тема. Не одна тысяча человекочасов на это потрачено.
483 1623866
>>23483
Спасибо за ответ, я уже работаю джуном, но посчитал что это видео довольно полезно, что бы выделить для себя некие направления дальнейшего развития, как по твоему, что еще можно было бы посмотреть/потыкать для этого стека, помимо того, что он озвучил?
484 1623868
>>21865
Уже можно pythonloc/piploc. Будет как в npm.
485 1623874
>>21745
Какой придётся. Допустим есть мод для майнкрафта написанный на скала, нужна скала. Другие игоры требуют луа для моддинга. Если писать с нуля то мне проще на питоне, если ускорить надо, то проще модуль на си написать для того же питона. Душа лежит к расту.
486 1623876
>>21711
Потому что байткод интерпретируется. Там цикл и большой свитч по опкодам. Java и C# тоже могут работать в режиме интерпретатора, но они включают JIT и на лету компилируют фрагменты байткода в нативный машинный код. Разделение на компилируемые-интерпретируемые языки не всегда чёткое в общем.
487 1623878
>>21673
Можно try, более строго будет использовать регекс. isdigit будет медленно и громоздко. try сработает как надо в большинстве случаев. Регекс нужен если тебе надо оставить число строкой, но при этом быть уверенным что там записано число и в точном формате, без подчёркиваний и плюсов например.
488 1623879
>>21611
Если тебе нужно параллельно перемалывать что-нибудь на CPU в питонячем коде, то мультипроцессинг. Любой ввод-вывод (диск, сеть) и числодробилки на си вроде numpy умеют отпускать GIL и мультитрединг будет работать.
489 1623881
>>21593
Это всего лишь константа, которую ты можешь использовать как специальное значение. Например задавать какие-нибудь неполные значения вот так: [4, ..., 8]. Естественно в коде тебе нужно будет самому обработать эллипсис и вставить недостающие числа.
490 1623886
>>23821
Что такое индексы в БД, какие алгоритмы там используются, для чего они нужны.

Почему плохо считать количество строк как len(Model.objects.all())

Чем отличаются GET и POST запросы. Почему нельзя всё делать с помощью GET.
изображение.png94 Кб, 943x816
491 1623901
Посоветуйте хороший учебник по питону. Сейчас читаю Think Python и такое чувство, что автор вообще не понимает, для кого создается этот учебник. Очень странная структура типа пикрелейтед (сначала применяется вызов значения по ключу, а потом рассказывают, что такое вообще есть и называется лукапом), из-за чего теряется какая-то часть понимания происходящего. Задачи по логике убивают и вместо того, чтобы условно рассказать, как выполняется задача = дается простой ответ и все.
Короче хуй знает, почему этот учебник всем советуют. Может есть какой нибудь более подробный? Советовали Diving in to Python и Лутца.
492 1623909
493 1623932
>>23850
так сортировку пузырьком в 9-10 классе проходят лол
494 1623947
Ну что, аноны, взять для копилочки треда?
https://nnfs.io/
495 1623952
>>23901
Лутц - норм.
496 1623972
>>23901
Из тех что я читал больше всего зашел "Рамальо Лучано - Python. К вершинам мастерства", но он не совсем хорош для начинающих.
497 1623980
>>23947
Это в нейронкотред
498 1623984
>>23980
Но я думал, что местным анонам тоже было бы интересно.
499 1624012
>>23984
Закинуть ты можешь, но это более специфично не для языка, а для нейронок вообще
500 1624015
Товарищи, помогите.
Нужно написать передачу данных на ардуинку с малины через блютус, на питоне.

Перерыл гугел, и что-то не нашел.
501 1624017
>>24015
Только циферку передать, мне будет достаточно.
502 1624028
>>24012
Окай, подумою, к следующему треду может и куплю.
Хуй 503 1624060
Начала изучать python пару недель назад. Есть задача.Напишите программу, которая убирает из списка повторяющиеся элементы. Программа должна запрашивать на вход слова, каждое с новой строки, пока пользователь не введет пустую строку. Затем должна выводить список без повторяющихся элементов.
Решил хотя бы вывести список
b = []
while True:
text = input()
b.append(text)
if not text:
break
print(b)
а вот как из него дубли убрать я хз что-то. Подскажите аноны добрые !
504 1624076
>>24060
if text not in b:
b.append(text)
Можно в конце прогнать через сет и обратно в список, например.
505 1624085
>>24076
Спасибо. Есть без set ?
506 1624091
>>24085
Ну опять же, for с тем же условием, что выше.
Т.е. закидывать в новый список только то, чего там нет.
507 1624106
>>24015
Уже не надо.
508 1624528
>>23878
Понял, спасибо большое
509 1624673
Хочу сделать пару проектов на питоне, какие веб фреймоврки/либы сейчас используются в индустрии? Или можно есть что-то, на что можно обратить внимание, хотя оно и сильно используется.
.JPG55 Кб, 866x707
510 1624735
Есть ли какой-то способ заменить выделенные две строки одним выражением в return?
.JPG13 Кб, 422x310
511 1624739
>>24735
Чтобы было понятно, возвращать должно было бы вот такую штуковину.
Стикер319 Кб, 433x380
512 1624747
>>24735
Но у тебя ретёрн ничего не возвращает, у тебя функция сама всё печатает
513 1624750
>>24747
Мне как раз нужно, чтобы то, что напечатано через цикл, печаталось через return как целая строка.
514 1624751
>>24750

> печаталось через return


возвращалось*
515 1624752
>>24751
Ну возвращай темп лист, он же у тебя готовый уже.
516 1624753
>>23947
что за реклама -_-
алсо в том же грокаем глубокое обучение вообще показано как свой нейрофреймворк сделать лол
517 1624755
>>24752
Лист нельзя. По сути нужно вернуть многоуровневую строку, где каждый уровень - это один из вложенных в лист листов, конвертированный в строку.
518 1624756
>>24739
"\n".join([" ".join(i) for i in k])
519 1624757
>>24756
Класс, спасибо.
520 1624758
>>24755
Почему нельзя? Или можешь отформатированную строку вернуть.
521 1624760
>>24758
Потому, что там "__str__" в методе.
522 1624800
Хелп, пишу скрипт. Надо скопировать кучу файлов с ЖД на телефон/планшет, через usb, но как узнать путь до телефона, у таких устройств нет буквы!
523 1624806
>>24800
Там можно поднять фтп, а на фтп уже легко залить.
524 1624808
>>24753
Не реклама, просто открыл свой акк на кикстартере и там в закладках оно.
Гляну что за книга, первый раз слышу.
525 1624869
>>24091
Что можешь сказать про такое решение ? b = []
while True:
text = input()
b.append(text)
if not text:
break
print(b)
from itertools import groupby
new_b = [el for el, _ in groupby(b)]

print(new_b)
526 1624894
ребят. почему принт может так ругаться? (я током лечусь)
527 1624898
>>24894
а, понял
image.png5 Кб, 283x89
528 1624901
529 1624979
>>24806
Чем поднять, руками? На каждом планшете? Тогда зачем python-ом копировать, если можно сразу руками. Хуйню ты какую-то сказал неподумавши.
530 1624995
>>24800
Как ето нет буквы. Была же.
531 1625019
>>24894
print()
532 1625023
>>25019
print()(s)?
533 1625028
>>24979
Ну проводок ты же руками подключаешь и ничего, не помер.
Надо детализировать задачу.
534 1625037
>>25019
>>25023
не, там пытался делить неделимое
535 1625048
Зачем нужен питон, если он такой медленный? Медленнее JS, медленнее PHP, всего медленнее.
536 1625065
>>25048
В питоне медленная математика, это да, сетевые либы написаны хорошо

>медленнее PHP


Настолько медленнее, что лавруха с гигатонной комьюнити на последней быстрой пыхе медленнее джанги
537 1625074
Почему изменяемый объект не может быть ключем в словаре? Ну изменится хеш при изменении этого объекта, и дальше-то что? Не трагедия же
538 1625091
>>25074
Он изменится извне, а в словаре будет старый, так что ты больше не сможешь извлечь его значение.
539 1625104
>>25074

>Почему изменяемый объект не может быть ключем в словаре?


Может, если реализуешь __hash__
vdfvdfvdfvdfvdfvdf.PNG25 Кб, 884x770
540 1625129
Cижу собираю ромбик вложенными циклами уже 2дня, если бы не ваша моральная и ментальная поддержка давно бы уже бросил всё.
541 1625133
>>25129
А какая задача стоит?
Чего сложного?

Хотя я сюда попал не знаю как, и предпочитаю си.
542 1625136
>>25133
Там вообще залупа. Я уверен есть простое решение но я собираю эту хуйню по кусочкам как даун. Только моральная поддержка двача и спасает. Кстате тебе маны не залить через ментальный фаллос ?
543 1625137
>>25104
Ты не понял... я про изменяемость как таковую. Я уже писал свой лист с
__hash__(self): return 1
Все работало без эксепшнов. Вопрос в том почему изменяемые объекты в принципе не используют как ключи? Вот могу я например реализовать хеш-алгоритм по которому из всех элементов списка создается строка и потом вычисляется ее хеш
544 1625140
>>23472
Решаешь задание, в конце выдает вариант разрабов и несколько случайных.
545 1625145
>>25137
Потенциальная неоднозначность, ты сохранил лист как ключ и можешь изменить этот же объект в любом другом месте кода.
546 1625146
>>23866
Привет, а какие вопросы тебе на собеседовании задавали? По каким темам гоняли? Портфель с гитхаблом просили?
unnamed.jpg91 Кб, 487x512
547 1625178
>>25129
Лови мой вариант.
Подозреваю, что можно вообще четенько. Я нахуевертил из того, что пока знаю.

n = 5
width = n2 + 1

for x in range(width):
sign = -1 if x > n else 1
diff = n - ((n-x)
sign)
x1, x2 = n - diff, n + diff+1
row = [' '] width
row[x1:x2] = range(x1, x2)
print(
row)
548 1625181
Анончики, есть тут те, кто уже устроен и имеет опыт, можете рассказать о необходимых знаниях и ваших повседневных задачах, желательно бы услышать истории от бэкендеров, но можно и от других.
549 1625182
>>25178
Распидорасило код.
Вот https://pastebin.com/ettZ0sxA
550 1625194
>>25181
Главное иметь большой мочевой пузырь. Бесплатный кофе и печеньки это как минимум + 15% к зарплате.
551 1625210
>>25181
Ну смари малёк, одно правило. Готовь очко. ГОТОВЬ АНУС ПАДЛА.
552 1625214
Привет. Написал переписал код калькулятора, кнопки не работают. В чём проблема?

https://ideone.com/2Ub9Wv
553 1625227
>>25214
Подозреваю, что в этом
command=cmd
Дальше не смотрел.
554 1625239
>>25129
Дружище, тебе бы математикой позаниматься немного для развития мышления.
555 1625248
>>23400
Пойдёт, подумал же о нём. Но во всякие одноразовые скрипты не потянешь же.
Screenshot2.png337 Кб, 1663x873
556 1625250
>>25227
По видео всё верно.

> command=cmd


Как написать по-другому?
557 1625252
>>25250
По идее, это обработчик ивентов, у тебя эта функция называется по-другому.
558 1625259
>>25239
Кстати, как развить логику? У вас с этим все в порядке?
559 1625262
>>23909
Спасибо за наводку. Пробежался мельком, вроде неплохо. Буду знакомиться ближе.
560 1625271
>>25252
А, там есть лямбда. Я тупанул, лол.
561 1625272
>>25250
В общем, я почитал детальнее, у тебя только три варианта отрабатывается
if key == "=":
elif key == "C":
elif key == "-/+":
image.png55 Кб, 1162x908
562 1625275
563 1625278
>>25275
Выглядит страшненько, я думаю, можно лучше.
564 1625283
>>25278
А как часто на практике приходится строить ромбы? Ну то есть приходит заказ на 10 ромбов вот оплата, срок неделя.
565 1625285
>>25283
При чём тут практика? Хочется красивый код читать и писать.
image.png14 Кб, 602x273
566 1625288
>>25278
так лучше?

>>25283
никогда, это чисто страдание херней, тебе в принципе на питоне особый функциональный скилл не нужон.
Век здоровья тому кто придумал ООП
567 1625290
>>25288

>так лучше?


Естественно нет, лол.
111111111111.PNG31 Кб, 858x807
568 1625293
Я уже не человек нахуй, я колдун бля. Осталась верхняя пирамида и демон будет призван
569 1625296
>>25288
Челик скинь настройки своего шрифта, цветов вот этих всего такого это как ты так сделол ? Есть готовые пресеты как у тебя ?
570 1625297
>>25296
Смахивает на дефолтный саблайм.
571 1625298
>>25293
>>25129
>>25178

Приучайте себя как можно раньше к осмысленным переменным, глаза текут просто.
image.png18 Кб, 539x309
572 1625300
>>25296
Там есть пара дефолтных пресетов
573 1625302
>>25298
В реальном коде да, а в таких быстрохаках лень сочинять.
574 1625307
>>25288

> никогда, это чисто страдание херней, тебе в принципе на питоне особый функциональный скилл не нужон.


Вот и я о том же. Практической пользы от таких заданий никакой, если только для общего понимания и принципа работы. Это я с дивана рассуждаю.
fzl06roer9l11.jpg98 Кб, 640x989
575 1625316
Это уже ближе к идеалу, я доволен.
https://pastebin.com/dP8EtRe6

Ещё бы гуры подтянулись и показали класс, лол.
576 1625356
>>25316
Короче во первих вот эти квадратные скобки нельзя использовать такое я не прохоил еще и она должна быть с вершиной посередине
577 1625362
Перекатите кто нибудь, братцы...
578 1625364
>>25356
Ну скобочки легко развернуть в цикл.
Про вершину не понял.
579 1625366
>>25272
>>25271
>>25252
>>25227
Спасибо за ответы, всё равно не понял что не так. Зацикливаться на этом не буду, лучше двигаться дальше.
580 1625513
A = {}
for w in input().split():
A[w] = A.get(w, 0) + 1
print(A[w] - 1, end=' ')

Через сколько времени вы смогли бы самостоятельно до такого додуматься? Я вот вообще не бум-бум, хотя только материал по теме прочитал. Возможно стоит чаще смотреть в чужой код, а не часами велосипед придумывать.
581 1625556
>>25513
Со split дурацкий хак, а так всё довольно очевидно.
Или там предпологается вводить много значений?
582 1625558
>>25556
Если ты введёшь одно значение, то оно тебе напечатоет только
0
и всё.
Оно считает и печатает одинаковый ввод, но я не очень понимаю применение этой функции.
583 1625560
>>25558
Имело бы смысл запускать его зацикленным, а так один подход, так что я подумал, что это такой способ тримнуть ввод, лол.
584 1625571
>>25558
>>25556
Изначально условие было таковым:
В единственной строке записан текст. Для каждого слова из данного текста подсчитайте, сколько раз оно встречалось в этом тексте ранее.
Словом считается последовательность непробельных символов идущих подряд, слова разделены одним или большим числом пробелов или символами конца строки.

> one two one tho three


> 0 0 1 0 0



Смотришь на решение и все кажется таким очевидным, но это сейчас, до этого ступор был.
585 1625582
>>25571
Эта задачка явно под списки и count.
586 1625590
>>25582
Вряд ли. В общем виде "сколько раз оно встречалось" в питоне красивее всего решается через defaultdict, так что сомневаюсь, что здесь надо городить списки.
587 1625598
>>25590
Из базовых типов оно как-то очевиднее, чем предложенное аноном решение.
Но может и под специальные, да.
588 1625610
>>25598
Как тебе очевидно? Мне представляется, что сколько что-то встречалось естественным образом перетекает в пары объектов: Что и Сколько_раз. А это дикт. Как ты списком хочешь это представить?
589 1625619
>>25610
Наращиваем список и считаем по ходу.
590 1625620
>>25582
Не могу судить, но конкретно решение которое я выкладывал выше считается рекомендованным.
изображение.png47 Кб, 1202x726
591 1625623
>>25571
Я тут на днях задачку решал, необходимо было вывести все слова которые НЕ повторяются. Сейчас добавил в неё буквально одну переменную и одно действие, чтобы она считала колличество повторений каждого слова, вышло пикрил
592 1625624
>>25619
Чем наращиваем? Куда считаем? Вот у него дикт: попалось слово, он его взял в качестве ключа, и дал ему значение 1. Попалось ещё раз? Прибавил к значению 1.
593 1625641
>>25623
Замени хотя бы свою адовую symbols на
import string
string.punctuation
594 1625645
>>25641
Не знал такого модуля, но вабще задание надо было без подобных модулей пилить
595 1625651
>>25645
Ну, допилился, у тебя '\' нет, например. В любом случае, не заебался кавычки и запятые ставить? Сделал бы хоть единой строкой эту толпу.
596 1625653
>>25624
https://ideone.com/CtQQYf
Наверное, я где-то обосрался, но результат интересный.
597 1625666
>>25653
Надеюсь ты понимаешь, что для строк длиннее 5 слов результат станет менее интересным? Лукап по дереву словаря станет существенно быстрее, чем каждый раз бегать по всему листу с подсчётом. Надо чекнуть дефолтдикт для полноты картины.
598 1625669
Кстати, а как можно сделать, чтобы из инпута сразу в словарь добавлялось? Захотелось допустим два слова через пробел ввести, а они потом в качестве двух ключей остались. И так много раз.
599 1625670
>>25666
При
tstr = 'one two one two three ' * 10

уже
6.746952266
11.926739449000001

Я догадывался, что так будет, да.
600 1625684
>>25669
Ну вон через гет нормальный способ.

>>25670
Дефолт дикт ещё даже медленне для этого оказался.
601 1625685
Познаю ООП и это чет изотерика пиздец после простой как две палки функциональщины.
602 1625692
>>25684

>Дефолт дикт ещё даже медленне для этого оказался.


Хотя нет, на 3й знак, но побыстрее
https://ideone.com/orahSi
603 1625709
>>25623
Пиздос, как же уебищно выглядит этот пичарм из коробки, от цвета комментариев аж глаза заболели
изображение.png38 Кб, 1220x618
604 1625728
>>25641
Ну хуй с тобой, уговорил. Заменил ручной тупл на string.punctuation
605 1625733
>>25709
Покажи свою тему.
606 1625760
>>25684

> Ну вон через гет нормальный способ.


Добавить добавил, но два слова в один ключ переводит. Нужно сплит воткнуть, скобки или что-то еще?
607 1625767
>>25760

>но два слова в один ключ переводит.


Два одинаковых слова?
608 1625771
>>25767
Неа, разные. Hi Bye, например. Даже загуглить не знаю как.
609 1625773
>>25771
Понял тебя. Естественно сплит нужен.

> Ну вон через гет нормальный способ.


Я про >>25513 говорил. Там сплит есть, как видишь.
image.png49 Кб, 967x499
610 1625777
>>25733
Я для небольших скриптов использую вскод, нах этот пичарм нужен, если у тебя проект уровня laba1.py
611 1625800
>>25773
Не могу понять куда именно сплит ставить. Без него только в таком виде работает, но это лишь один ключ.
a = {}
a = a.fromkeys([input()])
612 1625806
>>25800

>Не могу понять


Тогда тебе ещё рано. Изучай другие темы.
.JPG12 Кб, 770x203
613 1625823
>>25800
Можно и без сплита. Так, например.
.JPG17 Кб, 678x375
614 1625825
Кстати, почему здесь так странно считается len()?
615 1625827
>>25825
А, всё, понял.
Просто два раза вызывается input().
616 1625837
>>25825
А вообще реально через дикт компрехеншн одновременно и добавить ключи, и посчитать длину этих ключей?
617 1625849
>>25837
Всё же уже разжевано в обсуждении.
{w:len(w) for w in split().split()}
618 1625850
>>25849
Т.е. input().split()
Лол.
619 1625856
>>25849
А, там такая же задача была, оказывается. Не читал посты выше.
620 1625894
>>25239
Я этим и занимаюсь , решаю задачки из codeforces
621 1625895
>>25239
Но если книжку интересную посоветуешь для такого буду рад, желательно с практикой я если не делаю забываю сразу
622 1625976
>>25239
А впрочем не надо, по пути пойму
изображение.png61 Кб, 512x512
623 1626007
Сап аноны,
Не могу найти библиотеку для открытия 3d объектов.obj или .fbx для питона. Цель - вертеть 3d объект кодом и сохранять изображение в .jpg.
Буду благодарен за наводки
624 1626021
>>26007
Я там масштабы твоей аппы не очень представляю, но почему бы просто не взять блендер и подёргать его через нативный питоний апи?
https://docs.blender.org/api/current/index.html
625 1626035
>>26021
Насколько понимаю, я тогда буду ограничен blender'ом, а в проекте планируется также использовать opencv и в общем работа с вебкой
626 1626052
>>26035
Ну смари малёк, первое это конечно анал. ГОТОВЬ АНАЛ БЛЕАТЬ!
627 1626204
>>16384 (OP)
Аноны, посоветуйте материалы для вкатывания в асинхронность. Активно курю статейки и видосы по asyncio, но такое чувство, словно чего-то фундаментального не знаю, о чём в них не говорят.
628 1626244
>>26035

>я тогда буду ограничен blender'ом


Да не обязательно.
Ты можешь гонять блендер порождённым процессом, как тут: https://www.youtube.com/watch?v=20nTx1x4nRY
Ты можешь юзать blender as module: https://pypi.org/project/bpy/
И я где-то видел ситуацию, где питон снаружи цеплялся к запущенному блендеру, делал какую-то свою работу, отключался и уходил по своим делам. Но нагуглить не смог.
629 1626265
>>26204
Это сложная тема, её сходу не возьмешь. Нужно некоторое время и практика, чтобы прохавалось.
630 1626272
>>26265

>её сходу не возьмешь


Тогда откуда начать вкатываться и брать идеи для практики?
631 1626417
>>26265
Такой еще вопрос: частенько в вакансиях на бэк идут рядом Джанго и asyncio/aiohttp, но как они блин согласуются? Нормальной асинхронности в Джанге еще не скоро быть, так зачем работодателю обязательно и знание Джанги и знание асинхронок?
632 1626478
Способов писать С-код в Питоне больно дохрена. В чем разница между тем же ctypes и Cython? Что из этого профитнее, если я хочу например написать часть кода на С для оптимизации скорости выполнения?
633 1626622
sum([i2 for i in range(10000)])
Что это за синтаксис, как гуглить?
634 1626655
>>26622
Генераторы
635 1626662
>>26622
list comprehension
636 1626663
Ребята, я не понял. А пичиму в одну строку не выводит?
a = list('a')
if len(a) == 1:
print(a[0],1, end = '')
637 1626670
>>26663
То есть слитно а1.
638 1626674
>>26670
Для слитно надо sep='', а не end.
639 1626687
>>26674
Большое спасибо за помощь.
640 1626758
Анончики есть какой-нибудь роад мап по пайтону ? я не совсем новичок, знаю теорию по реляционным бд, сетям,
линейному программированию/нелинейному, немного архитектуры, знаю sql, знаком с шарпом,
641 1626813
Посоны, вот граф.интерфейс когда Popen-ом что-нибудь вызываешь и ждешь перестает отвечать. Я понимаю почему, но как это исправить? Паралельностью (которую я не знаю)? Если да - то с чего начать? Threading?
642 1626857
>>26813
может скинешь код?
Какую либу юзаешь для интерфейса? Многие либы и фреймворки поддерживают асинхронщину или трединг из коробки
643 1626879
а питон силенум скрипты можно запускать из под андроида?
644 1626909
>>26417

>asyncio/aiohttp, но как они блин согласуются?


Ты на aiohttp можешь полноценный сервер написать
645 1626917
>>26909
Нахрена в 2к20 писать свои серверы?
646 1626924
>>26917
Ну я бек имел в виду.
647 1626940
>>26478
Если ты хочешь писать на C, в прод, то конечно ctypes лучше. Он и поддерживается официально из коробки и выполняет именно то что ты хочешь - позволяет юзать сишный код в питоне

Но писать на Сишке...не очень интересно, поэтому есть cython, который позволяет писать почти как на питоне, но и немного как на си

Зачем вообще оптимизировать код на питончике?
648 1626963
>>26940

>Зачем вообще оптимизировать код на питончике


Потому что я пизданутый байтоеб
649 1626967
>>26857
tkinter. А какой смысл скидывать? Просто вот у меня например tar архивирует файлы и я жду пока он закончит чтобы получить returncode из-за этого зависает, но так с любой другой программой будет.
650 1626971
>>26963
зато честно))

ну значит сишка для тебя отлично подходит
651 1627254
А ну перекатили быстро
652 1627255
>>27254
Возьми и перекати. Шапка есть в шапке
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 14 мая 2020 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски