Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
536 63 171

Питон тред #73 /python/ Аноним 15/11/19 Птн 00:24:24 15213911
204325600.png (319Кб, 600x426)
600x426
guido3.jpg (26Кб, 530x435)
530x435
1.png (40Кб, 809x352)
809x352
Тред, посвящённый языку программирования Питон, #73.
Предыдущий >>1512752 (OP)

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

Книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem
Очень много книжек: https://drive.google.com/drive/folders/13YaFijvuH4dtv-PjUKVWLQ7ZIqXIfCLK

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться
#######################################
Вопросы-ответы:
А стоит ли читать Лутца, том номер 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/ (нужно знать ангельский или уметь пользоваться переводчиком)

Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём - брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.
Аноним 15/11/19 Птн 00:36:45 15213942
>>1521391 (OP)
Сколько сейчас пайтон джун со знаниями и парой петпроектов на джанго, но без коммерческого опыта может получать в мск? Хотя бы 50-55 реально выбить?

Там где я живу 0 вакансий, думаю переехать ради опыта
Аноним 15/11/19 Птн 00:38:59 15213953
>>1521391 (OP)
Ну зачем, нормально же общались!
15/11/19 Птн 07:27:59 15214414
>>1521394
Двачую вопрос и призываю джуна ответившего мне в прошлом треде.
Мой вопрос, что спрашивали на собесе и что он конкретно на работе делает.
Нужно ли джуну дрочить синтаксис углубленно и окончательно ломать себе мозги ИЛИ лучше задрочить конкретные конструкции/идиомы тех задач что джун будет непосредственно решать.
Аноним 15/11/19 Птн 10:23:01 15214695
изображение.png (112Кб, 659x472)
659x472
Как в 2020 проще всего обойти директирию с поддиректориями? Можно без сортировки.
Аноним 15/11/19 Птн 11:31:15 15215126
image.png (15Кб, 516x221)
516x221
image.png (62Кб, 803x739)
803x739
Как вообще принято покрывать юнит-тестами функции?

Вот, например,

если у меня есть функция, которая разбивает строку по запятым на спиок слов,
я точно знаю, что этих слов должно быть 3

какие тесты я должен для неё прописать ?
Допустим:
Проверка на правильный тип данных возвращаемого значения
Проверка на правильную работу функции (забить выходной список вручную для небольшого примера)
Проверка на правильное количество возвращаемых элементов в списке

Я немного упростил свою реальную функцию, у меня еще добавятся тесты для разных специфичных случаев,
но есть ли еще какие-то основные тесты, которые я упустил?
Аноним 15/11/19 Птн 11:31:42 15215137
>>1521512
И еще, если,допустим, делаешь собственный парсер и оформляешь его , как питоновский пакет,
нужно ли там прописывать собственные исключения, например для случая, когда на вход подана строка неправильного формата?
Или достаточно выбрасывать в коде уже существующий тип исключения, например ValueError, написав лишь там своё сообщение ?
Аноним 15/11/19 Птн 11:35:08 15215178
Аноним 15/11/19 Птн 11:57:48 15215479
изображение.png (1559Кб, 1063x1299)
1063x1299
>>1521517
Уже через os.walk() обошёл всё, довн.
Аноним 15/11/19 Птн 12:31:37 152157910
>>1521547
def walk(top, topdown=True, onerror=None, followlinks=False):
"""Directory tree generator.

For each directory in the directory tree rooted at top (including top
itself, but excluding '.' and '..'), yields a 3-tuple

dirpath, dirnames, filenames

dirpath is a string, the path to the directory. dirnames is a list of
the names of the subdirectories in dirpath (excluding '.' and '..').
filenames is a list of the names of the non-directory files in dirpath.
Note that the names in the lists are just names, with no path components.
To get a full path (which begins with top) to a file or directory in
dirpath, do os.path.join(dirpath, name).

If optional arg 'topdown' is true or not specified, the triple for a
directory is generated before the triples for any of its subdirectories
(directories are generated top down). If topdown is false, the triple
for a directory is generated after the triples for all of its
subdirectories (directories are generated bottom up).

When topdown is true, the caller can modify the dirnames list in-place
(e.g., via del or slice assignment), and walk will only recurse into the
subdirectories whose names remain in dirnames; this can be used to prune the
search, or to impose a specific order of visiting. Modifying dirnames when
topdown is false is ineffective, since the directories in dirnames have
already been generated by the time dirnames itself is generated. No matter
the value of topdown, the list of subdirectories is retrieved before the
tuples for the directory and its subdirectories are generated.

By default errors from the os.listdir() call are ignored. If
optional arg 'onerror' is specified, it should be a function; it
will be called with one argument, an os.error instance. It can
report the error to continue with the walk, or raise the exception
to abort the walk. Note that the filename is available as the
filename attribute of the exception object.

By default, os.walk does not follow symbolic links to subdirectories on
systems that support them. In order to get this functionality, set the
optional argument 'followlinks' to true.

Caution: if you pass a relative pathname for top, don't change the
current working directory between resumptions of walk. walk never
changes the current directory, and assumes that the client doesn't
either.

Example:

import os
from os.path import join, getsize
for root, dirs, files in os.walk('python/Lib/email'):
print root, "consumes",
print sum([getsize(join(root, name)) for name in files]),
print "bytes in", len(files), "non-directory files"
if 'CVS' in dirs:
dirs.remove('CVS') # don't visit CVS directories

"""

islink, join, isdir = path.islink, path.join, path.isdir

# We may not have read permission for top, in which case we can't
# get a list of the files the directory contains. os.path.walk
# always suppressed the exception then, rather than blow up for a
# minor reason when (say) a thousand readable directories are still
# left to visit. That logic is copied here.
try:
# Note that listdir and error are globals in this module due
# to earlier import-*.
names = listdir(top)
except error, err:
if onerror is not None:
onerror(err)
return

dirs, nondirs = [], []
for name in names:
if isdir(join(top, name)):
dirs.append(name)
else:
nondirs.append(name)

if topdown:
yield top, dirs, nondirs
for name in dirs:
new_path = join(top, name)
if followlinks or not islink(new_path):
for x in walk(new_path, topdown, onerror, followlinks):
yield x
if not topdown:
yield top, dirs, nondirs

Тут рекурсия, педорас.
Аноним 15/11/19 Птн 15:26:41 152172011
exercise.PNG (100Кб, 792x338)
792x338
Аноны, поясните, что они хотят в этой задаче?
Аноним 15/11/19 Птн 15:28:06 152172212
>>1521720
а всё не нужно. понял, просто с переводом проебался.
Аноним 15/11/19 Птн 20:56:38 152206213
Для работы с данными одной программы очень удобно реализован вывод в дата фреймы pandas. В книжке Numerical python познакомился с рядами и массивами numpy. Есть хорошая книга или другая обучающая литература по pandas? Документация разработчика просто пугает объемом свыше 1000 страниц.
Аноним 15/11/19 Птн 23:00:23 152215614
>>1522062
Читай только то, что тебе нужно и всё.
Аноним 15/11/19 Птн 23:10:32 152216015
Аноним 16/11/19 Суб 02:14:31 152232516
1572817688-3ae3[...].jpeg (399Кб, 1365x2048)
1365x2048
В какой области лучше начать делать пет проджект, что бы подтянуть базу знаний на практике? Желательно с минимальным использованием библиотек. Т.е. что бы область к этому располагала.
Аноним 16/11/19 Суб 02:21:31 152232817
Write a function count that returns the number of occurrences of target in a nested list

аноны, переведите, пожалуйста, задание не понимаю что хотят
Аноним 16/11/19 Суб 03:56:10 152235218
>>1522328
короче если мои навыки ангельского мне не пиздят то ты должен написать функцию def count которая считает количество вхождений некоторого заданного значения в (nested ?) списке и в следующий раз воспользоваться гугл переводчиком который такие предложения переводить уже умеет
Аноним 16/11/19 Суб 09:30:06 152241619
Аноним 16/11/19 Суб 09:33:53 152241720
>>1522328
Напишите функцию count, которая возвращает количество совпадений (вхождений) в целевом вложенном списке.
Вложенный список, это когда внутри списка есть еще списки.
a = [['a', 'b', 'c'], [3, 4, 5], ['ji','ri','do']
По сути задача на for/ while и if, elif, else, in.
Аноним 16/11/19 Суб 12:22:36 152247421
>>1522325
В какой области хочешь знания поднятунть, в такой и делай?
Аноним 16/11/19 Суб 14:04:35 152258222
>>1522417
нет, спасибо. я знаю что такое вложенныq список и что они хотят рекурсивную программу. я не понимаю вот этого

>которая возвращает количество совпадений (вхождений) в целевом вложенном списке
я не понимаю что это означает, скажи, пожалуйста. не понимаю смысл
Аноним 16/11/19 Суб 14:07:52 152258523
>>1522062
А что конкретно надо сделать с этим датафреймом?
Аноним 16/11/19 Суб 14:15:26 152259224
>>1522417
что такое вхождения?
что такое целевой вложенный список? вернее вложенный знаю, а целевой это как? какой-то определённый. дайте, пожалуйста подробный пример этого всего я не понимаю
Аноним 16/11/19 Суб 15:02:44 152262625
>>1522417
Посчитать, сколько вхождений (переменной) target во вложенном списке.
def count(target):
...
Аноним 16/11/19 Суб 15:05:48 152262926
>>1522626
а понял. спасибо большое. дошло до меня. но последнее уточнение

вот [5,3,[3,4]] нужно посчитать цифру три только во вложенном списке или в целом?
Аноним 16/11/19 Суб 15:30:54 152265027
>>1518484
> олдфажного сокрещенного синтаксиса
Пиздуй на мою прежнюю работку к дедам, прогающим на asm-е. Тебе там понравится
Аноним 16/11/19 Суб 16:09:54 152267128
Capture.PNG (3Кб, 232x139)
232x139
>>1522626
>>1522417
>>1522352
Последний вопрос и я от вас отстану, обещаю. Вот я сделал это задание как я понял. Правильно сделал?
Аноним 16/11/19 Суб 16:11:26 152267329
>>1522671
L это список
A это искомое число
c считает кол-во сколько прза случилось число в списке. могу сделать и чисто чтобы во вложеном искал на определённой глубине рекурсии. блять ну почему эти условия заданий непонятные всё время загнут какую-то хуйню типа "сколько вхождений в целевом вложенном списке?" что блядь?
Аноним 16/11/19 Суб 16:30:08 152268230
>>1522629
Откуда я знаю, смотри примеры, если есть. По идее надо искать во всём списке, нигде не сказано, что только во вложенных.
Аноним 16/11/19 Суб 16:33:39 152268631
>>1522673
>в целевом вложенном списке
Ты побольше переводы местных ретардов, не способных в язык, слушай.
Аноним 16/11/19 Суб 16:42:57 152269532
>>1522682
ну вот я >>1522671 код написал.

Так в том то и проблема блядь в этой книге авторы любят загнуть что-то такое сложное на словах и не предоставить примеры. Там нет примеров, одна строчка текста как задача и всё. Регулярно сюда за помощью обращаюсь. Заебала эта книжка с её охуительными формулировками уже.
Аноним 16/11/19 Суб 17:08:45 152271433
15452441678811.jpg (78Кб, 700x514)
700x514
Так, котаны. Начал использовать R но проблевался от неконсистентности. Уже было начал учить julia, но эти ваши индексы с 1, ух. Сдался и решил пойти мейнстримным путем. Кодить умеют, монады не пугают. Подскажите какую книжку (на английском) лучше взять? Смотрю в сторону Python for data analysis
Аноним 16/11/19 Суб 17:10:53 152271534
>>1522714
ёбаный папус у тебя на пикче.
Аноним 16/11/19 Суб 17:43:09 152275235
>>1522715
типичный пограмизд)
Аноним 16/11/19 Суб 20:42:29 152285636
>>1522417
из условий не понятно, какая у тебя степени вложенность, предположим что первая, это самый легкий вариант:

from collections import Counter
your_list = [[1,2],[3,4], [2,3], [2,3,54,1,2,43,12], [3,1]]
flatten_list = sum(your_list, [])
print(Counter(flatten_list)) # Counter({2: 4, 3: 4, 1: 3, 4: 1, 54: 1, 43: 1, 12: 1})



Аноним 16/11/19 Суб 20:48:30 152285837
>>1522856
Это считает количество всех элементов во всем листе со вложенными листами, если тебе нужно только в одном из вложенных и там гарантированно нет второго уровня вложения, то просто по индексу делай.

Вообще нихуя не понятно из этого условия, что делать, либо ты сам его сам так сформулировал (считай себя составителем задачи и смотри дальше), либо тот, кто составлял задачу - даун.
Аноним 16/11/19 Суб 20:57:41 152286538
>>1522671
тип надо проверять так - isinstance(instance, type)
вместо второго if должно быть elif

Ну и по условию не понятно, что вообще надо делать, да и по твоему коду тоже не понятно ничего.
Приведи пример вводного листа и результат функции, наверняка в твоей книжке это дается.
Аноним 16/11/19 Суб 21:00:08 152286939
Аноним 16/11/19 Суб 21:01:40 152287340
image.png (169Кб, 1366x768)
1366x768
image.png (284Кб, 973x490)
973x490
Добрый вечер. Почему это произошло в моей жизни?
Аноним 16/11/19 Суб 21:10:55 152287741
>>1522671
https://github.com/30-seconds/30-seconds-of-python/blob/master/snippets/deep_flatten.md
Кстати вот универсальный метод сглаживания листа, после этого ты получаешь просто лист со значениями и считаешь там повторы или что тебе нужно. Если ты хочешь пилить свой велосипед и отказываешься юзать collections.Counters, то земля тебе пухом, делай лучше через словарь все это дело.

Типа так:
counter_dict = dict()
for elem in flatten_list:
....counter_dict[elem]+=1 if counter_dict.get(elem) is not None else counter_dict[elem]=1
count = len([v for v in counter_dict.values() if v > 1])

Аноним 16/11/19 Суб 21:11:42 152287842
Аноним 16/11/19 Суб 21:16:14 152288143
>>1522877
....counter_dict[elem]=counter_dict[elem]+1 if elem in counter_dict else 1


пофиксил
Аноним 16/11/19 Суб 23:26:02 152295944
>>1522877
>>1522865
спасибо вам огромное, аноны, вы мне очень сильно помогли.
Аноним 16/11/19 Суб 23:52:21 152296945
Решил поизучать питон. Или пайтон. Поставил среду. Запустил. А она как давай память жрать. В программке 10 строк и 600 мб в памяти. Это нормально?
Аноним 17/11/19 Вск 00:10:30 152297646
Аноним 17/11/19 Вск 00:13:12 152297747
>>1522969
jetbrains? Используй IDLE.
Аноним 17/11/19 Вск 00:38:09 152298648
Аноним 17/11/19 Вск 09:15:12 152306449
>>1521394
>>1521441
Отвечаю вам обоим аноны. Вкатился летом в бекенд джуниор питон разработчиком. Работаю уже 5 месяц.

Был всего на двух собесах. Надо знать основы языка ну и основы фреймворка который будешь юзать, например Django или Flask.
Чтобы меньше было вопросов на собеседовании, лучше иметь какой нибудь проект на гите, ну или хотя бы с собой принести на ноутбуке, но лучше на гите, так как на первом собесе ноутбук не пропустила охрана и тимлид ебал меня вопросами про слои БД и всякую ебалу, на втором собесе показал код и вопросы были по моему коду.

ЗП сейчас 50к, не ДС или ДС2, то есть для моего города вполне нормально.

Работать в целом не сложно, так как любая задача уже решена на SOF. Сложно когда блять тупой менеджер называет сроки не посоветовавшись с тобой, а потом пытается нагнуть работать в выходные. Со временем научился слать нахуй менеджера, ну или говорю что постараюсь, а сам нихуя не делаю на выходных, напишу пару строк и рассказываю сказки как спал всего 3 часа и спасал мир, в итоге менеджеру приходится сроки подгонять под мои. Проект старый и большой, документации нету, я в нём немного разобрался и поэтому могу диктовать свои условия, несмотря на то что, я нету даже полгода стажа, уже поступают предложения на собес, летом буду искать удаленку, хочу пару лет пожить на море.
17/11/19 Вск 11:50:34 152309150
>>1523064
Спасибо за развернутый ответ. Скажи, можешь ли ты с нуля написать что то сложное, на чистом питоне? Насколько спрашивают основы языка? Можно быть макакой работающей только с готовыми решениями из библиотек?
Аноним 17/11/19 Вск 11:51:31 152309251
кто какой редактор/иде использует для питона?попробовал пайчарм,комп чуть не сгорел,вообще не понимаю что он там внутри делает чтоб так память сжирать
Аноним 17/11/19 Вск 11:54:30 152309552
>>1523092
у вскода иногда не работает автокомплит,он как будто не загрузил еще модуль,то ли что то там внутри ломается, потому что он иногда хорошо автокомплитит
Аноним 17/11/19 Вск 12:07:55 152310053
>>1523092
Саблайм с анакондой
Аноним 17/11/19 Вск 12:22:28 152310954
>>1523092
Thonny использую, не пишу ничего сложнее парсеров, так что мне хватает, но для каких-то комплексных проектов его будет мало
Аноним 17/11/19 Вск 12:58:40 152312555
>>1523092
emacs + elpy + flycheck + py-autopep8
Аноним 17/11/19 Вск 14:16:11 152319756
>>1523092
Так это же жидбрейнз
Аноним 17/11/19 Вск 14:29:32 152321057
Я тут работаю над небольшим проектом. По сути это скрейпер, который работает 24/7 и каждые пару минут обновляет базу данных, когда пользовательно открывает главную страничку сайта, информация с бд отоборажается в виде таблицы. Пишу на Python+Flask+PostgreSQL. Возник вопрос. Стоит ли переместить парсер в отдельную программу (пакет)? Хорошая ли это практика? Хуй знает, как такое гуглить.
Аноним 17/11/19 Вск 14:32:54 152321758
>>1523125
Автокомплит не тормозит?
Запости скрин, няша.
Аноним 17/11/19 Вск 15:28:02 152327159
>>1522877
Работа со словарями это какой-то мрак, прочитал в нескольких разных курсах про них так ничего и не понял как это всё синтаксически оформлять, перебирать, юзать в циклах.
Аноним 17/11/19 Вск 15:33:13 152327560
>>1523210
А у тебя как сейчас запущен парсер?
Аноним 17/11/19 Вск 16:09:37 152332161
>>1523092
> вообще не понимаю что он там внутри делает чтоб так память сжирать
Использует жабу вместо плюсов.
Аноним 17/11/19 Вск 16:49:46 152335962
image.png (171Кб, 1918x1159)
1918x1159
>>1523217
Сначала думает немного, потом быстрее.
Аноним 17/11/19 Вск 17:54:19 152341463
>>1523271
По идее словари нужны были не для перебора изначально, но когда начал гарантироваться порядок все немного изменилось. Там вроде все элементарно же, чего не понял то?

test_dict = {1:10, 2:2.0, 3:'N'}

for element in test_dict:
....print(element)
# 1 2 3

for element in test_dict.keys():
....print(element)
# 1 2 3

for element in test_dict.values():
....print(element)
# 10 2.0 N

for key, value in test_dict.items():
....print(key, value)
# (1, 10) (2, 2.0) (3, N)

print(list(test_dict.keys())) # [1, 2, 3]
print({v:k for (k,v) in test_dict.items()}) # {10:1, 2.0:2, "N":3}

test_dict[2] = 'two'

print(test_dict) # {1:10, 2:'two', 3:'N'}

test_dict[6] # value error

test_dict[6] = 6

print(test_dict) # {1:10, 2:'two', 3:'N', 6:6}




Аноним 17/11/19 Вск 17:55:42 152341664
2019-11-17-1548[...].png (275Кб, 1425x1841)
1425x1841
>>1523359
org-mode+org-babel+emacs-jupyter не пробовал?
Аноним 17/11/19 Вск 17:56:48 152341765
Анонасы, не подскажите, как завести python3.x на notepad++? Чтобы с автодополнением и по красоте было, перепробовал много вариантов, но так и не смог привинтить хоть сколько-то нормальное дополнение.
Аноним 17/11/19 Вск 17:59:43 152341966
>>1523091
Сложное на чистом питоне? Думаю можно, но зачем? Сейчас куча библиотек, которые облегчают жизнь, не знаю как в крутых компаниях типа Гугл, но по рынку 90% это создание веб приложении, а значит Django/Flask, кое где нужны знания докера или celery + rabbit MQ/reddis, но это уже на мидла, советую потратить время на изучение Django + DRF, толку больше будет, ну и создай себе бложик на Джанго, почти туда чему научился, в итоге и тебя польза и от работодателя плюс

Мимо от анон, которому ты отвечал
Аноним 17/11/19 Вск 18:15:25 152343067
>>1523416
>org-mode
Меня немного пугают аддоны, к которым прилагается мануал на 300 страниц.
Аноним 17/11/19 Вск 18:17:35 152343168
>>1523430
95% времени ты просто делаешь аутлайн и вешаешь TODO на итемы, так что не сложнее маркдауна.
Аноним 17/11/19 Вск 18:20:18 152343269
image.png (2Кб, 335x80)
335x80
Что это за модуль? Гугл выдаёт про командную строку.
Аноним 17/11/19 Вск 18:23:19 152343470
image.png (22Кб, 612x100)
612x100
>>1523432
>Гугл выдаёт про командную строку.
А ты случайно не врешь?
Аноним 17/11/19 Вск 18:27:33 152344071
>>1523434
Там и описания нет. Как можно найти модуль, если знаешь лишь как он вызывается?

from commander.commander import Commander

И что мне качать? commander.commander?
Аноним 17/11/19 Вск 18:30:32 152344172
image.png (148Кб, 1775x151)
1775x151
Аноним 17/11/19 Вск 18:32:58 152344373
>>1523441
Не роботоет. Всё равно не находит.
Аноним 17/11/19 Вск 18:34:40 152344474
image.png (73Кб, 1039x228)
1039x228
Аноним 17/11/19 Вск 18:37:07 152344775
Capture.PNG (22Кб, 759x150)
759x150
аноны, как распечатать список в таком виде? что бы он был и списком и чтобы каждый элемент столбиком был. заебала эта книга со своими охуительными условиями каждая задача мне мозг пол дня выносит
Аноним 17/11/19 Вск 18:38:31 152344876
image.png (19Кб, 807x144)
807x144
>>1523444
То есть я что-то делаю не так?
Аноним 17/11/19 Вск 18:44:10 152345077
>>1523447
хотя впрочем не нужно. авторы просто мудазвоны. я сделал обычный принт построчный, один хрен в списке слеши адресов удавиваются. не знаю каким местом авторы думали когда подобный высер в условия толкали
Аноним 17/11/19 Вск 18:48:19 152345578
Аноним 17/11/19 Вск 18:48:50 152345779
Аноним 17/11/19 Вск 18:51:21 152346080
Аноним 17/11/19 Вск 18:53:38 152346181
>>1523448
Я похоже не то находил, извини.
Если ты пишешь какого-нибудь ссаного бота для вконтактика, вот какой-то коммандер:
https://github.com/AppLoidx/vk_bot
Аноним 17/11/19 Вск 19:01:14 152347582
Аноним 17/11/19 Вск 19:01:56 152347683
>>1523460
How to Think Like a Computer Scientist: Learning with Python 3 Documentation, Release 3rdEdition
Аноним 17/11/19 Вск 19:15:07 152349284
>>1523461
Блять. Почему нельзя было его закинуть в Pypl или запилить одним файлом. И как теперь эту ебанину заставить работать.
Аноним 17/11/19 Вск 19:19:43 152349685
Поясните как работают ограничения рекурсии? Почему при значении 1, происходит ашь 12 рекурсий. В то время как при значении 100 доходить только до 87. Я уже весь мозг сломал.
Аноним 17/11/19 Вск 19:24:39 152349986
fisrt.PNG (7Кб, 309x224)
309x224
second.PNG (12Кб, 333x341)
333x341
>>1523496
вот скрины анонам. извиняюсь. так будет понятнее. почему такие выводы?
Аноним 17/11/19 Вск 20:21:10 152352587
image.png (34Кб, 1095x286)
1095x286
Сап, анон, помоги построить структуру пикрил. Я смог сделать только Бренд и Товар. Категорию я сделал ручками, то есть при создании нового бренда приходится в url ручками прописывать filter(brand__contains=Apple, например). Как сделать так, чтобы можно было прописать все через слаг и у меня через слаг фильтровались модели конкретной категории? причем чтобы можно было добавить бренд через админ панель и ничего в код не дописывать? получается я могу делать связку ModelListView-ModelDetailView, а как делать связку BrandListView-ModelListView-ModelDetailView.
Аноним 17/11/19 Вск 20:29:03 152353888
Предположим мне на сервер надо послать несколько json'ов, один из которых содержит флаг, который должен быть установлен на сервере, а остальные собственно обрабатываемую информацию.
Как это смоделировать во фласке?
Надо ли под первый тип (установка флага) и второй тип (передача данных) заводить отдельные процессы?
Или всё делается в одном?
Аноним 17/11/19 Вск 20:59:33 152357089
>>1523538
> смоделировать
О, снова ты.

Тупо послать несколько жсонов подряд, сервер последовательно их обработает. Наткнувшись в первом жсоне на флаг, он у себя это запомнит. Всё в одном процессе.
Аноним 17/11/19 Вск 21:07:59 152357990
>>1523570
Да, выхожу на связь.
Ну соответственно, на сервере надо будет написать отдельную функцию, чтобы флаг принимала?
Аноним 17/11/19 Вск 21:17:27 152359091
>>1523579
Можно и не писать. Достаточно условия:
mydata = фласк.request.json
if "flag" in mydata:
__store_flag_somewhere(mydata["flag"])
...
Аноним 17/11/19 Вск 21:19:24 152359392
Сколько длится блокировка за парсинг на фейсбуке?
Аноним 17/11/19 Вск 21:22:26 152359993
a.jpg (20Кб, 300x223)
300x223
Аноним 17/11/19 Вск 21:24:45 152360294
>>1523538
Делаешь два типа данных, один с флагом, другой без, делаешь один общий интерфейс который они имплементируют, делаешь апи эндпойнт который принимает список с типом этого интерфейса, делаешь одну функцию которая обрабатывает тип без флага, вторую - как композицию первого + обработчик флага.
Аноним 17/11/19 Вск 21:27:42 152360695
>>1523602
Хм... Звучит как-то по-джавовски.
Аноним 17/11/19 Вск 21:32:45 152361296
блок за парсинг.png (21Кб, 1148x319)
1148x319
>>1523599
но они же обещали temporarily(((
Аноним 17/11/19 Вск 21:32:47 152361397
Аноним 17/11/19 Вск 23:09:52 152370298
>>1523414
Везде примерно тоже самое, описан базовый функционал, но всё равно не понятно как с помощью него решать задачи. В итоге решаю их без словарей, но в этом нету смысла.
Аноним 18/11/19 Пнд 00:52:16 152377399
>>1523702
Ну может быть в твоих задачах словари и не нужны. Либо нужны, но тебе не хватает алгоритмической базы, базы по структурам данным.

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

Если обращение по ключу не актуально, то и словари тебе не нужны.
Аноним 18/11/19 Пнд 01:08:45 1523781100
>>1523525
У тебя же вроде линейная структура. Как товар ссылается на бренд, так бренд на категорию.
Другое дело, что это какая-то оторванная от жизни модель. Бренд же явно может не в одной категории встречаться. Или это какой-то особенный каталог?
Аноним 18/11/19 Пнд 01:19:47 1523785101
>>1521391 (OP)
Посоветуйте библиотечку для написания ботов в телегу. Ну или перенаправьте в соответствующий тред, спасибо.
Аноним 18/11/19 Пнд 02:12:14 1523795102
Аноним 18/11/19 Пнд 03:38:46 1523820103
Прошу помощи, программа ищет все простые числа до n-го числа, с помощью Решета Эратосфена. https://pastebin.com/PxXW8Si4, думаю на stackoverflow все объяснено , но я не знаю английского, конкретно непонятна вот эта строка.
sieve[ii::2i]=[False]((n-ii-1)//(2i)+1)
Непонятно, как вообще работает эта строка,разве ясно как вырезка делается , как я понял, сколько вырезка выдает значений , на такое же число мы должны домножить [False], ни больше ни меньше, иначе выдаёт ошибку , механика мне непонятна. Дальше не ясно откуда взялась эта мудреная формула ((n-i
i-1)//(2*i)+1), которая угадывает количество чисел, которым надо присвоить False значения, так как они составные.
Аноним 18/11/19 Пнд 03:42:12 1523821104
>>1523820
Вот сама программа

def primes(n):
""" Returns a list of primes < n """
# (c) Robert William Hanks - https://stackoverflow.com/a/3035188/5741205
sieve = [True] n
print("все чётные числа игнорируются и будут пропущены при возврате...\n")
for i in range(3,int(n
0.5)+1,2):
if sieve:
print('содержимое решета:\t{}'.format([x for x in range(3,n,2) if sieve[x]]))
print(f'i:{i} вычёркиваем все числа кратные "{i}", начиная с "{i}^2": {list(range(i
i, n, 2i))}')
sieve[i
i::2i]=[False]((n-ii-1)//(2i)+1)
print(f'sieve[{i}{i}::2{i}]=[False](({n-i}{i-1})//(2{i})+1)')
print('содержимое решета:\t{}'.format([x for x in range(3,n,2) if sieve[x]]))
print('
' * 60)
return [2] + [i for i in range(3,n,2) if sieve]
Аноним 18/11/19 Пнд 03:45:56 1523822105
Аноним 18/11/19 Пнд 12:16:40 1523913106
>>1523822
sieve[ii::2i] выбирает все числа кратные "{i}", начиная с "{i}^2.
((n-ii-1)//(2i)+1) = находит сколько таких чисел в твоем листе.
Умножая на [Flase] получаем равенство len(sieve[ii::2i]) == len(
[False]((n-ii-1)//(2i)+1) )
Дальше на все места sieve[ii::2i] подставляется False
Аноним 18/11/19 Пнд 14:29:42 1523992107
>>1521391 (OP)
Сап, я новичок, создал профиль на гитхабе, пощу туда решение задач с курсов, и просто задач. Буду какие то проекты постить.

И возник такой вопрос, есть ли смысл допустим просить людей звездочку поставить на мой репрозиторий, или в этом нет никакого смысла?
Аноним 18/11/19 Пнд 14:34:02 1523993108
>>1523992
Молодец, возьми пряник
Аноним 18/11/19 Пнд 15:31:55 1524027109
>>1523992
>пощу туда решение задач с курсов, и просто задач
Этот мусор там не нужен.
Аноним 18/11/19 Пнд 15:35:12 1524031110
>>1523992
Если проект полезен - сами поставят.
Аноним 18/11/19 Пнд 15:51:04 1524047111
>>1523913
Спасибо, но не совсем понятна откуда взялась эта формула ((n-ii-1)//(2i)+1) , как ее вообще выдумали , я даже подумал проще было бы записать эту строку как
sieve[ii::2i]=[False]*len(sieve[ii::2i])
Смотрел , результат получается тот же правильный , но может, так я значительно теряю в скорости ?
Аноним 18/11/19 Пнд 15:58:04 1524052112
>всего ~6300 вакансий для питона на hh
>в твоём городе ни одной
>удалённых на всю раисю 273
>из них для джунов меньше 50
Всё тлен.
Аноним 18/11/19 Пнд 16:23:36 1524078113
>>1524052
Ну ты глупенький? Никто ждуна брать на удаленку не будет.
Лучше пройди собес по скайпу и вкатывайся в ДС. Там джунам платят хорошо, на съем хватит и сверху останется.
Аноним 18/11/19 Пнд 16:56:01 1524119114
>>1524078
Кому там нужны понаехи без прописки за 30 лет, не смеши.
Аноним 18/11/19 Пнд 17:39:49 1524154115
>>1524119
Оу, что у нас тут? Выученная беспомощность? Прекрасный настрой для начала новой жизни. Продолжай в том же духе.
Аноним 18/11/19 Пнд 17:49:24 1524158116
>>1524154
Я в отличии от диванных пиздаболов бывал в мск и знаю что это такое пытаться куда-то там устроится без московской прописки. А потом очередное дерьмо умничающее статейку прочитало от психолуха и давай покровы срывать хочется ему в рожу плюнуть.
Аноним 18/11/19 Пнд 18:31:57 1524187117
>>1524158
И куда тебя без прописки не пускали, практик наш?
Аноним 18/11/19 Пнд 19:35:51 1524229118
14861651328250.jpg (152Кб, 768x1024)
768x1024
Как изменить значение ключа в словаре, но ТОЛЬКО если этот ключ существует?

В две строки так:
if 'benis' in d: d['benis'] = 'long'

А покороче никак нельзя? Думал встроенные методы словаря что-нибудь подобное умеют, но там нет ничего, update и тот добавляет лишние ключи.
Аноним 18/11/19 Пнд 19:58:02 1524240119
сап, програмач. такой вопрос от нюфага вам возник: ищу работу в вебе (по классике вкатывальщик) и в моем зажопье нет никаких галер на питонщиков джунов в вебе. а если и есть это мидлы и сеньоры куда я уже там все отсылал и меня просто продинамили. но при этом дохуя вакансий на пхп джунов и стажеров. так вот вопрос - стоит ли им слать в надежде что придется быстро переучиваться, или же я там даже тестовое не пройду если мне его вообще вышлют?
Аноним 18/11/19 Пнд 20:00:57 1524241120
wallhaven-498043.png (1817Кб, 1920x1080)
1920x1080
А подскажите, чем можно сделать следующую штуку:

Есть примитивная кроссплатформенная софтина, которая должна определенным образом обрабатывать указанные каталоги. Накидал на Ткинтере форму, сделал кнопку добавления каталога в Listbox и удаление выбранного, плюс кнопка старта.

А хочется не простой листбокс, а список с колонками (например, путь к каталогу и статус его обработки), плюс (самое главное!) возможность перетащить в него нужные каталоги мышкой из проводника, а не добавлять каждый раз вручную из диалогового окна. Вот как бы этот драг-н-дроп реализовать правильнее? Ткинтер для таких вещей не особо приспособлен, насколько я понял. Стоит смотреть в сторону PyQt? И если да, то куда копать, а то гуглится не очень пока успешно?
Аноним 18/11/19 Пнд 21:10:34 1524289121
Есть некоторая библиотека, но для моей задачи там может понадобиться всего лишь малая часть тех файлов и функций, которые там присутствуют. Как я могу узнать, какие конкретно файлы и функции используются, кроме как добавлять принт имени файла и функции в каждом файле библиотеки?
Аноним 18/11/19 Пнд 21:15:23 1524291122
>>1524229
Наверное как-то так

d['benis']='long' if 'benis' in d.keys() else pass
Аноним 18/11/19 Пнд 21:28:06 1524295123
>>1524291
> else pass
Зачем эти полумеры? Давайте по-чесному перейдём на перл, раз пишем на питоне, как на перле.
Аноним 18/11/19 Пнд 21:31:10 1524296124
>>1524295
Предложи свой вариант
Аноним 18/11/19 Пнд 21:39:58 1524300125
>>1524296
Пожалуй, что совсем лаконичного решения нет. Задача нештатная пожалуй.

Варианты решения:
1) описать свою функцию
def upd(dict_obj, key, value)

2) унаследовать класс от dict и добавить к нему метод upd(key, value)

>if 'benis' in d: d['benis'] = 'long'
>d['benis']='long' if 'benis' in d.keys() else pass
по сути одно и тоже , первый вариант даже получше
Но мне в них не нравится то, что дублирование ключа идёт, это тут самое некрасивое.

Аноним 18/11/19 Пнд 21:42:21 1524303126
>>1524300
Можно поправить исходнички интерпретатора и скомпилировать свой форк с лаконичным однострочным синтаксисом.
Аноним 18/11/19 Пнд 21:45:07 1524306127
>>1524296
ВНЕЗАПНО, писать две строки, а не какую-ту нечитаемую хуиту.
Аноним 18/11/19 Пнд 21:46:16 1524308128
>>1524300
> совсем лаконичного решения нет
Писать свои классы тебя не учили?..
метод __missing__ блять, документацию читай

>>1524229
...
Аноним 18/11/19 Пнд 21:49:59 1524314129
>>1524303
Вот мне тоже кажется, что анон спрашивал как попроще, а тут предлагают совсем по-взрослому.

Мне вот не нравится "else pass". Хорошо бы чтобы его можно было не писать.
Аноним 18/11/19 Пнд 22:00:08 1524320130
>>1524314
Проще всего написать функцию или писать две строки, а не устраивать синтаксические выебоны. Простое лучше, чем сложное.
$d{benis} = "long" if exists $d{benis};
Аноним 18/11/19 Пнд 22:03:42 1524322131
Аноним 18/11/19 Пнд 22:58:16 1524353132
>>1524308
Анон, радуйся, что ты анон и никто не узнает, что именно ты обделался.

Ты прежде чем учить, в доку загляни, что __missing__ делает. И разберись, почему к задаче отношения от не имеет.

Вариант решения в том, чтобы унаследовать класс от dict и переопределить метод __setitem__, несложно, но небольшая магия там есть.

Но это не очень правильный вариант, обманчивый код получается. Ты присваиваешь значение, а оно не присваивается.
Аноним 18/11/19 Пнд 23:07:38 1524361133
>>1524353
>обманчивый код получается
Кидай эксепшн, в чем проблема?
Аноним 19/11/19 Втр 03:04:08 1524445134
>>1524241
КуТэ точно будет приятней и лучше, хотя бы благодаря КуТэДезигнеру, кол-ву юзеров и докам.
Драгндроп делается довольно просто на кутэ.
>>1524289
Открыть исходиники и глянуть?
Аноним 19/11/19 Втр 10:19:22 1524512135
Хотел свой anacron запелить, но чет объем работы больше чем я думал.
Аноним 19/11/19 Втр 10:41:15 1524520136
Забываю все прочитанное в книге даже когда выполняю задания. Мотивации ноль, уже тошнит от погромирования. Чому я такое хуйло ((
Аноним 19/11/19 Втр 12:11:14 1524561137
>>1524520
>тошнит от погромирования
Так чего ты тут забыл? Иди займись тем, от чего не тошнит
Аноним 19/11/19 Втр 13:02:17 1524591138
>>1524561
Но ведь впереди 300кк/сек...
Аноним 19/11/19 Втр 14:47:34 1524642139
>>1524591
Не в секунду, а за 10 месяцев на позиции джун/стажер.
А 10 месяцев это 25920000 секунд.
Аноним 19/11/19 Втр 16:44:47 1524703140
Надо взять три пнг, слепить их в один и добавить к ним надписи. Есть что-нибудь проще, чем колхозить imagemagick?
Аноним 19/11/19 Втр 17:02:23 1524717141
Аноним 19/11/19 Втр 17:37:27 1524741142
Аноним 19/11/19 Втр 17:45:15 1524745143
>>1524703
Взять редактор изображений и сделать ручками?
Аноним 19/11/19 Втр 17:54:21 1524749144
>>1521391 (OP)
Как с помощью регулярки разделить на группы?

Допустим в строке мне надо найти 'a-=b'. Как это сделать я понимаю, но как мне разделить, что бы было a, -, b
Аноним 19/11/19 Втр 18:17:09 1524765145
>>1521391 (OP)
пытаюсь поставить последний через инсталлер, ругается что нужна win7 sp1 x64.
Но у меня именно она и стоит, кто сталкивался?
Аноним 19/11/19 Втр 18:19:47 1524768146
>>1524765
поиск не читал@ gjcnfdbk ч96 3ю7ю0
Аноним 19/11/19 Втр 18:37:41 1524782147
15682998769800.jpg (58Кб, 604x604)
604x604
Как добавить пробел между двумя переменными но ТОЛЬКО если первая переменная существует?

s='pisos'
print(f'{s} sosi')

Если s пустой то принт выдает строку с пробелом в начале, некрасиво.

Пока придумал так:
print(f'{s}{s and " "}sosi')

А лаконичней как-нибудь нельзя?
Аноним 19/11/19 Втр 18:44:58 1524788148
Аноним 19/11/19 Втр 18:56:04 1524807149
>>1524314
>Мне вот не нравится "else pass". Хорошо бы чтобы его можно было не писать.
else pass писать нельзя, это синтакс инвалид.

Но можно так: 'benis' in d and d.__setitem__('benis', 'long')
Аноним 19/11/19 Втр 21:03:21 1524882150
>>1523092
Одно слово, которое способно обьяснить абсолютно все - java.
Аноним 19/11/19 Втр 21:10:26 1524885151
>>1523492
Видимо проганье - не твоё, но ничего, наверняка человек хороший.
Аноним 19/11/19 Втр 21:28:15 1524897152
>>1524314
Поехавший что ли совсем, по твоей логике там должно быть None, но это не только противоречит здравому смыслу, но и условию, которое тут за каким-то чертом обсасывается.
Аноним 19/11/19 Втр 21:31:44 1524902153
>>1524353
Да хули там, лучше сразу написать дескриптор на value, чтобы 30-ю строчками заменить 2. Все ведь логично?
Аноним 19/11/19 Втр 21:34:19 1524906154
Аноним 19/11/19 Втр 21:50:36 1524920155
>>1524782
Пробел в s перенеси

s = 'pisos '
Аноним 19/11/19 Втр 21:54:11 1524925156
>>1524897
Проясни ньюфагу. None будет если писать else pass или если не писать?
Аноним 19/11/19 Втр 22:05:35 1524937157
Пацаны. Вопрос по Джанго. Есть ли какие то рекомендации или случаи когда надо использовать class-based views или def-based views? В проде используются оба варианта?
Аноним 19/11/19 Втр 22:22:52 1524951158
>>1524920
s поступает "снаружи" и может быть пустой. Если тупо к потенциально пустой s лепить пробел то эффект будет такой же как с принтом, лишний пробел в начале.
Аноним 19/11/19 Втр 22:40:55 1524962159
Аноним 19/11/19 Втр 22:51:37 1524968160
>>1524951
Добавляй если только существует.
Вообще вот со strip() отличная мысль другого анонс.
Аноним 19/11/19 Втр 22:54:51 1524969161
>>1524749
Подробнее. Задача нихуя не понятна. Знак 'равно' куда делся?
Аноним 19/11/19 Втр 23:06:09 1524979162
>>1524962
print(f'{s} sosi'.strip())

Точно, спасибо.
Аноним 20/11/19 Срд 08:36:31 1525097163
Аноним 20/11/19 Срд 11:15:54 1525160164
>>1524782
f’{s+’’ ‘’ if s else s}sosi’
Аноним 20/11/19 Срд 11:21:18 1525163165
>>1524925

Если писать else pass, то у тебя будет ошибка синтаксиса.
Тебя официально затролил макака. Спасибо, Абу.
Аноним 20/11/19 Срд 12:46:28 1525218166
Пипец я только что сгорел нахер.
Почему, блэть, в питоне никто не реализовал нормально Friedman ANOVA с post-hoc тестами? В SciPy и в statsmodels его не завезли...
Да, в SciPy есть Friedmanchisquare, но он для k>6. А мне надо для k>=2.
Нашёл STAC, импортировал, решил потестить, запускаю обычную anova, а он вылетает с ошибкой синтаксиса, да еще и ограничение зачем-то прикручено на равный объём выборок. Пользоваться не вариант.

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

Или тут только костыли и придётся вкатываться в R?
Аноним 20/11/19 Срд 13:40:09 1525253167
Дают ли сертификаты за прохождение бесплатных курсов какие то бонусы при трудоустройстве?
Может платных курсов?
Как хуйлу без вышки и корочек доказать профпригодность для работы на галере?
Аноним 20/11/19 Срд 14:30:27 1525319168
>>1525253
>как доказать профпригодность для работы на галере?
Для этого и создают гитхабы, куда выкладывают проекты свои
Аноним 20/11/19 Срд 15:18:31 1525368169
>>1525253
>Дают ли сертификаты за прохождение бесплатных курсов какие то бонусы при трудоустройстве?
Нет
>Может платных курсов?
Нет
>Как хуйлу без вышки и корочек доказать профпригодность для работы на галере?
Тебе тестовое дадут
Аноним 20/11/19 Срд 15:41:13 1525383170
вроде в стандартных библиотеках вк апи нет спама по конфам вк...через что это можно реализовать?
Аноним 20/11/19 Срд 15:49:18 1525390171
2341102280.jpg (33Кб, 491x502)
491x502
Аноны, что-то я разбирался с Python и приуныл. Есть какие-то интересные проекты, которые делают на нем, или до конца жизни придется клепать типовые бэкенды или, в лучшем случае, чистить данные и играться с коэффициентами, изображая из себя ML-спеца?
Аноним 20/11/19 Срд 15:54:34 1525393172
>>1525390
Что для тебя "интересный" проект?
>>1525383
Через хитровыебанность.
Аноним 20/11/19 Срд 16:40:33 1525417173
>>1525390
Недавняя фотография черной дыры обрабатывалась питоном и питоновской библиотекой: https://github.com/achael/eht-imaging

А вообще открываешь r/python и r/coolgithubprojects (менее амбициозно) и мониторишь линки на чужие проекты на гитхабе. Полно всякой всячины.
Аноним 20/11/19 Срд 16:47:22 1525424174
Сап питонисты, есть директория vagina, в ней папки с разными именами, в них ещё папки с названием huy а в них уже лежат текстовики с дохуя строк текста в которых надо найти строки zalupa и вывести их в отдельный текстовой файл. Помогите это все реализовать.
Аноним 20/11/19 Срд 16:51:47 1525428175
Аноним 20/11/19 Срд 16:54:58 1525431176
>>1525424
Три строчки на баше:
for file in vagina/STAR/huy/STAR.txt; do
grep zalupa $file >> result.txt
done

STAR заменить на звезду.
Аноним 20/11/19 Срд 17:58:29 1525484177
Почему никто не обсуждает джанго 3?
Аноним 20/11/19 Срд 18:09:36 1525487178
>>1525484
А что там? До ЛТС версии еще долго же, она только 3.3 будет, в Апреле 2021. А я пока на 2.2 переписываю свою поделку.
Аноним 20/11/19 Срд 18:09:52 1525488179
Аноним 20/11/19 Срд 18:17:49 1525493180
>>1525487
Посмотрел сам - самое крупное изменение это переход на ASGI и Дафну. У меня сервис еще с 1.11 версии на ASGI и Дафне крутится. Все остальные изменения - мелочь.
Аноним 20/11/19 Срд 18:31:16 1525496181
>>1525368
Похуй, все равно получу сертификаты степика. Буду к резюме прикладывать
Аноним 20/11/19 Срд 20:08:40 1525547182
>>1521296
Навскидку, мне кажется, свой собственных класс исключений особенно необходим, когда исключение может нести с собой какие-то параметры. А в случае с парсером таковыми могут являться позиция ошибки в тексте, то есть номер строки и позиция в строке, в которой присутствует ошибка.
Ошибки я бы лично поделил на синтаксические и "грамматические", не знаю, может быть неправильно пишу. Но в общем ошибки в структуре отдельных лексем это одно, а ошибки в структуре документа это другой вид ошибок. Плюс уже после обработки текста, во время, так сказать, его интерпретации, могут возникнуть уже ошибки иного порядка.
Ну, например, в строке не закрыта кавычка. Лексема (литерал) неправильная. Или кириллица в идентификаторе.
Следующий класс ошибок - точку с запятой пропустили, скобку не закрыли, операнд без оператора, оператор без операнда. В общем, текст не соответствует грамматике.
И тут хорошо бы не просто вывести позицию ошибки, но ещё и написать, что конкретно ожидается. Ну, например, пишу я: x=5+
Парсер знает, что здесь дальше может быть написано число, имя переменной, может быть выражение в скобках... Вот три варианта можно вывести по запросу. Или кратко: «ожидается выражение». Или «ожидается закрывающая скобка». Это так просто (если парсер не вручную костылишь, конечно), но это в стопицот тысяч раз лучше, чем реализовано во многих парсерах, которые просто пишут какие-то нечленораздельные отписки вместо вменяемых сообщений об ошибках.
Ну и следующий класс ошибок, который уже парсер определить не может - переменная, например, используется, но не объявлена. Или объявлена, но не определена. То есть она, допустим, должна была появиться в тексте, но не появилась. И здесь опять-таки хорошо бы выдавать вменяемые сообщения с указанием на конкретное место в тексте, на конкретное объявление переменной, а не куда-то в никуда.
>>1521295
Ну я лично когда тесты писал, они подбирались на основе реальных глюков. То есть, допустим, вижу ошибку. Выявляю минимальный кусок входных данных, которые приводят к ошибке. Исправляю. Получаю правильный результат. И потом пишу тест, который требует из этих входных данных получить этот результат. Потом уже когда код шатаю в другом месте, в этом месте не сыпется, а если сыпется, то я сразу вижу, что поломал, и не надо потом продираться снова к узкому месту. Особенно помогает, когда правильное решение является как бы синтезом двух неправильных. Тогда ты с одной стороны делаешь костыль, а с другой стороны другой костыль отваливается. Потом подбираешься с другой стороны и тоже подпираешь костылём, после чего отваливается первый. А понять, что и то, и другое конфликтует, но должно работать одновременно, у тебя не хватает охвата взгляда. А вот когда ты второй костыль ставишь, а у тебя первый отваливается и ты сразу это видишь - то вот в этот момент ты прямо как будто прозреваешь. Видишь то, чего иным способом ещё долго не увидел бы.
Ну вот я так это использую. А каждую мелочь проверять вроде типов данных - ну не знаю... Я как-то привык, что этим компилятор занимается (не в питоне). А если компилятор (интерпретатор) этого не умеет, то на мой взгляд должен быть ещё специальный софт, анализирующий правильность программ. Вручную этим заниматься — какое-то неблагодарное занятие.
Аноним 20/11/19 Срд 20:09:48 1525548183
>>1525496
Дали лицензию на ЖыдБрейнс за решение задачек на степике. Я оче доволен!!
Аноним 20/11/19 Срд 20:51:54 1525570184
>>1525393
>Что для тебя "интересный" проект?
Что-то инновационное, вроде такого, что >>1525417 анон написал.

Везде пишут, что Python очень популярен в научной среде и я купился на это, но при этом он супер-медленный при моделировании по сравнению с тем же Матлабом. Да, иногда можно заюзать numpy, но чтобы получить нормальную производительность даже для задачи n-тел, нужно так хитровыебнуться, что проще уже на C написать.
Аноним 20/11/19 Срд 20:54:52 1525574185
>>1525547
А я уже и не надеялся, что мне здесь светит фидбэк,
Спасибо за развёрнутый и подробный ответ
Аноним 20/11/19 Срд 21:04:00 1525578186
Как задекорировать функцию из стандартной библиотеки вроде функции print..? Декоратор же приминается только при объявлении функции через def
Аноним 20/11/19 Срд 21:08:40 1525582187
>>1525578
print = f(print()) не сработает?
Аноним 20/11/19 Срд 21:09:53 1525583188
>>1525582
print() это вызов функции, который внезапно возвращает None
Аноним 20/11/19 Срд 21:10:29 1525584189
>>1525578
Декоратор - это синтаксический сахарок для этого:
func = mydecorator(func)

Соответственно, тебе достаточно написать декоратор, а затем сделать так:
print = mydecorator(print)
Аноним 20/11/19 Срд 21:28:11 1525596190
>>1525487
Вроде как асинк же из коробки завезут, нет? Без ебани всякой.
Аноним 20/11/19 Срд 21:43:00 1525612191
>>1525596
Ну да, переход на ASGI. Но его еще с 1.11 юзать можно было, просто он в отдельном проекте находился. Алсо, эталонная реализация, Дафна, пиздец какая тупая и медленная. А uvicorn сыроват.
Аноним 20/11/19 Срд 23:48:26 1525718192
Что вы можете сказать про вот эту https://novosibirsk.hh.ru/vacancy/34152007 вакансию? Я просто не очень понимаю, чего они хотят, эту вакансию они на хх обновляют уже месяца 4, нахуя им там столько джунов? Если это пистон, но не веб, то какие-то нейронки@машоб, почему они тогда напрямую не пишут, что ждут знаний из той сферы?
Аноним 20/11/19 Срд 23:50:55 1525720193
Есть написанный с применением aiohttp сервер, который слушает подключения с определенного порта,

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

как можно проверить выполняется ли это условие?
Как можно подключиться 3мя или 4мя пользователями?
Аноним 20/11/19 Срд 23:54:15 1525721194
Посоветуйте материалов что б норм въехать в такие продвинутые темы как:
multiprocessing,
multithreading,
асинхронность

Я так понимаю, что принципы всего этого одинаковы во всех языках, есть лишь ньюансы реализации на определенных технологиях
и норм разработчик, который держит руку на пульсе технологий,
должен все это знать
Аноним 21/11/19 Чтв 00:07:46 1525727195
>>1525721
Для обхода GIL'a используешь мультипроцессинг, для IO трединг или асинк. В 3.9 для обхода GIL'a еще subinterpreters будут, оверхед от них меньше чем от мультипроцессинга.
Аноним 21/11/19 Чтв 00:29:05 1525728196
>>1525720
Открыть три консольных терминала и в каждом по телнету какому-нибудь подключиться?
Аноним 21/11/19 Чтв 02:26:38 1525757197
>>1523419
А где ты сервер под питонохостинг взял? (Халява есть?)
>>1524749
Что-то типа:
import re
re.findall(r'\d+|[a-z]+|=|-','12qw3vk4=-gjk')
# ['12', 'qw', '3', 'vk', '4', '=', '-', 'gjk']
Аноним 21/11/19 Чтв 11:23:35 1525830198
Хочу запарсить css с сайтов.
Через asyncio + aiohttp получаю контент сайтов и ищу ссылки на css, но что делать потом?
Если запустить сразу так:
for future in asyncio.as_completed(urls):
_css_links = await future
...
_for css_future in asyncio.as_completed(css_links):
___info = await css_future

такое ощущение, что второй as_completed блочит первый
Аноним 21/11/19 Чтв 13:52:24 1525898199
Кстати о серверах
Оракл сейчас все ещё раздает свои продукты бесплатно "на попробовать", а некоторые затем остаются бесплатными навсегда.
Среди вкусного для веб-макаки:
2 впс с 1гиг рама и 2 ядрами, вроде 40 или 50гигов диска
Из менее интересного:
БД оракловая и хранилище данных
Аноним 21/11/19 Чтв 16:20:49 1526043200
>>1525570
Так а тебя каким боком касается то, что анон скинул и интересные задачи реш]нные пистоном?
Я думал ты хочешь свое что-то запилить.
Аноним 21/11/19 Чтв 16:32:21 1526051201
Вопрос касательно pytest и xdist.
Есть куча тестов типа: сначала селениум тычет по вебформам, закрывает браузер, потом 10 минут пинает вебапи, получает ответ или отваливается по таймауту.

Можно ли xdist как-то сообщить, что, мол, с этого момента можно запускать следующий тест из очереди?
Аноним 21/11/19 Чтв 17:03:29 1526059202
Очень не нравится отделение блоков пробелами и табуляцией вместо фигурных скобок.
Есть ли какое-то расширение или форк где можно писать с другим синтаксисом?
мимо люблю фигурные скобки и ;
Аноним 21/11/19 Чтв 17:03:55 1526060203
>>1525898
В AWS вроде до сих пор бесплатный впс на год есть. Но там все равно условия анальные и надо кредитку привязывать. Ну, раньше было так.
Аноним 21/11/19 Чтв 17:04:46 1526063204
>>1526059
Пиши свою нечитаемую кашу из спецсимволов на перле, говноежка, и не лезь в человеческие языки.
Аноним 21/11/19 Чтв 17:10:37 1526070205
Антоши, я тупой

почему это работает?
def modify_list(l):
l[:] = [d // 2 for d in l if d % 2 == 0]
return l

А это нет
def modify_list(l):
l = [d // 2 for d in l if d % 2 == 0]
return l

Что это за конструкция?
Аноним 21/11/19 Чтв 17:10:38 1526071206
>>1526063
с этими отступами не так удобно гонять блоки по степени "вложенности". вместо перестановки скобок приходится гонять каждую строчку. да, можно функцией это ограничить, но не всегда.
причем тут перл и спецсимволы?
только { } нужны. ; он понимает, остальное и так не сильно отличается от других языков.
Аноним 21/11/19 Чтв 17:12:10 1526075207
>>1526059
Наверняка есть специальные препроцессоры для этого, которые конвертируют фигурные скобки (ну или begin/end) в двоеточия и отступы. Но я о таких знаю мало, да и проблем от них много: иде такой синтаксис не парсят + препроцессор нужно тащить везде вместе с системой сборки..
Аноним 21/11/19 Чтв 17:15:53 1526079208
>>1526070

Почему он не присваивает l, а присваивает l[:]
Аноним 21/11/19 Чтв 17:17:14 1526080209
>>1526071
Более того, из-за отступов вместо фигурных скобок код на питоне нельзя минифицировать и встроить, как жс в браузере, но кому это нужно?.
Аноним 21/11/19 Чтв 17:30:21 1526088210
>>1526080
Что-то мне кажется, что можно и отступы нормально минифицировать
Аноним 21/11/19 Чтв 18:02:01 1526112211
>>1526071
>приходится гонять каждую строчку.
Ты чо ебан? Редактор или ИДЕ нормальный поставь.
Аноним 21/11/19 Чтв 18:05:08 1526117212
>>1526080
А, понятно, жсдаун не хочет переучиваться и подтягивает свои дурные привычки. Код ему минифицировать, охуеть. В байткод собери лучше.
Аноним 21/11/19 Чтв 18:09:42 1526123213
>>1526117
И поэтому вместо того, чтобы бороться с жсом и сделать для него хоть какую-то альтернативу, ты предлагаешь передавать байт-код на клиент? Охуенное решение.
Аноним 21/11/19 Чтв 18:11:49 1526126214
>>1526123
>бороться с жсом и сделать для него хоть какую-то альтернативу
WASM. Ты просто отсталая обезьянка.
Аноним 21/11/19 Чтв 18:15:20 1526128215
Аноним 21/11/19 Чтв 18:18:40 1526131216
>>1526126
> wasm
Как там в 2025, сверхбыстрая обезьянка? Доступ к DOM уже реализовали?
Аноним 21/11/19 Чтв 18:28:55 1526138217
Аноним 21/11/19 Чтв 18:29:40 1526139218
>>1526128
Интересный проект.
Жалко только, что нет нигде нативной поддержки питона, а то тут оверхед на трансляцию в JS.
Аноним 21/11/19 Чтв 18:34:20 1526143219
image.png (13Кб, 217x194)
217x194
Аноним 22/11/19 Птн 00:27:02 1526342220
>>1526070
Переменные в питоне хранят адреса на какие-то объекты.

Когда ты пишешь
l = xxx
ты записываешь в переменную l адрес объекта xxx, после присвоения там будет уже новый объект с новым адресом.

А вот когда ты пишешь
l[:]
то происходит операция изменения списка, элементы списка при этом перезаписываются. Может диапазон указать, в данном случае по-умолчанию значения, от самого первого элемента до последнего. При этом сам объект-список остаётся прежним.
Аноним 22/11/19 Птн 00:37:14 1526347221
Какие знания нужны чтобы вкатиться на джуниора?
Мимо сейчас говнокодю на с#(в основном aspnet mvc) в говноконторе, по случайности начав срочно править баги в проектах, когда предыдщий девелопер оттуда нахуй съебался. В шарпе и 10% возможностей языка не использую, кодревью нет, поэтому всем похуй что там в коде, лишь бы быстрее в продакшн и как-то работало. На питоне писал скрипты какие-то для себя, чтобы автоматизировать рутинные вещи, и планирую в скором времени написать pet project на flask vue.
Аноним 22/11/19 Птн 01:20:18 1526361222
>>1526347
1) Открываешь ХХ.
2) Выбираешь свой город.
3) В строке поиска пишешь "Junior Python Developer".
4) Смотришь.
5) ???
6) Ты восхитителен.
Аноним 22/11/19 Птн 08:45:57 1526440223
image.png (12Кб, 140x86)
140x86
Вопрос по pycharm, почему если я делаю имя файла из <= 2 символов, то pycharm перестает считать этот файл, файлом питона и импорт не работает.
Аноним 22/11/19 Птн 10:42:54 1526498224
Помогите решить, все остальные вопросы теста
сдал правильно, один этот не дается. То что 4ый вариант надо выбрать это понятно, но какие остальные - хз. Сколько гуглил и читал, не помогло


Выделить истинные выражения:

1) GIL замедляет выполнение главного потока управления в Python3, даже если нет других потоков

2) GIL никак не влияет на выполнение отдельных процессов на Python3

3) GIL запрещает одновременное выполнение инструкций байткода в разных потоках

4) GIL нужен для защиты памяти интерпретатора от разрушений
Аноним 22/11/19 Птн 10:51:35 1526513225
>>1526498
Фух, с 100101010100 попытки ответил 2 3 4 и победил.

Кстати, насколько вообще современному джуну нужно знать про тот же GIL и блокировки? Нужно ли углубляться в эту тему?
Аноним 22/11/19 Птн 11:26:25 1526551226
Аноним 22/11/19 Птн 12:26:21 1526614227
>>1526513
Знать и понимать нужно.
Аноним 22/11/19 Птн 12:47:30 1526631228
так, аноны, создал бложик по данному видосику вот демка https://www.youtube.com/watch?v=T0Xi8gWDrQ0&list=PLlWXhlUMyooaDkd39pknA1-Olj54HtpjX в связи с этим задам платиновый вопрос: что стоит сюда еще прикрутить чтобы портфолио сделать максимально уникальным+изучить что то новое?
Аноним 22/11/19 Птн 13:08:31 1526649229
Аноним 22/11/19 Птн 14:17:44 1526699230
Аноним 22/11/19 Птн 14:35:43 1526721231
А по каким причинам для бэкенда выбирают питон? Почему не джаву? Почему не похапэ, наконец?
Аноним 22/11/19 Птн 14:42:15 1526728232
>>1526721
Питон намного приятнее PHP и намного проще джавы.
Аноним 22/11/19 Птн 14:45:08 1526733233
>>1525898
Так я не понял по их описанию, там нормально можно сайты держать? А если онлайн игры с небольшим трафиком?
мимо нюфаня
Аноним 22/11/19 Птн 15:01:37 1526750234
>>1526733
Более чем.
На один сервак веб-снрвисы на второй сервак БД и всё збс.
Аноним 22/11/19 Птн 15:41:14 1526785235
>>1526750
И как долго этими «пробными» серверами можно пользоваться?
Аноним 22/11/19 Птн 16:16:09 1526813236
>>1526785
Сколько хочешь. Мне вот больше интересно, надо ли там при регистрации паспортные данные расписывать, или можно написать фигни
Аноним 22/11/19 Птн 16:42:41 1526838237
>>1526440
В чем проблема делать названия по три символа?
Аноним 22/11/19 Птн 17:13:11 1526860238
>>1526361
А что обычно отноcиться к "Базовые навыки Python"?
Может они рассчитывают что инстаграм новый напишу.
Аноним 22/11/19 Птн 17:22:20 1526865239
>>1526860
>А что обычно отноcиться к "Базовые навыки Python"?
Хеллоуворлд
Аноним 22/11/19 Птн 18:21:21 1526900240
>>1526813
>Для успешной регистрации вам потребуется номер телефона и действующая банковская карта, с которой будет списан и сразу возвращен 1$ или 1€, если нужной суммы на карте не окажется, то регистрация будет невозможна. Виртуальные карты не принимаются, во всяком случае у нас не получилось зарегистрироваться, используя виртуальные карты ЯндексДеньги и Киви.
А нахуя они это делают? Надеются, что я за этот прогиб с нагибанием у них когда-нибудь что-нибудь куплю? Наивные.
Аноним 22/11/19 Птн 18:23:27 1526903241
>>1526838
Только конченные уроды будут ограничивать пользователей в количествах символов в названиях. Это всё равно как если бы ты захотел зарегистрировать ИП, а тебе в налоговой сказали бы, что твоё имя, скажем, Иван, слишком короткое, и в чём проблема сменить его на имя хотя бы из семи букв. К счастью, даже налоговая до такого маразма не додумалась, до которого додумываются некоторые кодовысиратели.
Аноним 22/11/19 Птн 18:28:07 1526905242
>>1526900
Может не хотят, чтобы ты насоздовал 28 аккаунтов там?
Аноним 22/11/19 Птн 18:28:56 1526906243
>>1526440
Ты просто тупой. Там нет никаких ограничений. Подсказка: НАСТРОЙКИ СУКА ОТКРОЙ. А с того как ты начал аналогии приводить, вместо поиска решения проблемы - я вообще в осадок выпал. Учись гуглить.
Аноним 22/11/19 Птн 18:40:57 1526915244
>>1526903
Да я прекрасно понимаю твоё негодование. Надо ж было ответить хоть что-то. Мне только пару раз за весь практикум надо было создать скрипт с коротким именем <=2 символа.
Аноним 22/11/19 Птн 18:42:07 1526916245
>>1526906
Это я аналогии приводил. У меня нет pycharm, но с подобной фигнёй я сталкивался много раз.
Аноним 22/11/19 Птн 18:50:10 1526920246
>>1526900
Это тебя верифицируют, защита против злонамеренного использования их сервисов, что ты там какие-нибудь узлы ТОР, какие-то промежуточные прокси или что-нибудь подобное открывать не будешь.
Аноним 22/11/19 Птн 19:08:55 1526937247
Как в питоне решается проблема с одинаковыми названиями библиотек?
Аноним 22/11/19 Птн 19:29:11 1526969248
>>1526937
Проблема редкая, но решение напрашивается следующее:
Копируешь одну или обе сторонние либы в папку /libs/, одну из них переименовываешь из zalupa в zalupa2, готово!
В кода пишешь
from zalupa import Zalupa
from zalupa2 import Zalupa as Zalupa2
(Предполагая что в PYTHONPATH у тебя прописан путь до папке libs + либы имеют классы с одинаковыми названиями)
Аноним 22/11/19 Птн 20:37:05 1527071249
>>1526361
7) Смотришь требования в вакансии, которые 20-летняя хрюша написала правой ногой.
Аноним 22/11/19 Птн 21:13:17 1527092250
image.png (44Кб, 1547x329)
1547x329
Сап, в чем проблема? Только начинаю учить MySQL и не понимаю что тут не так с синтаксисом
Аноним 22/11/19 Птн 21:17:06 1527094251
>>1526903
>ограничивать пользователей
Если тебе Папа сказал что нужно так значит делай так ёпт. Дуру не гони
Аноним 22/11/19 Птн 21:18:11 1527095252
>>1527094
Для тебя любой, кто тебе что-то запрещает, автоматически становится Папой?
Аноним 22/11/19 Птн 21:18:37 1527096253
>>1526361
окей, а что делать мне если есть знания на джуна чекнул щас вакансии в дс, но в моем зажопье одни мидлы и сеньоры нужны? за 4 месяца поисков так и не встретил ни разу вакансии тупо на джуна про различные специализации я вообще молчу
Аноним 22/11/19 Птн 21:20:09 1527097254
>>1527092
Зачем ты пишешь идентификаторы в одинарных кавычках, будто это строки? Пиши без них:
create table publisher (
publisher_id ...
);
Аноним 22/11/19 Птн 21:25:50 1527100255
image.png (222Кб, 1147x388)
1147x388
>>1527097
Смотрел видос чела, он указывал их, вот я и подумал.
Почему так?

А так да, спасибо, без кавычек заработало
22/11/19 Птн 21:31:18 1527103256
>>1521391 (OP)
Если не могу написать спираль при помощи черепашки, знания в геометрии нулевые, дальше нет смысла учить питон? Сконцентрироваться на школьной математике?
Аноним 22/11/19 Птн 21:40:11 1527112257
>>1527100
Это не ', а ` (та, которая на букве ё). Иногда этот символ ставят вокруг идентификаторов, чтобы MySQL воспринимал идентификаторы именно как идентификаторы, а не совпавшие с ними ключевые слова, несколько слов через пробел и т. д.. Обычно это излишне. В других СУБД может быть двойная кавычка (") или ещё что-то.
Аноним 22/11/19 Птн 21:49:38 1527120258
>>1527100
Купил курс или на курсере по программе фин помощи?
Аноним 22/11/19 Птн 21:55:46 1527123259
thumbs-up.jpg (67Кб, 884x800)
884x800
Аноним 22/11/19 Птн 22:26:16 1527133260
>>1527103
Не нужны там никакие знания геометрии, просто научись загугленные математические выкладки переводить в код.
Аноним 22/11/19 Птн 22:28:33 1527134261
>>1527120
Собрал деньги через смс от зрителей первого канала, по программе помощи детям-инвалидам.
Аноним 22/11/19 Птн 22:28:48 1527135262
>>1527133
А вот с n угольной звездой нужна школьная геометрия и тригонометрия, ну если будешь реально для всех n делать. Если не можешь пропускай, задания интересные, но для вкатывающейся макаки не важные.
Аноним 22/11/19 Птн 23:44:21 1527178263
>>1527112
Тупанул, спасибо

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

Если есть годные источники по SQL - можете скинуть, почитаю.
Аноним 22/11/19 Птн 23:51:41 1527182264
>>1527133
>>1527135
Спасибо за ответы. Теперь голову ломать над переводом формул
Аноним 22/11/19 Птн 23:53:47 1527185265
>>1527182
>переводом формул
Напиши скрипт чтобы он тебе формулы в код переводил.
Аноним 23/11/19 Суб 00:17:52 1527198266
lrg.jpg (125Кб, 500x656)
500x656
>>1527178
Коротко (страниц 300) , но все основное охватывает. Как раз по MySQL
Аноним 23/11/19 Суб 01:09:54 1527228267
>>1526043
Я хотел слезть с богомерзкого Матлаба и Пиструн смотрелся хорошей альтернативой. В общем то, он ей и является, если тебе ничего кроме работы с матрицами и не надо. Но вот в остальном - как-то он проигрывает. Из-за этого мотивации что-то на нем делать нет. Вот я и попросил накидать чего-нибудь интересного, чтоб воспрянуть духом.
Аноним 23/11/19 Суб 01:11:01 1527229268
>>1527228
>в остальном
В чем бля?..
У него слабее только визуализация
Аноним 23/11/19 Суб 02:06:43 1527241269
>>1527229
>В чем бля?..
Напиши на нем какую-нибудь нестандартную реализацию конечно-разностного метода, например. А как у него с интегрированием уравнений движения? Ну и что синьор Пиструн может предложить для многопоточный вычислений?
Аноним 23/11/19 Суб 02:12:38 1527243270
>>1527241
>нестандартную реализацию конечно-разностного метода
Задротское мурло меня не колышит. Вероятно есть способы, но я не вникал, ибо не было нужды

>интегрированием уравнений движения
scipy и sympy тебе в помощь

> для многопоточный вычислений
1. Интерпретатор PyPy
2. Внезапно numpy и tensorflow пиздато справляются с матричным счетом и без многопоточности
3. если в лоб - multiprocessing
Аноним 23/11/19 Суб 02:20:06 1527244271
sobak.jpg (149Кб, 1200x640)
1200x640
>>1527243
Ну, собственно, по твоему ответу и видна целевая аудитория Python - люди, использующие типовые решения.
Аноним 23/11/19 Суб 02:34:38 1527246272
>>1526906
Я вчера настройки лазил, но сука до чего же они объемные, хрен что найдешь, ну или я тупой.
Аноним 23/11/19 Суб 06:02:05 1527278273
Аноним 23/11/19 Суб 11:27:29 1527376274
Снимок экрана 2[...].png (31Кб, 486x367)
486x367
Снимок экрана 2[...].png (12Кб, 355x112)
355x112
Добрые люди, помогите пожалуйста. Пытаюсь начать программировать и вот даже эта простая программа нихуя не хочет работать в vscode. Пишет какую-то ошибку, при этом если открыть файл в консоли, то всё норм будет. Почему так?
Аноним 23/11/19 Суб 11:36:03 1527385275
>>1527376
пиздец я конч, нашел решение проблемы.
короче я запускал в vscode только выбранную строчку, а не файл. вот так вот.
с этим я разбирался час
Аноним 23/11/19 Суб 11:55:27 1527392276
>>1527385
Таж хуйня сегодня, по туториалу делал проект, дк час бился над ошибкой, из-за того что в одном файле забыл одну маленькую строчку.
Аноним 23/11/19 Суб 12:24:45 1527409277
>>1527392
Да ваще пиздец. Ещё хуйня, когда несколько часов ищешь ошибку в функции, которую забыл вызвать. В такие моменты чувствуешь, будто IQ равен возрасту.
Аноним 23/11/19 Суб 12:35:07 1527416278
>>1521391 (OP)
Как спарсить данные с этого сайта? https://arizona-rp.com/mon/fraction/2/15

Через что? Используя просто BS получаю:
<strong>
Please turn JavaScript on and reload the page.
/strong>

Как я понял, нужно что то с поддержкой JS
Аноним 23/11/19 Суб 12:44:27 1527428279
Аноним 23/11/19 Суб 13:11:50 1527464280
Подскажите как поменять во всем файле пробелы в начале строк на табы, в Pycharm
Аноним 23/11/19 Суб 13:36:45 1527510281
>>1527464
Зачем? Пробелы лучше.
Аноним 23/11/19 Суб 14:33:07 1527574282
>>1527510
Ну да, погуглил, подавляющее большинство использует пробелы. А я просто учился и мне удобнее было на таб тыкать, буду переучиваться.

Тогда как все табы на пробелы поменять?)
Аноним 23/11/19 Суб 14:46:52 1527589283
>>1527574
Пайчарм тебе автоматом вместо табов пробелы ставит, но если ты импортируешь, то у пайчарма есть функция reformat code, она тебе их заменит.
Аноним 23/11/19 Суб 15:15:48 1527614284
>>1527574
Тыкай таб и дальше. Туда пробелы вставятся. Дефолтные настройки пичарма вроде именно такие.
Аноним 23/11/19 Суб 16:48:46 1527702285
Чем обусловлены такие вещи как две рекомендованных пустых строки после импорта или пустая строка в конце файла? (по крайней мере пишарп вечно предлагает это исправить). Принятые нормы читабельности кода?
Аноним 23/11/19 Суб 16:49:42 1527704286
>>1527510
Алсо, поясните, почему пробелы лучше табов?
Аноним 23/11/19 Суб 17:00:17 1527711287
Питонисты, почему я не могу просто взять и стереть с операционной системы ЛЮБОЙ файл посредством Питона? Неужели Питон не всемогущий? Почему он оглядывается на какие-то там permissions файла. Я приказываю - УДАЛИ, и он удаляет! Что может быть проще. Неужели это невозможно?
Аноним 23/11/19 Суб 17:03:25 1527715288
>>1527711
Потому что он не дает выстрелить себе в ногу очередному хацкеру?
Аноним 23/11/19 Суб 17:07:22 1527721289
>>1527704
Табуляция - это спецсимвол, и параметры его отображения зависят от настроек редактора.
Аноним 23/11/19 Суб 17:10:15 1527726290
Аноним 23/11/19 Суб 17:14:38 1527731291
>>1527721
И в чем проблема что каждый настроит ширину табов как ему удобнее? Не будет срача табы/4 пробела/2 пробела/3 пробела.
Аноним 23/11/19 Суб 17:24:34 1527745292
>>1527715
Ок , есть какие-то варианты исхитриться таки сделать это?
Аноним 23/11/19 Суб 17:35:01 1527772293
>>1527246
В настройках для этого поиск существует.
Аноним 23/11/19 Суб 17:35:56 1527773294
>>1527772
Я знаю, я пытался в него и проиграл.
Аноним 23/11/19 Суб 17:40:59 1527783295
>>1527096
Либо перекатывайся, либо бери другой язык/другое направление/другую специальность.
Либо ничего не делай. Авось работа и появится (но это прямо очень не точно)
я так в тестирование ушёл кстати. Питон для своих задач юзаю и для проектов в универе, но в работе вообще нахуй не нужен.
Аноним 23/11/19 Суб 17:57:30 1527798296
>>1521391 (OP)
Есть кто деплоил на heroku?
Помогите бляять, я уже просто умираю, ничего не получается

Мои действия:

1) Создал проект, там мой файл name.py и chromedriver.exe
2) Через терминал в pycharm ввел heroku login, залогинился
3) Ввел git init, создал
4) heroku git:remote -a vk-ghetto-bot
git add .
git commit -am "make it better"
git push heroku master

Пуш идет и выдает ошибку:
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to

ничего не помогает, просто пиздец, хз что с этим делать
Аноним 23/11/19 Суб 18:25:19 1527812297
>>1527702
Если не ошибаюсь PEP8 надо почитать
Аноним 23/11/19 Суб 18:34:50 1527820298
F.png (3Кб, 130x165)
130x165
>>1527798
И да, в гит bash почему то после heroku login перестают работать команды, просто нихуя не работает что бы я не вводил

Хз что это за хуйня
Аноним 23/11/19 Суб 21:00:09 1527948299
>>1527702
> две рекомендованных пустых строки после импорта
Просто часть стиля, якобы лучше читается.

> пустая строка в конце файла
А это издревле принято в unix-like, где считается, что в текстовых файлах каждая строка должна заканчиваться переводом строки, и последняя тоже, если непустая.
Аноним 23/11/19 Суб 22:07:55 1528003300
>>1527783
А удаленной фриланс работы не найти по Питоше? А если свой проект мутить? (Только я не знаю какой, сам недавно вкатился)

Типа сделать какой-то супер сайт сервис нужный всем и заработать мильёны.
Аноним 23/11/19 Суб 22:53:31 1528031301
>>1527711
Ты сейчас про линукс? Ну мне с дивана думается что по сути удаление мышкой в корзину или удаление через терминал есть один и тот же процесс в коде, просто в одном случае визуализированный а в другом нет. И там и там нужны sudo привелегии. Python просто инструмент который сделает тот же самый код и естественно нужно будет передать sudo пароль. Python сам ниче не удаляет а лишь обращается к написанной функции удаления черещ код.
Аноним 23/11/19 Суб 23:19:38 1528048302
>>1527711
Ты что-то не так делаешь. Сейчас создал скриптом файлы со всеми возможными разрешениями, затем попробовал удалить через os.unlink(), питон молча удалил всё.
Аноним 24/11/19 Вск 01:34:20 1528126303
>>1528003
Да флаг в руки собственно. Но джуна на удалёнку не возьмут, а в фрилансе большая конкуренция. Просто никто не даст тебе проект. Но попробовать всегда можно, было бы желание.
Аноним 24/11/19 Вск 02:24:03 1528145304
IMG201911240219[...].jpg (57Кб, 662x960)
662x960
>>1528003
Идея насчёт своего сайта/сервиса очень годная, осталось найти тему.
Фейкопочту оставь.
На фрилансе работу так же реально найти, но тут придется постараться и гарантий нет.
Аноним 24/11/19 Вск 02:27:37 1528150305
>>1528145
>Идея насчёт своего сайта/сервиса очень годная, осталось найти тему.
Пишешь свою имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников и сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
Аноним 24/11/19 Вск 10:08:21 1528240306
Аноним 24/11/19 Вск 10:15:07 1528244307
>>1528048
А в Windows удалит, например, открытый в какой-то программе файл? Или системный файл?
Аноним 24/11/19 Вск 10:39:28 1528250308
>>1521391 (OP)
Как лучше всего обработать если допустим идут запросы от пользователя и там может быть цифра от 1 до 10.

И
if x == 1:
y = 'Name'

Не 10 сравнений же писать
Аноним 24/11/19 Вск 10:42:21 1528251309
>>1528250
db = { 1: '1', 2: '2', 3: '3' и тд}
db.get(x, 'Default Name')
Аноним 24/11/19 Вск 10:56:03 1528253310
>>1528251
Спасибо, сейчас затестирую)
Аноним 24/11/19 Вск 10:56:52 1528254311
>>1528240
На всякий случай уточню, что это паста.
Аноним 24/11/19 Вск 11:37:53 1528266312
>>1528244
Почему у тебя вообще возникают такие вопросы? Ты полез в программирование при условии, что даже не знаешь как работает та или иная ОСь?
Аноним 24/11/19 Вск 16:18:35 1528466313
>>1528266
Я думаю многие не знают, другое дело, что он не разобравшись в вопросе нормально лезет сюда и вопрошает, а хули не работает то, должно же, я сказал.
Аноним 24/11/19 Вск 16:23:15 1528471314
>>1527704
> почему пробелы лучше табов?
Соответствует рекомендациям PEP 8.
Аноним 24/11/19 Вск 16:30:19 1528477315
>>1528251
Добавлю что если такая конструкция будет в лупе то производительности настанет пиздос. Создание словаря надо выносить. А то я уже видел такой кусок кода, словарь пересоздается сто тыщ раз ради нихуя, просто заменили им портянку ифов и не подумали.
Аноним 24/11/19 Вск 16:39:02 1528489316
Добрый день. Есть вопрос: для изучения принципов многопоточного программирования достаточно будет примеров на питоне, или же мне стоит изучить с/c++ и рассматривать это все там?
Аноним 24/11/19 Вск 16:44:55 1528494317
Аноним 24/11/19 Вск 17:00:02 1528505318
>>1528494
После питона без другого бэкграунда го зайдет?
Аноним 24/11/19 Вск 17:15:26 1528516319
>>1528489
Собрался учить другой язык, просто чтобы потыкать потоки?

Достаточно ли, зависит от целей. Если разобраться в теории, то хватит. Но имей в виду, что в CPython прироста в скорости от распараллеливания потоков не будет.
Аноним 24/11/19 Вск 17:19:59 1528523320
>>1528505
Зайдёт, но в го потоки (горутины) очень специфичные, такое больше нигде не увидишь. Соответственно, знание горутин поможет только в го.
Аноним 24/11/19 Вск 17:30:17 1528540321
>>1528516
да, мне для того, чтобы разобраться. читаю ос таненбаума и есть желание попробовать на практике
Аноним 24/11/19 Вск 17:42:22 1528561322
>>1528540
Если ОС, придётся учить C/C++, без вариантов.
Аноним 24/11/19 Вск 17:55:21 1528576323
image.png (131Кб, 1920x1080)
1920x1080
Может кто занимался, но нужна весьма не сложная помощь.
Пытаюсь залогинится в вк, но он мне обратно кучу хуйни отправляет с ошибками. Порылся в доках апи вк, но там обратно отправляется юрл капчи и идентификатор
https://vk.com/dev/captcha_error
Помогите ньюфагу
Аноним 24/11/19 Вск 18:04:16 1528589324
Аноним 24/11/19 Вск 18:08:24 1528597325
>>1528576
> CONSTAS
CONSTANTS

> vk_api.VkApi('LOGIN', 'PASSWORD')
vk_api.VkApi(LOGIN, PASSWORD)

> Eclipse
Pycharm
Аноним 24/11/19 Вск 18:12:22 1528599326
Аноним 24/11/19 Вск 18:14:54 1528602327
>>1528523
>но в го потоки (горутины) очень специфичные, такое больше нигде не увидишь
Вронг. Субинтерпретатры питона делаются именно с оглядкой на горутины.
Аноним 24/11/19 Вск 18:39:48 1528627328
>>1528597
>CONSTANTS
это ж вроде прост названия файликов, я головой по клавиатуре провел.
>Pycharm
Разглядел у них на сайте либо фри версии, либо триал ПРО. Но поймите меня правильно я из россии, денег нет, а обрезанным продуктом пользоваться не хочется. хотя я может чего-то не знаю

>>1528589
Я уже пытался гуглить, но конкретно здесь чуваки пишут об обходе появлении капчи, но я полагаю что бы произвести авторизацию она так или иначе нужна
Аноним 24/11/19 Вск 19:24:37 1528667329
>>1528627
Купи проху на торрентах.
Аноним 24/11/19 Вск 19:26:59 1528669330
>>1528667
>>1528627
У прохи есть триал который можно сбрасывать бесконечно.
Аноним 24/11/19 Вск 19:27:20 1528670331
Аноним 24/11/19 Вск 19:29:54 1528671332
>>1528669
>можно сбрасывать бесконечно
поподробнее

>>1528670
У него интерфейс страшноватый
Аноним 24/11/19 Вск 19:31:53 1528673333
image.png (58Кб, 957x386)
957x386
>>1528627
Для тебя так критично на начальном уровне отсутствие платных фишек?
Аноним 24/11/19 Вск 19:40:47 1528693334
>>1528671
>поподробнее
В гугле расскажут, я уже не помню конкретно, давно на VSCode перешел. На лине там два файлика в хоумдиректории удалить надо было.
Аноним 24/11/19 Вск 19:44:19 1528698335
Аноним 24/11/19 Вск 20:11:22 1528730336
>>1528471
Зачем врешь? В пеп8 прямо не указано что лучше а что хуже.
Аноним 24/11/19 Вск 20:18:21 1528735337
.png (18Кб, 743x177)
743x177
Аноним 24/11/19 Вск 21:26:14 1528772338
>>1528673
В чем заключается поддержка джанго? Автодополнение и рефакторинг заработают в темплейтах?
Аноним 24/11/19 Вск 21:50:58 1528794339
>>1528627
>>1528671
>обрезанным продуктом пользоваться не хочется
>у VSCode интерфейс страшноватый
Типичный вкатыш.
Аноним 24/11/19 Вск 22:05:35 1528812340
858ed7c999a21b1[...].jpg (94Кб, 600x800)
600x800
Аноны, решил вкатиться в одноглазую змею с крестов, подскажите чо лучше из сред разработки: VSCode (рекомендуют в thecode.media от Яндекса) или PyCharm (рекомендуют в гайде из шапки)?
Аноним 24/11/19 Вск 22:16:14 1528822341
>>1528812
Это ты из каких крестов выкатываешься, если даже иде выбрать себе не можешь?
Аноним 24/11/19 Вск 22:21:32 1528827342
>>1528822
из тех, которые были в универе))0)
мой максимум написать костыльную йобу на 200-300 строк для курсача, можно сказать начинаю с 0
Аноним 24/11/19 Вск 22:39:07 1528835343
>>1528812
sublime text
можно интегрировать IDE. Ахеренно удобно
всякие там IDE для слабаков. Пишешь по харду код и запускаешь. Учишься анализировать код сам и не допускать ошибок
Аноним 24/11/19 Вск 22:46:05 1528839344
>>1527783
ну вот видимо так и сделаю. других вариантов не остается. буду учить пыху. спасибо, анон
>>1524240 - кун
Аноним 25/11/19 Пнд 08:34:38 1528992345
>>1528835
>всякие там IDE для слабаков
Для маленьких проектов соглашусь. А на больших ты можешь заебаться с рефакторингом, в то время как пичарм позволяет вынести класс в отдельный файл и переименовать метод в один клик и выстрелить тебе в ногу из дробовика, если ты в моделях джанго определял внешние ключи строками, а не ссылками на объекты.
Аноним 25/11/19 Пнд 13:02:51 1529084346
00:37:20.196.Mr[...].jpg (120Кб, 1920x1080)
1920x1080
Поясните за код. Норм?
Аноним 25/11/19 Пнд 13:12:39 1529097347
>>1529084
Младой человек, мы тут хакеров не держим.
Аноним 25/11/19 Пнд 13:33:18 1529108348
>>1527711
>Я приказываю
Ишь ты! Больно поверил в себя пацанчи
поди подмойса, маня
Аноним 25/11/19 Пнд 14:02:29 1529130349
>>1529084
> os.system("curl...")
Нет, это нихуя не норм. Почитай про requests, что ли.
Аноним 25/11/19 Пнд 14:52:10 1529161350
У меня есть 2 словаря. Мне надо выполнить операцию вроде d1[key] - d2[key], проблема в том что определенного ключа key может не быть в одном или в другом словаре (а может и в обоих), тогда это значение равно 0. Как это реализовать без быдлокодинга?
Аноним 25/11/19 Пнд 15:00:20 1529178351
>>1529161
Ууууу сука тупой????
d1.get('key',0) - d2.get('key',0)
Аноним 25/11/19 Пнд 15:01:04 1529180352
>>1529161
> проблема в том что определенного ключа key может не быть
if d1.get(key, ZaLuPa) != ZaLuPa:
...print("key на месте ебать")
Аноним 25/11/19 Пнд 15:02:12 1529183353
>>1529178
Сука а если у него вариант 0 тоже может быть? Ебаиь у меня на бесплатных курсах за такое убивают нахер
Аноним 25/11/19 Пнд 15:18:45 1529198354
dict.png (22Кб, 1207x153)
1207x153
Аноним 25/11/19 Пнд 15:27:35 1529202355
>>1529161
Как вариант, функцию можно написать:

def dict_diff(d1, d2, key):
....if key in d1 and key in d2:
........return d1[key] - d2[key]
....else:
........return 0

> d1 = {"a": 10, "b": 20}
> d2 = {"a": 5}
> dict_diff(d1, d2, "a")
5
> dict_diff(d1, d2, "b")
0
Аноним 25/11/19 Пнд 15:29:00 1529203356
>>1529161
Без быдлокодинга тебе надо писать свой класс контейнер и переопределять у него метод __sub__
Аноним 25/11/19 Пнд 16:54:11 1529303357
Всем привет
Аноним 25/11/19 Пнд 17:00:06 1529310358
>>1527711
Ни хрена он не должен удалять, если твоя программа не имеет на это прав.
>>1527721
Ну и что? Табулировать намного проще, чем отсчитывать пачки пробелов.
Аноним 25/11/19 Пнд 17:20:24 1529320359
>>1521391 (OP)
Няши, подскажите мне вот чего про регекспы.
Есть входной поток. Есть регекспы, описывающие лексемы во входном потоке.
Мы можем выделить лексему из строки с помощью re.search, ну, например, так:
re.search(s,'word1|word2|word3|word4|word5')
А нет ли способа попутно определить, какая именно из ветвей регулярного выражения найдена во входном потоке?
Аноним 25/11/19 Пнд 18:22:26 1529382360
>>1529320
сделай цикл по списку паттернов и выводи его, если что-то нашло
Аноним 25/11/19 Пнд 18:39:47 1529409361
>>1529320
круглые скобки захватывают все что в них
Аноним 25/11/19 Пнд 18:56:56 1529445362
image.png (36Кб, 457x84)
457x84
>>1529320
Если тебя устроит такое, но вообще тебе похоже нужен другой инструмент, что-нибудь вроде pyparsing.
Аноним 25/11/19 Пнд 19:34:05 1529480363
Аноним 25/11/19 Пнд 19:44:56 1529489364
>>1529320
>А нет ли способа попутно определить, какая именно из ветвей регулярного выражения найдена во входном потоке?
Попутно это прямо в самом регэкспе? Хз, сложновато. Лучше сделать поиск а потом проверить if match.groups("named_gr") == None
Аноним 25/11/19 Пнд 19:58:01 1529495365
>>1529198
>этот однострочник
Ты какой-то ебанутый десу
Аноним 25/11/19 Пнд 20:04:15 1529501366
>>1529495
Ты не видел действительно ебанутых однострочников, поэтому тебе так и кажется.
Аноним 25/11/19 Пнд 20:07:01 1529505367
>>1529501
Видел, и этот однострочник мне тоже не нравится.
Аноним 25/11/19 Пнд 20:08:51 1529506368
>>1529505
Да не, этот в принципе норм, единственное, красивее было бы разбить дикт компрэхэншэн на несколько строк физических, а не логических. Логически это всё равно останется однострочник
Аноним 25/11/19 Пнд 20:11:48 1529509369
image.png (552Кб, 513x526)
513x526
Аноним 25/11/19 Пнд 21:27:36 1529556370
Screenshot from[...].png (3Кб, 485x25)
485x25
Screenshot from[...].png (3Кб, 481x24)
481x24
Screenshot from[...].png (8Кб, 1680x19)
1680x19
Помогите плз с джангой. Пытался создать в приложухе модуль для импорта в views, но при попытке импорта джанга выдает ошибку (модуль использует модели). Пытался фиксить разными способами, но каждый раз просто получал другую ошибку. Может проще забить и засунуть всё в views?
Аноним 25/11/19 Пнд 21:57:08 1529574371
>>1529509
Пост запрос делай с нужными тебе параметрами, в ответ получай, по всей видимости, json с данными
Аноним 25/11/19 Пнд 22:08:45 1529581372
image.png (13Кб, 170x90)
170x90
image.png (8Кб, 170x71)
170x71
>>1529574
куда вводить-то? пытаюсь в питон с офф сайта, а он мне говорит, что я мудак
Аноним 25/11/19 Пнд 22:13:45 1529587373
Аноним 25/11/19 Пнд 22:14:34 1529594374
Аноним 25/11/19 Пнд 22:26:04 1529607375
Ананасы, помогите с джангой. Платина, наверное, не бейте больно, я ее сегодня впервые увидел.
Я хочу передать в метод во вьюхе джанги какой-то параметр, например так

def dummymethod(request,dictionary):
<какая-то хуйня>

dictionary хочу передавать любым образом через urlpatterns, который генерирую из некоторого конфига. Дальше уже внутри метода разбираться, чего куда надо класть.
Как блин это сделать?
Аноним 25/11/19 Пнд 22:29:22 1529611376
>>1529607
urlpatterns = [
path('<dictionary>', views.test),
]
Аноним 25/11/19 Пнд 22:34:08 1529613377
image.png (35Кб, 312x137)
312x137
image.png (100Кб, 757x844)
757x844
>>1529587
да блеа, где эту хуйню всю вводить-то? первый раз вкатился в этот ваш питон и нихуя не ебу, ну рили
где это делать шоб было более-менее удобно? через что вводить команды по гуйду шоб все работало?
Аноним 25/11/19 Пнд 22:35:47 1529614378
>>1529611
Мда, я совсем тупой, не уточнил - передавать данные любым способом, кроме урла.
Аноним 25/11/19 Пнд 22:37:02 1529615379
image.png (9Кб, 254x125)
254x125
Аноним 25/11/19 Пнд 22:37:53 1529616380
Аноним 25/11/19 Пнд 22:40:09 1529618381
>>1529614
Передавай через запрос thinking
Аноним 25/11/19 Пнд 22:53:37 1529623382
Аноним 25/11/19 Пнд 22:55:22 1529627383
>>1529618
Да блин. Что в запросе передать, в данном случае вторично.
То есть я хочу, чтобы у меня за разными урлами стояла одна единая функция,
def dummymethod(request, param)
которая определяла бы, что ей делать, не из того, что в неё юзер засылает, а из некоего конфигурационного файла.
То есть:
- где-то есть конфиг, в котором определены урлы. например, определено два урла:
- в другом месте есть dummymethod, поведение которого определяется из этого конфига и только из него. в идеале, аргументом этого dummymethod выступает нужный кусок этого конфига (скажем, в конфиге прописано: по урлу huinya-malafya отдавать статический файл, а по урлу mokrie_pisechki отдавать вообще текстовую строку из этого конфига)
и все хорошо, кроме одного - я не понимаю, как этот конфиг затолкать в dummymethod

Суть в том, что я хочу написать хуйню для мокапов, поэтому нужно максимум всего засунуть в этот конфиг, а количество методов во views свести к минимуму, желательно вообще к одному. Производительность, количество перечитываний конфига и прочее, соответственно, строго идут лесом.
Аноним 25/11/19 Пнд 23:03:11 1529630384
>>1529627
1. Делаешь один юрл под эту функцию и второй просто для шаблона, в шаблон суешь Ajax запрос на юрл функции. 2. Делаешь конфиг с кортежем из <юрл>: <функция>. 3. Проверяешь есть ли юрл в кортеже.

Надеюсь теперь я тебя понял
Аноним 25/11/19 Пнд 23:11:56 1529638385
>>1529630
Кортеж (словарь)
Чота проебался
Аноним 25/11/19 Пнд 23:17:23 1529640386
image.png (164Кб, 1920x984)
1920x984
image.png (21Кб, 1515x164)
1515x164
>>1529623
уууу блет. он вообще нихуя не ставит блет.
нашел похожий код от автора, запускаю и вот (пик 1). пытаюсь установить второе и пик 2
Аноним 25/11/19 Пнд 23:23:39 1529643387
Аноним 25/11/19 Пнд 23:24:36 1529644388
>>1529643
это в терминале/cmd надо вводить
Аноним 26/11/19 Втр 00:13:03 1529661389
image.png (31Кб, 638x236)
638x236
>>1529644
попробовал - нихуя. мб в этом дело?
Аноним 26/11/19 Втр 00:18:12 1529663390
>>1529661
Чел, открой самый базовый тутор по питону. Вот прямо 0-ой урок какой-нибудь, в котором обычно рассказывают, что нужно сначала установить. Вот его посмотри, а потом уже пытайся что-то запускать и спрашивать тут помощи. Без капли негатива говорю, только искренний совет.
Аноним 26/11/19 Втр 00:28:54 1529668391
>>1529663
Зачем ты с ним разговариваешь? Ты чо ебобо? У него нету цели понимать, разбираться или осиливать, он пришел чтобы ему сделали ПРОСТО РАБОТАЕТ, чтобы он решил свою финансовую хуергу, взял бабла и забыл ваш пиздон навсегда. Нахуй его.
Аноним 26/11/19 Втр 00:42:06 1529675392
изображение.png (62Кб, 653x469)
653x469
>>1529409
Это понятно. Но я имел в виду получение номера ветви, а не содержимого лексемы.
>>1529445
>пик
О, я вот чего нашёл:
>>> re.search(r'(abc)|(xyz)','abc').lastindex
1
>>> re.search(r'(abc)|(xyz)','xyz').lastindex
2

>pyparsing
Жутковатая вещь. Нет, ну правда, это же ужас. Бэкус вместе с Науэром наверное в гробах переворачиваются.
Глянул ещё ply - он покрасивее.
А вот в ply.py я заглянул... Вообще то, что надо.
>>1529382
Внезапно, в ply.py так и сделано. Видимо, это и правда лучший способ.
Аноним 26/11/19 Втр 00:48:14 1529678393
>>1529668
диплом по социологии пишу и подумалось, что это может быть интересно, учитывая что тут нынче только опросные методы. и да, мне нужно чтобы работало, ибо это небольшой, но важный кусок работы.

>>1529663
ладн, спасибо. хотелось обойтись малой кровью
Аноним 26/11/19 Втр 00:53:58 1529681394
>>1529668
От тебя убудет, что ли, если кто-то ему подскажет?
Вот когда-то, помню, на любой вопрос в сети можно было получить пачку исходников в uue почтой, вытягивать их модемом 2400, разбираться в них, и делать вещи. А потом сеть заполонило псевдоинтеллектуальное быдло и на любой рандомный вопрос всё чаще стали сыпаться ответы «я не собираюсь твою работу делать иди на хуй», даже если ты пилишь какой-то некоммерческий опенсурс или вообще по 14 часов в день работаешь водителем самосвала и просто не можешь по три дня залипать над мануалами, чтобы просто поправить какой-то костыль в чужом коде.
Знаешь, вот, в Китае если ты к какому-то мастеру, к любому, подойдёшь и спросишь, как он это делает, он тебе всё расскажет и покажет. Не будет такого, что тебе ответят «ты дурак, а умный и так знает» или «не скажу, коммерческая тайна».
Поэтому Китай развивается такими темпами, а ты... ну в общем надеюсь ты понял, что я хотел сказать.
Аноним 26/11/19 Втр 02:05:27 1529694395
>>1529627
Возможно тебе надо поковырять декораторы
Аноним 26/11/19 Втр 09:57:53 1529778396
>>1529681
Все хорошо, но вот с Китаем ты явно проебался. Всем известен азиатский принцип обучения. Пять лет спишь на циновки возле лачуги Гуру, еще пять лет повторяешь все свои действия за Гуру, а уж потом, если повезёт, Гуру начнет с тобой разговаривать.
Аноним 26/11/19 Втр 10:42:58 1529802397
>>1529694
Он в установку библиотек не может, а ты предлагаешь ему обертки с замыканиями
Аноним 26/11/19 Втр 13:30:35 1529939398
>>1529778
Ты походу с Индией путаешь, это там гуру
Аноним 26/11/19 Втр 13:40:37 1529944399
222a62914f66d94[...].png (746Кб, 1000x704)
1000x704
3fe5febdc81bfbc[...].png (1235Кб, 1366x768)
1366x768
s1600-w960-296.jpeg (91Кб, 960x720)
960x720
>>1529939
В Индии не нужно дожидаться Гуру, там Гуру тренирует сразу целые деревни, без задней мысли и без очередей. Студенты после одного урока идут писать энтерпрайз за 300кк рупий/сек.
Аноним 26/11/19 Втр 13:56:11 1529952400
giphy.gif (5874Кб, 1280x720)
1280x720
>>1529944
С первого пика проиграл
Аноним 26/11/19 Втр 14:10:17 1529970401
>>1526900
Блядь, а почему код не приходит нихуя? Кто-нибудь на мегафон это регал?
Аноним 26/11/19 Втр 15:54:00 1530062402
Луркал гитхаб, наткнулся на очень интересную репу https://github.com/jackfrued/Python-100-Days

Анон, есть что-то подобное, но на ангельском? Ультимативный гайд, так сказать, или перечень всех тем, что нужно знать.
вы посмотрите, там даже UML есть, охуеть
Аноним 26/11/19 Втр 15:58:42 1530070403
>>1530062
Зачем тебе ультимативные гайды? Беги гайды для ньюфага, вкатишься, сами поймёшь что тебе нужно. А от этих гайдов со списком всех знаний человечества толку нет.
Аноним 26/11/19 Втр 16:00:39 1530072404
>>1530070
Я уже несколько лет лениво бегал по этим гайдам для новичков. Уже пару проектов написал, разной сложности. Все гайды, как правило, кончаются написанием банальной игры на pygame.
Тут же список тем, большинство я знаю. А те, что не знаю, могу с лёгкостью прочитать. Но ебаться каждый раз с гуглопереводчиком не круто.
Аноним 26/11/19 Втр 16:02:54 1530075405
>>1530072
>>1530070
Короче, я на том этапе, когда вся база выдрочена, и нужно дальше двигаться Что учить - джангу, фласк, торнадо?
Аноним 26/11/19 Втр 16:55:49 1530113406
>>1530075
Джангу, фласк и aiohttp. По очереди, начинай с какой хочешь
Аноним 26/11/19 Втр 17:25:21 1530137407
Аноним 26/11/19 Втр 17:33:20 1530144408
>>1521391 (OP)
Tkinter эксперты здесь? Как замутить "дорисовку", а не полноценную анимацию с очищением дисплея?
Конкретная задача: построение графика функции, зависящей от времени. Собственно через time.sleep() делаю эти паузы, потом рисую кусок графика, но оно так не работает. Прога тупо виснет, пока не пройдет весь цикл и только потом - рисует.
Что для 1, что для 50 "фпс" какие-то внутренние еба-оптимизациии ждут весь цикл.
while t <= T_FINAL:
  t += PERIOD
  sleep(PERIOD)

  x2, y2 = d2s(trajectory(t), CANVAS_SIZE)

  canvas.create_line(x1, y1, x2, y2)

  x1, y1 = x2, y2
Аноним 26/11/19 Втр 17:47:50 1530154409
>>1530144
Анон, чому тинкер, а не кьюти?
Аноним 26/11/19 Втр 17:51:43 1530155410
>>1530154
Мне пару лаб сделать и забыть
Аноним 26/11/19 Втр 17:54:33 1530157411
>>1521391 (OP)
Постоянно вижу в треде посты о том что работы кроме ДС в россии для пайтон джунов очень мало

А как с этим в Новосибирске? Реально найти или придется ехать в дс/работать удаленно?

PS На hh вакансий для без опыта мало, да и в реальности думаю все немного отличается от hh
Аноним 26/11/19 Втр 17:57:51 1530163412
>>1530157
https://m.hh.ru/vacancies?text=Python+junior&area=4&st=searchVacancy
Я лично в 2гис отсылал резюме, но мне даже тестовое не прислали. Больше отсылать некуда. Хуй знает, может весной больше будет работы, какие-нибудь новые проекты начнут открывать.
Аноним 26/11/19 Втр 17:58:49 1530164413
>>1530163
Да, именно эту от 2гис видел, подумал что там вообще трейни берут судя по описанию

А что у тебя по уровню? Джун? С опытом?
Аноним 26/11/19 Втр 18:03:20 1530170414
>>1530164
Обычный вкатывальщик без опыта и образования. Хз кого на той вакансии берут, она висит пол года и никакой инфы, что там за работа
Аноним 26/11/19 Втр 18:09:11 1530171415
>>1530170
Похожая ситуация, можешь мне в телегу написать @foolishnesss?
Ну или свой контакт оставь
Аноним 26/11/19 Втр 18:58:26 1530179416
>>1530144
После двух часов ебли с доками понял, что у ткинтера свой менеджмент задержек и последовательности действий: тупо застопить скрипт - бесполезно, нужно использовать метод "after".
Аноним 26/11/19 Втр 20:33:25 1530240417
изображение.png (23Кб, 1604x296)
1604x296
Аноны. В общем задача - нужно узнать температуру ГПУ от нвидия для последующего управления корпусными вентиляторами, но это уже совсем друая история.
Самый простой способ, который для этого нашёл - утилита от нвидии, которая поставляется вместе с драйвером: nvsmi. Утилита консольная, запускается с нужными аргументами, ей задаётся loop и она раз в n-времени выдаёт заправшиваемые параметры. Вот тут начались проблемы:
Программа предполагается с гуи PyQt5, и открытых консольных окон быть не должно. Раньше для запуска консольных команд без открытия окна я использовал os.spawnv с аргументом os.P_NOWAIT или os.P_DETACH, но тут надо как то перехватывать результаты выполнения команды. И как я понял, в данном случае os.spawnv не подходит. Немного погуглив обнаружил другой способ: subprocess.popen запускающий консольную команду с аргументами в отдельном процессе, с возможностью переназначить для процесса stdout, чем я и воспользовался, получая в последствии из stdout данные выводимые запущеной утилиткой кстати предлагаемая в документации попена команда comunicate работает как то жопно, я так нихуя и не понял как.
Проблема в том, что subprocess.popen открвает отдельный процесс в окне командной строки, которого основная гуёвая программа не имеет. И единственным решением, которое я нагуглил, оказалось пикрилейтед - узнать PID открываемого CMD окна и как то хитро его убить (я толком не разобрался - потому как эта задача сильно уходит в дебри от моей основной - знаю только что это частично работает).
Так вот почему это работает частично - теперь при запуске моей программы на секунду появляется окно CMD, потом закрывается и уже начинается ГУИ. В целом, по-моему я понаделал жутких костылей, раздел импорт для казалось бы простенькой программы занимает "пол страницы". Есть ли какие-то более правильные решения, чтобы сделать всё по-людски?
Или возможно есть какой-то более изящный способ получить температуру ГПУ?

Код программы:
https://pastebin.com/40pkPPyQ
Аноним 26/11/19 Втр 20:50:04 1530254418
>>1530240
Сам в прошлом месяце ебался с этими окнами, пол дня убил на это говно.
Если я правильно помню, то в sp.Popen указываешь shell=True, указываешь какой-нибудь stdout в sp.PIPE и все остальное обязательно в sp.DEVNULL.
Я делал в Tkinter и упаковывал с помощью pyinstaller с флагом --windowed. После таких выебонов у меня окон не появлялось.
Аноним 26/11/19 Втр 20:57:47 1530262419
>>1530254
Анон, что-то не соображу, что именно надо в subprocess.DEVNULL?
Аноним 26/11/19 Втр 21:00:49 1530266420
>>1530262
К примеру, ты хочешь что-то вытянуть из stdout, значит ты должен писать
sp.Popen(stdin=sp.DEVNULL, stdout=sp.Pipe, stderr=sp.DEVNULL)
И какие-то там свистопляски с communicate, если не получится - могу завтра глянуть на работе.
Аноним 26/11/19 Втр 21:04:25 1530274421
>>1530266
Анон, спасибо. Сегодня я уже умучился с этим, продолжу разбираться завтра с утра. Но если конечно не сложно будет - попробуй глянуть код - там его в целом не очень много
Аноним 26/11/19 Втр 21:05:19 1530275422
>>1530266
communicate я так и не осилил, почему то так как указанно в примерах он не работает, потому я назначил stdout в переменную и в цикле с sleep начал считывать данные уже из этой переменной
Аноним 26/11/19 Втр 21:53:26 1530317423
>>1530274
>>1530275
Ты и правда намудрил с убийством проца, я, когда выдумывал костыли, убивал через pid и вполне себе успешно.
Аноним 26/11/19 Втр 23:05:47 1530362424
>>1529778
>Всем известен азиатский принцип обучения. Пять лет спишь на циновки возле лачуги Гуру, еще пять лет повторяешь все свои действия за Гуру, а уж потом, если повезёт, Гуру начнет с тобой разговаривать.
Ты разницу между Японией и Китаем понимаешь? Или по-твоему в Азии всё едино, и в Казахстане надо тоже пять лет на циновке спать, чтобы только вопрос задать? Да и в Японии уже давно паровой двигатель изобрели и уже телеграф наверное кое-где появляться начинает. Двадцать первый век всё-таки, а не восемнадцатый.
Аноним 26/11/19 Втр 23:17:34 1530370425
>>1529778
А, я понял. Так ты у нас себя типа гуру возомнил и предполагаешь, что это тебе даёт право относиться к кому-то как к грязи из под ногтей, пока они пять лет не проведут на циновке, ковыряясь в носу в точности так же, как это делает "гуру", и только потом ты перестанешь хамить в ответ на вопросы, которые даже не с тобой обсуждаются?
Аноним 26/11/19 Втр 23:18:50 1530371426
Аноним 27/11/19 Срд 00:37:47 1530411427
OpenCV на питоне

Интересует считыватель qr-кодов. Инициализируем с помощью qrDecoder = cv2.QRCodeDetector(), потом вызываем метод detectAndDecode. У меня в коде последовательно обрабатываются несколько картинок. Для первой работает, для остальных -- нет (т. е. я создал объект декодера и несколько раз вызываю один метод, передавая разные qr-коды). В чём я вру?
Аноним 27/11/19 Срд 02:28:53 1530436428
Хочу сделать ебалу для телеги, которая сохраняет копии сообщений, которые мне прислали и уведомляет меня когда какое-нибудь сообщение удалили. Как правильно такое сделать? Обсудите со мной идею реализации, а то сам только хуйню сложную придумываю
Аноним 27/11/19 Срд 10:46:16 1530536429
Аноним 27/11/19 Срд 11:35:26 1530557430
Реквестирую ресурс по изучению pillow.
Аноним 27/11/19 Срд 13:19:55 1530606431
Пацаны, так всё-таки, почему requests повсеместно используются, а об httplib2 мало кто слышал?

Читаю сейчас одного хуймана (Марк Пилигрим с его Дайв Инту Питон). Там он довольно убедительно описывает почему не надо юзать requests. Типа они не умеют в кэш, и не умеют еще многое. Так почему же их используют?
Аноним 27/11/19 Срд 13:25:20 1530613432
Аноним 27/11/19 Срд 13:47:29 1530632433
Аноним 27/11/19 Срд 13:59:06 1530648434
>>1530613
это понятно, но зачем, если всё уже есть в httplib2.
CacheControl просто "передрали" с httplib2 короче ))

с того сайта:

CacheControl is a port of the caching algorithms in httplib2 for use with the requests session object.

CacheControl is relatively new and might have bugs. I have made an effort to faithfully port the tests from httplib2 to CacheControl.
Аноним 27/11/19 Срд 14:47:27 1530709435
>>1530648
>но зачем
It was written because httplib2’s better support for caching is often mitigated by its lack of thread-safety. The same is true of requests in terms of caching.
Аноним 27/11/19 Срд 14:58:58 1530731436
изображение.png (41Кб, 1620x446)
1620x446
>>1530317
>>1530266
>>1530254
Анон, спасибо тебе большое. С лёту сделал пикрелейтед: перенаправил ввод/вывод ошибок в DEVNULL, включил SHELL. Выпилил нахуй часть, которая должна закрывать окно. Запилил через пинсталлер с флагом -виндовед. Теперь работает как следует.


С лёту такой вопрос для всех - возможно кто имеет представление, в какую сторону копать, чтобы реализовать управление корпусными вентиляторами софтово?

Аноним 27/11/19 Срд 15:17:45 1530767437
>>1530411
Может, так и должно быть? А если ты передаёшь картинку, на которой qr не опознаётся, что происходит? Следующая правильная картинка декодируется или нет?
Аноним 27/11/19 Срд 15:27:03 1530774438
Аноним 27/11/19 Срд 15:35:39 1530780439
>>1530774
Спасибо анон, попробую полистать.
Аноним 27/11/19 Срд 17:24:04 1530836440
image.png (19Кб, 731x117)
731x117
Почему после python manage.py runserver выходит огромный лист с ошибками? Например такие
Аноним 27/11/19 Срд 17:32:02 1530840441
Аноним 27/11/19 Срд 18:11:42 1530880442
Аноним 27/11/19 Срд 18:21:28 1530898443
>>1530880
>'%s=%s' % (k, v) for k, v in params.items(),
Где скобки???????????????????
Аноним 27/11/19 Срд 18:25:02 1530907444
>>1530898
Это надо спросить у разрабов джанги.
Аноним 27/11/19 Срд 18:25:38 1530910445
Аноним 27/11/19 Срд 18:25:39 1530911446
Аноним 27/11/19 Срд 18:28:06 1530915447
>>1530910
Да, понял уже

Вот сука, проблема в том что на курсере видосы в курсе на django 1.11. Я её поставил, а py у меня 3.7 офк.

И хз что теперь вообще делать, ведь все проекты там получается на джанго 1.11, а новая 2.2.7 наверное отличается от старой
Аноним 27/11/19 Срд 18:30:00 1530921448
>>1530915
1.11.17 джангу попробуй
Аноним 27/11/19 Срд 18:32:22 1530925449
>>1530910
Мда. Ломать обратную совместимость - это так по-пхпшному. Охуенно, куда питон скатился...
Аноним 27/11/19 Срд 18:35:28 1530933450
>>1530925
>скатился
>2020 год
Братюнь, а где ты был когда ее наглухо сломали между 2 и 3, и пришлось потратить десять лет на переписывание тонн легаси говна?
Аноним 27/11/19 Срд 18:44:16 1530955451
>>1530933
Но ведь переписали же. Зачем опять ломать? Подстраиваются под питон 4, который скоро выйдет?
Аноним 27/11/19 Срд 18:46:43 1530963452
>>1530955
Чтоб все охуели как мы можем. Вот ты охуел? Цель достигнута.
Аноним 27/11/19 Срд 19:16:58 1530996453
>>1530921
Спасибо, помогло

Кстати, не сильно ли отличается 1.11.17 от 2.2.7? А то если научусь по 1.11.17, вдруг потом заново придется все на новой версии изучать
Аноним 27/11/19 Срд 22:18:00 1531195454
Сайт сервера МИНЕКРАФТ норм делать на джанге? Пездюк племянник хочет свой сервер, думаю помочь ему и запилить проектик, чтобы стричь донат со школоты. Если приложу в портфолию для галеры, меня не засмеют хрюшки?
Аноним 27/11/19 Срд 22:21:14 1531197455
>>1528576
мб у тя двойная аутификация стоит?
Аноним 27/11/19 Срд 22:23:02 1531200456
>>1529581
ты ебобо? из консоли питон выйди
Аноним 27/11/19 Срд 22:27:46 1531202457
бегло пробежался по питону... какие полезные проги можно написать?
Аноним 27/11/19 Срд 22:30:08 1531205458
>>1531195
Такой проект норм делать хоть в конструкторе сайтов.

В портфолио я бы такое выкладывать не стал, даже если сделать по науке.
Аноним 27/11/19 Срд 22:58:59 1531218459
>>1530996
На сайте джанги есть гайды по апгрейду. Но прям крупные изменения всего и сразу там очень редки. Мне с 1.11 на 2.2 только изменения в роутинге запомнились, остальное мелочь.
Аноним 27/11/19 Срд 23:00:04 1531221460