М.Двач / Программирование

Этого треда уже нет.
Это копия, сохраненная 15 января 2020 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

90 Кб, 937x530
PYTHON №5 18 фев 2018, 00:17 1141205 В конец треда | Веб

F.A.Q. https://github.com/TheKnightsWhoSayNi/info/wiki/Hat

Свой код кидайте через https://repl.it/languages/python3

Книги и ссылка на PyCharm: https://yadi.sk/d/tArKKuQu3Kejuq
Книги еще: https://yadi.sk/d/H-00n-UG3RSQem/

Предыдущий тред >>1134827 (OP)

Python питон

Ответы1415282629415531

2 18 фев 2018, 00:30 2 1141210

Анон, пытаюсь написать класс для работы с pyTelegramBotAPI.
В этой библиотеке используются декораторы. В примере вот так:
import telebot

bot = telebot.TeleBot(config.token)

@bot.message_handler(content_types=["text"])
def repeat_all_messages(message):
bot.send_message(message.chat.id, message.text)

Я решил замутить свой класс. В конструктор этого класса передаю токен, в конструкторе создаётся экземпляр бота, копирую в тело классо метод из примера выше и питон начинает ругаться на декоратор @bot.message_handler(bla-bla), дословно "name 'bot' is not defined'.
Как заставить эту хуйню работать?

Ответы35863946

3 18 фев 2018, 01:15 3 1141235

@self.bot

Ответы1242

4 18 фев 2018, 01:18 4 1141237

Кто нибудь работал с socket через ssl? Меня ssl.wrap_socket нахуй шлет когда я пытаюсь его как прокси использовать. Возможно вообще человеческий прокси с поддержкой https на сокетах в питоне захуярить? Без basehttpserver только, он ебанутый какой то

Ответы1251

5 18 фев 2018, 01:31 5 1141242

Спасибо, что перекатили мой вопрос, няши :3
>>1141235
Пробовал, не работает.

Ответы1247

6 18 фев 2018, 01:49 6 1141247

>>1141242
Покаж код

Ответы1414

7 18 фев 2018, 01:57 7 1141251

>>1141237
>Кто нибудь работал с socket через ssl?
Не работал, но это невозможно. Сокет - это более низкий уровень. Шифрование через него работает.

Ответы1255

8 18 фев 2018, 01:59 8 1141255

>>1141251
т.е. ssl сделан только для работы в локальных серверах?

Ответы1264

30 Кб, 1013x805
9 18 фев 2018, 02:15 9 1141264

>>1141255
Нет, посмотри модель OSI. Сокет - это 4-ый уровень. А SSL/TLS 6.

Ответы12661365

10 18 фев 2018, 02:19 10 1141266

>>1141264
Тогда я вообще запутался. ssl это же обертка для сокетов

Ответы127012731500

11 18 фев 2018, 02:21 11 1141270

>>1141266
SSL шифрует поток байт. Любой. Сокет только передаёт эти самые байты, ему похер что именно передаётся.

12 18 фев 2018, 02:23 12 1141273

>>1141266
Это у тебя в программе так выглядит, как декоратор. Но на самом деле, когда ты получаешгь данные с сокета, это TCP-пакеты. Тебе нужно их расшифровать своим SSL, разложить на сообщения протокола HTTP или иного. Кстати, прокси с поддержкой TLS отличается от обычных поддержкой METHOD CONNECT в придачу к GET. Может из-за его отсутсвия не работает базовый прокси.

Ответы1500

55 Кб, 600x738
13 18 фев 2018, 02:29 13 1141275

Каких батареек в питоне не хватает?

Ответы1277

3,9 Мб, webm,
1280x720, 0:26
14 18 фев 2018, 02:39 14 1141277

>>1141275
>Каких батареек в питоне не хватает?
Твоего говнокода!

15 18 фев 2018, 10:33 15 1141342

Почему сабж часто используется в автоматизации тестирования ПО?

Ответы13531454

16 18 фев 2018, 11:00 16 1141353

85 Кб, 903x266182 Кб, webm,
1280x720, 0:01

>>1141342

17 18 фев 2018, 11:59 17 1141365

>>1141264
>Сокет - это 4-ый уровень.
Базаришь? а raw-сокет?
Использовать семиуровневую модель при разговоре о TCP/IP непродуктивно.

18 18 фев 2018, 13:43 18 1141414

>>1141247
https://pastebin.com/ZrBCCN4i
Паста протухнет через день
Пробовал и @self.bot и поле класса bot = None и bot = telebot.Telebot, что довольно тупо, даже я это понимаю, но что ещё сделать, я хз.

Ответы1867

19 18 фев 2018, 13:43 19 1141415

>>1141205 (OP)
Аноны, подскажите годный материал по selenim w python, хочу вкатиться, но пока, кроме документации и сомнительного качества видеоуроков, ничего не нашел.

Ответы14171474

20 18 фев 2018, 13:45 20 1141417

>>1141415
быстрофикс: selenium

21 18 фев 2018, 14:29 21 1141435

Пиздец ОП-пик ебанутый. Идиотская переделка мемов про "Dont tread on me" змею.

Ответы14381543

22 18 фев 2018, 14:33 22 1141438

>>1141435
no step on snek

23 18 фев 2018, 14:53 23 1141454

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

Ответы1496

24 18 фев 2018, 15:21 24 1141474

>>1141415
>selenim
Для чего кроме тестов эта штуковина годится?

Ответы1480

25 18 фев 2018, 15:25 25 1141480

>>1141474
Для любых твоих сценариев связанных с парсингом в браузере, например.

13 Кб, 768x432
26 18 фев 2018, 15:30 26 1141484

Написал скрипт, задача которого состоит в том, что он имитирует нажатие клавиши W. По итогу все работает отлично, проверил работоспособность в блокноте. Задался вопросом, можно ли как нибудь ограничить круг работы скрипта? В данный момент, если переключиться с блокнота на адресную строку браузера он пишет букву W уже в адресной строке. Хотелось бы, чтобы скрипт продолжал спамить букву в блокноте, в то время, как я смотрю смешные картиночки в интернетике.

Ответы15013781

27 18 фев 2018, 15:31 27 1141486

Есть два стула вопроса.

1) Как в Spyder включить автоподстановку переменных без нажатия tab/crtl+space (например, в Sublime список вылезает автоматически)

2) Есть удобный, желательно, англоязычный сайт с референсами?
inb4 доки питона
https://www.w3schools.com/cssref/default.asp
Вот такого плана сайт, чтобы я мог просто и без задней мысли пробежаться по синтаксису питона.

Ответы1556

28 18 фев 2018, 15:43 28 1141496

>>1141454
>простой язык
А в чем простота заключается, в синтаксисе? я не тролль, сейчас изучаю списки в словаре словаря.

Ответы1519

29 18 фев 2018, 15:50 29 1141500

>>1141273
Этот >>1141266 прав ващет. Можно через обычный сокет посылать ssl c помощью MemoryBIO например. Никакой магии там нет.

30 18 фев 2018, 15:51 30 1141501

>>1141484
С такой идеей прямая дорога в Кремниевую долину. Тебя там с руками оторвут.

31 18 фев 2018, 16:34 31 1141519

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

Ответы1521

32 18 фев 2018, 16:42 32 1141521

>>1141519
>Ты можешь складывать целые и дробные числа без ошибок
>print(0.1+0.2)
:-D

Ответы1525

33 18 фев 2018, 16:54 33 1141524

Поясните за request.body vs request.POST?
Пришел на существующий проект, а тут инфу достают из request.body вот таким вот методом json.loads(request.body.decode('utf-8'))
Данные получают от мобильного приложения, там в данных лежит токен от фейсбука и айди, тут же нахуй не нужно использовать request.body, правда?
При этом, если айосеры шлют реквесты, то всё работает, а вот я через постман, курл ловлю ошибку (через request.POST всё норм.)
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

34 Кб, 498x185
34 18 фев 2018, 16:55 34 1141525

>>1141521
Не, ну, близко же.

Ответы1538

35 18 фев 2018, 17:37 35 1141538

>>1141525
Почти близко
https://repl.it/repls/OutstandingSilentAddons

20 Кб, 565x316
36 18 фев 2018, 17:52 36 1141540

Кароч, есть PostgreSQL и Python
Делаем запрос Select и получаем ответ cursor.fetchall(), то он возвращается в говнолисте , где вся выборка в нулевом индексе списка
Как можно по человечье это всё выводить?

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

Есть какое-то нормально решения этой проблемы? или же кто-то поможет с рег,выражением..

Ответы154815501551

37 18 фев 2018, 17:57 37 1141543

>>1141435
Всё остальное уже было. Нарисуй исчо.

38 18 фев 2018, 18:03 38 1141548

>>1141540
нихуя не ясно зачем тебе регекс и что такое почеловечьи

39 18 фев 2018, 18:04 39 1141550

>>1141540
print(' '.join(zp[0]))

40 18 фев 2018, 18:10 40 1141551

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

41 18 фев 2018, 18:15 41 1141556

>>1141486
бамп

42 18 фев 2018, 18:19 42 1141560

Привет, ребята. Какие альтернативы принту есть в питоне? -"~rc()+=01exh% вот набор символов, кто-нибудь сможет из них составить из них эту альтернативу?

Ответы15623791

43 18 фев 2018, 18:19 43 1141562

>>1141560
альтернатива, сынок, утки

44 18 фев 2018, 21:42 44 1141665

На связь выходит инженегр.
Периодически по работе возникают локальные задачи, требующие автоматизации каких-либо вычислений. Для решения я пишу несложные проги и потом на них забиваю обычно навсегда. Всю сознательную жизнь быдлокодил на Матлабе (причём базовом) и он мне очень нравится, но есть 2 проблемы:
1) Он платный - на работе не поставить. Удалось втихомолку протащить его на незареганный ПК, но там 2 гига оперативы и встроенная видеокарта - в результате в комбинации с моим быдлокодом всё это люто тормозит.
2) Он не компилит в .exe - и всё, что я накодил, могу использовать только я сам на упомянутом слабом ПК. Кроме того, если я еду куда-нибудь в командировку нужно иметь с собой либо ноут с Матлабом или пиратский комп у тех, к кому едешь. Это очень неудобно и это главная причина, почему я хочу с Матлаба слезть.

Пробовал переползти на Фортран, но там всё пишется как-то значительно медленнее, пробовал C++ - но ничего не понял в этом вашем ООП и опять таки пишется значительно медленнее Матлаба, а начальство не ждёт.

И тут мне посоветовали Питон. Правильно я понимаю, что он идеально для меня подходит? У него похожий на Матлаб синтаксис и набор библиотек, которые практически теми же командами позволит мне строить 3d графики. Он имеет неявную типизацию, отсутствие которой меня очень раздражало в C++ и Фортране. Я ведь правильно использую терминологию - неявная типизация, это когда не нужно предварительно переменные объявлять, так? Компилятор сам типа решит. И он довольно популярен, в отличие от той же Julia, которая вроде бы мне должна больше подходить, но которая никому нахуй не нужна и русских гайдов потому на неё нет.

Но вот вопрос - а из Питона можно нормально (без изъёбств и костылей) делать .exe? Он же вроде интерпретируемый? Мне очень нравилось, как в Дельфи можно скомпилить прогу в .exe и запускать без проблем где угодно. Нужно ведь иногда показывать результаты труда начальству, а ставить что-либо даже бесплатное на ПК небожителя мне как-то не хочется.

И ещё один момент - мне также поставили задачу в свободное от работы время кек сделать довольно большую расчётную прогу с пре/пост-процессором. Это должна быть действительно большая и сложная прога (ну во всяком случае для меня, лол), но зато очень интересная. Возникают следующие вопросы - смогу я без изъебств написать нормальный графический интерфейс на Питоне? И не окажется ли неявная типизация при создании расчётного ядра запутывающим фактором? Но я так понял, для этого есть Cython - тот же Питон, но с явной типизацией? И из него можно будет загружать все те же библиотеки, что доступны для обычного Питона? Ничего не залагает?

44 18 фев 2018, 21:42 44 1141665

На связь выходит инженегр.
Периодически по работе возникают локальные задачи, требующие автоматизации каких-либо вычислений. Для решения я пишу несложные проги и потом на них забиваю обычно навсегда. Всю сознательную жизнь быдлокодил на Матлабе (причём базовом) и он мне очень нравится, но есть 2 проблемы:
1) Он платный - на работе не поставить. Удалось втихомолку протащить его на незареганный ПК, но там 2 гига оперативы и встроенная видеокарта - в результате в комбинации с моим быдлокодом всё это люто тормозит.
2) Он не компилит в .exe - и всё, что я накодил, могу использовать только я сам на упомянутом слабом ПК. Кроме того, если я еду куда-нибудь в командировку нужно иметь с собой либо ноут с Матлабом или пиратский комп у тех, к кому едешь. Это очень неудобно и это главная причина, почему я хочу с Матлаба слезть.

Пробовал переползти на Фортран, но там всё пишется как-то значительно медленнее, пробовал C++ - но ничего не понял в этом вашем ООП и опять таки пишется значительно медленнее Матлаба, а начальство не ждёт.

И тут мне посоветовали Питон. Правильно я понимаю, что он идеально для меня подходит? У него похожий на Матлаб синтаксис и набор библиотек, которые практически теми же командами позволит мне строить 3d графики. Он имеет неявную типизацию, отсутствие которой меня очень раздражало в C++ и Фортране. Я ведь правильно использую терминологию - неявная типизация, это когда не нужно предварительно переменные объявлять, так? Компилятор сам типа решит. И он довольно популярен, в отличие от той же Julia, которая вроде бы мне должна больше подходить, но которая никому нахуй не нужна и русских гайдов потому на неё нет.

Но вот вопрос - а из Питона можно нормально (без изъёбств и костылей) делать .exe? Он же вроде интерпретируемый? Мне очень нравилось, как в Дельфи можно скомпилить прогу в .exe и запускать без проблем где угодно. Нужно ведь иногда показывать результаты труда начальству, а ставить что-либо даже бесплатное на ПК небожителя мне как-то не хочется.

И ещё один момент - мне также поставили задачу в свободное от работы время кек сделать довольно большую расчётную прогу с пре/пост-процессором. Это должна быть действительно большая и сложная прога (ну во всяком случае для меня, лол), но зато очень интересная. Возникают следующие вопросы - смогу я без изъебств написать нормальный графический интерфейс на Питоне? И не окажется ли неявная типизация при создании расчётного ядра запутывающим фактором? Но я так понял, для этого есть Cython - тот же Питон, но с явной типизацией? И из него можно будет загружать все те же библиотеки, что доступны для обычного Питона? Ничего не залагает?

Показать весь текст
Ответы167418043797

45 18 фев 2018, 22:05 45 1141674

>>1141665
1. В питоне нет компилятора, питон это интерпретатор, как бейсик.
2. Строить графики, вычислять и всё такое — всё есть: numpy, matplotlib, sympy, scipy. Насчёт 3d графиков не уверен, перепроверь.
3. Делать exe при особенном желании можно, но там изъёбства и костыли. Альтернативно ты можешь просто брать с собой портабельную сборку питона и запускать из cmd.exe/батниками python myscript.py. Алсо, учти, все библиотеки должны присутствовать, питон не зашивает в скрипт половину ОС.
4. Графические интерфейсы это отдельная боль, в целом всё то же самое что и в других языках, берётся биндинг и пишется как обычно для этой библиотеки гуй.
5. Насчёт типизации: она в питоне динамическая (переменные не имеют фиксированного типа), но строгая (сложить бульдога с носорогом нельзя). Обычно вопросы корректности программ решаются написанием автотестов.
6. Cython это изъёбство, его суть в том, что ты как бы пишешь обычный питон (который собирается в абсолютно идентичную бинарь как в оригинале, то есть выигрыша в скорости нет), но при этом можешь кое-где указать жёсткие типы (что собственно служит для ускорения и упрощения связывания с сишным кодом). Тебе это всё 99% не нужно.

Ответы167616871805

46 18 фев 2018, 22:07 46 1141676

>>1141674
>Делать exe при особенном желании можно, но там изъёбства и костыли.
Давно у нас команда "pyinstaller --onefile app.py" стала изъёбствами и костылями?

Ответы1677

47 18 фев 2018, 22:09 47 1141677

>>1141676
Но зачем? Напиши в батник "python.exe app.py" и запускай сколько влезет.

Ответы1678

48 18 фев 2018, 22:10 48 1141678

>>1141677
И сколько будет весить твоя хуйня с учетом всех либ и интерпретатора?

Ответы1679

49 18 фев 2018, 22:11 49 1141679

>>1141678
Лол, столько же сколько и твоя экзешка. Ты думаешь там что-то другое внутри? Тот же интерпретатор, те же модули, и так же свалится если либ не будет.

Ответы1680

50 18 фев 2018, 22:12 50 1141680

>>1141679
Куда свалится? Как там может не быть либ?

Ответы1684

51 18 фев 2018, 22:19 51 1141684

>>1141680
Есть такой пакет анаконда. Весит порядка полугектара. Вот там кучи бинарных либ. Зелёные часто приходят ноют почему через pip у меня какая-нибудь хуйня не ставится. Потому что через pip ставится только мост, биндинг к большой бинарной йобе, которую надо ставить отдельно.

Представь что ты пишешь скрипт для 3д макса к примеру. Как белчеловек делаешь pip install py3dmax и ждёшь что оно тебе само скачает и купит ещё сам 3д макс, а при запуске закономерно обсираешься, потому что 3дмакса в системе нет. Вот и твой упаковщик не вставит в экзешку всё вместе с 3дмаксом и половиной ОС включая .net фреймворки, сервиспаки, C++ redist, directx. А ведь на другой системе этого может и не быть. Вы слишком много хотите короче. А эти экзешки это бесполезная хуетень и лишний груз, каждый раз её надо пересобирать.

Ответы1688

52 18 фев 2018, 22:23 52 1141687

>>1141674
>1. В питоне нет компилятора, питон это интерпретатор, как бейсик.
А в википедии пишут, что: «Большое количество языков, включая BASIC, C, Lisp, Pascal и Python, имеют обе реализации».
>3. Делать exe при особенном желании можно, но там изъёбства и костыли. Альтернативно ты можешь просто брать с собой портабельную сборку питона и запускать из cmd.exe/батниками python myscript.py. Алсо, учти, все библиотеки должны присутствовать, питон не зашивает в скрипт половину ОС.
Блин, ну это очень плохо. Для моих локальных задач такой подход со скрипом пойдёт, но расчётную прогу я делаю для общего пользования и она должна работать везде одинаково и не требовать ставить какие-то непонятные сторонние проги.
Я всё-таки не понимаю - ну ладно Матлаб, там всё понятно, там хотят денег и не хотят предоставлять нормальную возможность переноса программ на ПК без Матлаба. Но тут-то почему? Здесь же всё бесплатно. Почему нельзя сделать, как в Дельфи или Фортране? Раз и скомпилил.
>4. Графические интерфейсы это отдельная боль, в целом всё то же самое что и в других языках, берётся биндинг и пишется как обычно для этой библиотеки гуй.
Честно говоря ничего не понял, главный вопрос - на Питоне пишут такие интерфейсы? Я не окажусь в гордом одиночестве уникального долбоёба? Я найду русские гайды? Я ведь гордый русский инженер, я не знаю английского.
Кстати, глядите, что я нашёл:
https://geektimes.ru/post/284292/
У нас в отделе хорошо себя показывает связка C++ с высокоуровневым языком типа Python. Мы занимаемся как раз физическим моделированием.
Идея такая: на C/C++ пишем вычислительное ядро программы. Всё остальное пишется на Python: I/O, пользовательский интерфейс, скрипты для запуска C++ ядра, всякие предварительные расчеты, пост-обработка данных и т.д.
Этож как раз как я хочу. Только я и ядро напишу на Питоне. Значит так делают и это удобно?
>но при этом можешь кое-где указать жёсткие типы (что собственно служит для ускорения и упрощения связывания с сишным кодом). Тебе это всё 99% не нужно.
Я не уверен, но мне кажется, что если я жестко задаю какой-то переменной тип - то потом будет проще код анализировать и меньше ошибок будет, хоть это и дольше по времени из-за написания лишней писанины. Поправьте меня, если я ошибаюсь.

52 18 фев 2018, 22:23 52 1141687

>>1141674
>1. В питоне нет компилятора, питон это интерпретатор, как бейсик.
А в википедии пишут, что: «Большое количество языков, включая BASIC, C, Lisp, Pascal и Python, имеют обе реализации».
>3. Делать exe при особенном желании можно, но там изъёбства и костыли. Альтернативно ты можешь просто брать с собой портабельную сборку питона и запускать из cmd.exe/батниками python myscript.py. Алсо, учти, все библиотеки должны присутствовать, питон не зашивает в скрипт половину ОС.
Блин, ну это очень плохо. Для моих локальных задач такой подход со скрипом пойдёт, но расчётную прогу я делаю для общего пользования и она должна работать везде одинаково и не требовать ставить какие-то непонятные сторонние проги.
Я всё-таки не понимаю - ну ладно Матлаб, там всё понятно, там хотят денег и не хотят предоставлять нормальную возможность переноса программ на ПК без Матлаба. Но тут-то почему? Здесь же всё бесплатно. Почему нельзя сделать, как в Дельфи или Фортране? Раз и скомпилил.
>4. Графические интерфейсы это отдельная боль, в целом всё то же самое что и в других языках, берётся биндинг и пишется как обычно для этой библиотеки гуй.
Честно говоря ничего не понял, главный вопрос - на Питоне пишут такие интерфейсы? Я не окажусь в гордом одиночестве уникального долбоёба? Я найду русские гайды? Я ведь гордый русский инженер, я не знаю английского.
Кстати, глядите, что я нашёл:
https://geektimes.ru/post/284292/
У нас в отделе хорошо себя показывает связка C++ с высокоуровневым языком типа Python. Мы занимаемся как раз физическим моделированием.
Идея такая: на C/C++ пишем вычислительное ядро программы. Всё остальное пишется на Python: I/O, пользовательский интерфейс, скрипты для запуска C++ ядра, всякие предварительные расчеты, пост-обработка данных и т.д.
Этож как раз как я хочу. Только я и ядро напишу на Питоне. Значит так делают и это удобно?
>но при этом можешь кое-где указать жёсткие типы (что собственно служит для ускорения и упрощения связывания с сишным кодом). Тебе это всё 99% не нужно.
Я не уверен, но мне кажется, что если я жестко задаю какой-то переменной тип - то потом будет проще код анализировать и меньше ошибок будет, хоть это и дольше по времени из-за написания лишней писанины. Поправьте меня, если я ошибаюсь.

Показать весь текст
Ответы16961806

53 18 фев 2018, 22:24 53 1141688

>>1141684
лол блядь
Вообще не понял к чему ты сюда всякие директы и нет фреймворки приплёл, но дефолтный минимум библиотек и все зависимости для твоего проекта спокойно пакуются в экзешник, который в конечном итоге будет весить пару десятков мб в среднем. Мое говно с pyqt на 1к строк и десятком сторонних либ вышло в 15мб, спокойно работает и на дрыснятках и на семёрках и на виртуалках

Ответы1698

54 18 фев 2018, 22:38 54 1141696

>>1141687
1. В русской википедии по теме айти только в мозг насрут, её пишут неучи. Конечно, питон собирает из исходника байткод, как бы компилирует, но сам воркфлоу у него как у интерпретатора: написал и запустил, никаких компиляций которые тебе не нужно отдельно запускать.

2. Да что плохого? Я ж говорю, батник в одну строку делаешь и всё работает.

3. Пишут. Насчёт русских гайдов не знаю. На питоне действительно писать намного проще и удобнее чем на C++, они таким образом усилия банально экономят.

4.
> будет проще код анализировать и меньше ошибок будет
Компилируемые языки нужны в основном для скорости, так как там типы данных близки к машинным. Интерпретируемые ближе к человеку, например в питоне int может быть нереально огромным числом, для записи которого понадобятся мегабайты, тебе не нужно думать о битовом переполнении, можно сконцентрироваться на задаче. Насчёт анализа и меньше ошибок тема крайне холиварная, формально компилятор действительно выполняет за программиста много работы, но ведь он столько же ещё и неудобств причиняет отказываясь что-нибудь собирать и заставляя прогибаться под компилятор, неестественно выражая свои задачи в коде. Более того, до сих пор миллионы программ падают с segmentation fault несмотря на зоркие глаза компиляторов. В общем компилятор это для ультимативной скорости, например для геймдева.

Ответы1770

55 18 фев 2018, 22:43 55 1141697

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

Ответы17001810

56 18 фев 2018, 22:48 56 1141698

>>1141688
>засунул целый qt в бинарник
>не понимаю о чём речь
Кроме qt в мире есть ещё много всякого. Иногда больше чем на 15мб. Если уж тебе настолько отчаянно надо запихнуть всё в один файл, попробуй делать установочные пакеты. Далее, твой подход с единственным жирным бинарником не позволит доставлять несколько запускаемых утилит с общим кодом без дублирования. У тебя в каждой утилите будет зашит целый qt. Нормальные люди такие экзешки не делают.

Ответы17066160

57 18 фев 2018, 22:50 57 1141700

>>1141697
Как насчёт сделать это самими батниками? По-любому там есть sleep и параллелизация & из баша.

Ответы1703

58 18 фев 2018, 22:52 58 1141703

>>1141700
>Как насчёт сделать это самими батниками?
Э, не, они чужие, я их трогать не буду.

Ответы1704

59 18 фев 2018, 22:53 59 1141704

>>1141703
Нет. Просто третий батник напиши.
На баше это вот так.

./script1 &
sleep 10
./script2

Ответы1705

60 18 фев 2018, 22:55 60 1141705

>>1141704
Спасибо, попробую.

61 18 фев 2018, 22:57 61 1141706

>>1141698
>целый
Целый pyqt, братишка, весит за 150мб

138 Кб, 557x397
62 18 фев 2018, 23:48 62 1141747

Питун совсем не умеет в многопоточность?

Ответы17481765

63 18 фев 2018, 23:49 63 1141748

>>1141747
Как ты распараллеливал? Шов то ас юр коуд.

Ответы1750

64 18 фев 2018, 23:55 64 1141750

>>1141748
Никак не параллелил

Ответы1751

65 18 фев 2018, 23:58 65 1141751

>>1141750
Почему ты тогда решил, что питон не может в многопоточность? Что ты сделал для того, чтобы твой хеллоу ворлд был запущен в многопоточном режиме?

выросло блядь поколение «программистов» выучившихь синтаксис по ютубу и другим ресурсам. Как же с вами душно, пизда просто. В си треде дебил пишет как кодировку в файле поменять. Охуеть можно.

Ответы1752

66 19 фев 2018, 00:01 66 1141752

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

Ответы17611812

67 19 фев 2018, 00:08 67 1141760

Поясните как в апи передавать CSRF token, нихуя понять не могу.
Залогинился, в куках лежит csrftoken, достаю его и отправляю в хедере
"detail": "CSRF Failed: CSRF token missing or incorrect."
ЧЯДНТ?

Ответы1766

68 19 фев 2018, 00:08 68 1141761

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

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

равномерная загрузка графика в диспетчере задач ответ неверный

69 19 фев 2018, 00:11 69 1141765

>>1141747
Мульти процесинг умеет

70 19 фев 2018, 00:11 70 1141766

>>1141760
Всё сам нагуглил, неправильно название токена в хедере прописывал, надо было X-CSRFToken

71 19 фев 2018, 00:18 71 1141770

>>1141696
>2. Да что плохого? Я ж говорю, батник в одну строку делаешь и всё работает.
То есть я беру портативную сборку питона с лабами (при этом ничего не устанавливаю, просто переношу эти файлы на ПК) и затем пишу бат-файл, в котором по сути скармливаю этому портативному интерпретатору питона свой скрипт? Я всё правильно описал?
Но следует отметить, что у меня на работе на непиратских компах бат-файлы запрещены.
Надо поговорить с безопасниками, но у меня псевдо-режимное предприятие, могут и не разрешить. Интересно, а через командную строку я смогу это сделать? Ни разу не пробовал делать что-либо подобное.
Ладно, для простых скриптов для текучки это способ вполне удовлетворителен, я думаю.
Для полноценной программы мне он не нравится - я бы хотел, чтобы прога установилась на ПК вместе со всеми своими либами и также сама прописала ассоциации с нужными расширениями файлов.
Но я думаю, всё это можно будет тем или иным способом сделать. Тем более, что до счастливого момента выпуска этой полноценной программы у меня ещё вагон времени.

Ответы1842

72 19 фев 2018, 00:49 72 1141783

Создайте список с пятью разными ингредиентами для бутерброда, наподобие:
>>> ingredients = ['слизни', 'пиявки', 'катышки из пупка гориллы', 'брови гусеницы', 'пальцы многоножки']

Теперь создайте цикл, который печатает список ингредиентов с нумерацией:
1 слизни
2 пиявки
и тд.

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

Ответы179318191836

73 19 фев 2018, 01:02 73 1141792

Когда ж вы в бамплимит уехать-то успели, суки?

74 19 фев 2018, 01:03 74 1141793

>>1141783
enumerate ()

Ответы1802

75 19 фев 2018, 01:14 75 1141802

>>1141793
>enumerate ()
Я такую функцию еще не учил.

Мне надо именно циклом for\while
пронумерировать список

Ответы20102645

76 19 фев 2018, 01:17 76 1141803

Мб есть твиторы интересные с питоном?

77 19 фев 2018, 01:17 77 1141804

>>1141665
>смогу я без изъебств написать нормальный графический интерфейс на Питоне?
Да, PyQT. Питон компилится только костылями. По сути твое скомпиленное приложение будет представлять из себя самораспаковывающийся архив с интерпретатором, твоим скриптом и всеми использованными библиотеками. Если тащишь еще какие-то данные их гиморно запихивать в архив и лучше оставлять его распакованным. С точки зрения пользователя все прозрачно. Это обычное приложение, просто запускается дольше остальных.

Ответы1844

40 Кб, 638x479
78 19 фев 2018, 01:23 78 1141805

>>1141674
>выигрыша в скорости нет

Ответы1843

79 19 фев 2018, 01:28 79 1141806

>>1141687
>Я найду русские гайды?
Даже английского не найдешь. У питона традиционна напряженка с доками. Для Qt можно использовать сишную документацию.

Ответы1845

80 19 фев 2018, 01:36 80 1141810

>>1141697
>Расскажите ньюфагу, есть ли в Питоне оператор ожидания?
https://repl.it/repls/DullCumbersomeEvaluations

81 19 фев 2018, 01:38 81 1141812

>>1141752
И тут ты такой берешь и называешь язык, который распараллеливает твой код без тебя.

82 19 фев 2018, 01:59 82 1141819

>>1141783
j=1
for i in пошел_нахуй:
-print(j,i)
-j++

Это я отсталый или автор поста? Я не понимаю.

Ответы18306161

83 19 фев 2018, 02:50 83 1141830

>>1141819
сори

9 Кб, 776x109
84 19 фев 2018, 02:50 84 1141831

Аноны, пытаюсь подрубиться через requests к сайту, с использованием прокси. Но прокси шлют меня нахуй. Делаю всё как в доках.
В чём может быть трабл?
p.s. Прокси рабочие.

85 19 фев 2018, 04:21 85 1141836

>>1141783
num = 0
for ingredient in ingredients:
num += 1
print(str(num) +" "+ ingredient)

86 19 фев 2018, 04:39 86 1141837

С помощью aiohttp сколько можно выдать push сообщений в секунду с одного 2 ядерного сервера?

Ответы1841

87 19 фев 2018, 05:41 87 1141841

>>1141837
http://klen.github.io/py-frameworks-bench/#results

Ответы2060

88 19 фев 2018, 05:47 88 1141842

>>1141770
Exe не запрещены, bat запрещены. Л - Логика. Бат это то же самое что ты из командной строки введёшь же. А надо ввести всего лишь "python.exe myscript.py", уже писал.

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

89 19 фев 2018, 05:48 89 1141843

>>1141805
Ты жопой читал мой пост.

90 19 фев 2018, 05:53 90 1141844

>>1141804
Да нет там никаких костылей. Там достаточно сложная и в то же время гибкая система импорта, позвляющая импортировать хоть из интернета, хоть из зип файлов, да откуда угодно. Тебе нужно придумать как вшить в exe/dll в виде ресурсов байткод модулей и сделать маппинг имя:адрес. Между прочим именно так вся стандартная библиотека вшита в саму основную dll питона.

Но вот эти васянские пиинсталлеры забивают на все хорошие практики и пакуют хоть как-нибудь тупо в один файл.

91 19 фев 2018, 05:54 91 1141845

>>1141806
Посоны, а давайте вы мне насыпете где-то 200к денег на еду и я вам переведу docs.python.org.

Ответы20742152

134 Кб, 600x632
92 19 фев 2018, 06:33 92 1141853

Посоны, чёт я не могу понять почему много где пишут что GTL+ можно использовать в коммерческих проектах, а Qt нет.
Хотя у них обоих есть лицензия LGPL.

Ответы1856

93 19 фев 2018, 07:05 93 1141856

>>1141853
LGPL обязывает тебя публиковать изменения которые ты внёс непосредственно в Qt/Gtk+. То есть если ты скачал/собрал официальные исходники, и в неизменном виде приложил к программе как dll, то к тебе вопросов нет. Если что-то изменил в самой Qt/Gtk+ - публикуй исходники всех изменений. Само приложение может быть проприетарным, коммерческим, под любой лицензией. Разница в том, что Qt даёт возможность откупиться от копилефтного обязательства на саму Qt, а Gtk+ не даёт.

Ответы1862

62 Кб, 640x850
94 19 фев 2018, 08:49 94 1141862

Хм, как я понял,
>пишут что GTL+ можно использовать в коммерческих проектах, а Qt нет
в контексте Питона было из-за того что у PyQt только GPL лицензия (которая точно не для проприетарщины), а PySide появился сравнительно недавно.

>>1141856
Ну окай, значит не вижу причин не дрочить Qt под виндой. Или PySide ещё сырой?
Всё равно PyGObject я так и не смог собрать, хотя вроде это вполне возможно, но надо как-то указывать ему чтобы компилялся средствами MinGW, а это для меня сложна.

95 19 фев 2018, 09:08 95 1141867

>>1141414
BMUP вопросу

96 19 фев 2018, 14:29 96 1142006

Как исправить кракозябры в консоли PyCharm? Ебусь с этими энкодинг пол часа, ноль эффекта

97 19 фев 2018, 14:41 97 1142010

>>1141802
for i, ingredient in enumerate(ingredients):
print(f'{i} {ingredient}')

Не благодари.

Ответы2391

31 Кб, 968x515
98 19 фев 2018, 14:43 98 1142011

Он ебанутый? Или я ебанутый?

Ответы3812

99 19 фев 2018, 15:58 99 1142060

>>1141841
График полное говно.

100 19 фев 2018, 16:09 100 1142074

>>1141845
Это бесполезно переводить. Нужно сжечь и писать по нормальному.

101 19 фев 2018, 16:28 101 1142092

Пишет кто GUI программы под винду? Как такие программы распространять? Заставлять питон ставить? В установщик питон пихать? Или есть способ удобней?

Ответы2093

102 19 фев 2018, 16:31 102 1142093

>>1142092
Компилировать в pyinstaller. Полученное можно запаковать любым инсталлятором в msi.

103 19 фев 2018, 17:17 103 1142152

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

Ответы21652538

104 19 фев 2018, 17:23 104 1142165

>>1142152
Конкретнее? Что там не так?

Ответы21712180

105 19 фев 2018, 17:26 105 1142167

Э бля, ежжи
А куда делись конфы питонистов в Телеграмме? Можете их кинуть?

И раз я уже тут, задам вопрос, который хотел задать им.
Когда я запускаю скрипт питона через cmd, то если я предварительно настроили PATH, то вместо охуенно_длинный_путь_к_python.exe я могу писать просто python, можно ли как то сделать так с самим скриптом? Мне лень писать охуенно_длинный_путь_к_скрипту и я хочу писать просто: python имя_скрипта аргументики

Ответы21692205

106 19 фев 2018, 17:29 106 1142169

>>1142167
Имя файла скрипта - нет. Модуль - да. Делаешь аналогично PYTHONPATH, запускаешь через python -m module.

107 19 фев 2018, 17:29 107 1142171

>>1142165
Отсутствие примеров. Отсутствует указание типа возвращаемого значения, а часто и тип аргументов приходится вылавливать в текстовом мусоре. Формат записи также нечитаемый. Поиск выдает мусор. посмотри как выглядит качественная документация http://ba1.php.net/get/php_enhanced_en.chm/from/this/mirror Там даже комментарии пользователей включены под каждой функцией. Они часто приводят полезные замечения, которые авторы документации могли упустить и готовые примеры для практического использования. Скопировал-вставил.

Ответы2195

108 19 фев 2018, 17:38 108 1142180

>>1142165
На случай, если ты макоблядь - смотри пример онлайн https://secure.php.net/manual/en/function.base-convert.php

109 19 фев 2018, 17:58 109 1142195

>>1142171
У меня нет потребности разжёвывать функцию baseconvert на десяток листов А4. Разжёвывания есть на stackoverflow, сама документация чистая и плотно организованная, как и должна быть. Скопировал-вставил это отдельная патология, изредка конечно неизбежная, но крайне вредная.

Ответы2211

110 19 фев 2018, 18:05 110 1142205

>>1142167
Правй клик на *.py файле, открыть с помощью.. установить python.exe по умолчанию.

Ответы2228

111 19 фев 2018, 18:08 111 1142211

>>1142195
А ну посчитай насколько листов разжеван baseconvert в php. 10 листов чуши - это как раз патология питона. В пхп все кратко и ясно.

Ответы2233

112 19 фев 2018, 18:28 112 1142227

Django CMS в обще актуален еще? Решил выкатится из Пыхи и вкатится в Джанго, и присмотрелся к cms для облегчения задачи.

Насколько он актуален как CMS?
Какая альтернатива наиболее интересна и востребована?

113 19 фев 2018, 18:28 113 1142228

>>1142205
Не, я хочу через cmd.

Короче, если у кого-то возникнет такая же потребность, я написал батник вида:
chdir путь к папке со скриптами
cmd

И теперь кайфую с python script.py

Ответы22322242

114 19 фев 2018, 18:36 114 1142232

>>1142228
>Не, я хочу через cmd.
А в жопу не хочешь?

115 19 фев 2018, 18:37 115 1142233

>>1142211
Покажи 10 листов чуши в питоне. Твоя позиция мне не понятна. Захожу https://docs.python.org/3/, далее если зелёный - Tutorial, если стдлиба - Library Reference, если пишешь свою реализацию питона - Language Reference.

Открыл стдлибу, ctrl+f например gzip, сразу нашёл https://docs.python.org/3/library/gzip.html - все функции и примеры внизу. Что тут не так?

Захожу http://php.net/manual/en/ и вижу какое-то оглавление книги. Ни туториала, ничего. Сразу Language Reference который видимо и туториалом сразу служит. Function Reference, которое есть местная стдлиба, куда чаще всего ходить будешь, на самом дне спрятана.

Ответы2252

116 19 фев 2018, 18:41 116 1142242

>>1142228
Хех, мог бы сразу в батник написать python path/to/script.py. Виндомудилы полтреда уже себе какие-то виртуальные проблемы придумывают и героически их решают.

117 19 фев 2018, 18:46 117 1142252

12 Кб, 395x23133 Кб, 775x178

>>1142233
gzip.open
в следующей строке ...returning a file object.

Остальные фукнции на странице возвращают хуйпойми когои хуйпойми где это. Несколько абзацев текста в свободной форме - это и есть чушь. Хорошо хоть пример есть, исправляются. Но нечасто мне примеры в документации там попадались. И опять же в разных форматах. Иногда зачем-то в примерах в каждой строке приглашение интерпритатора (пик 1). Такое неудобно копировать. В иных случаях вместо под видом примера какокое-то нечитаемое говно (пик 2)

118 19 фев 2018, 19:02 118 1142273

Нажал на file object - https://docs.python.org/3/glossary.html#term-file-object - далее тебе все ссылки если неясно что такое file object и каким он бывает. В идеале ты не должен (или даже не можешь) знать конкретный тип этого file object, тебе нужно знать только общий интерфейс.

>возвращают хуйпойми когои хуйпойми где это
>Decompress the data, returning a bytes object containing the uncompressed data.
Мде.

>приглашение интерпритатора
Приглашение интерпрЕтатора указывает на то что это можно попробовать набрать прямо в интерпретаторе. То есть не нужен какой-то особенный бутстрап/бойлерплейт чтобы поиграть с этим.

>какокое-то нечитаемое говно
Это называется формы Бэкуса — Наура.

34 Кб, 506x314
119 19 фев 2018, 19:33 119 1142323

После долгого перерыва вкатываюсь обратно в пифон, и начинаю читать и делать задачи заново. Скажите, что не нравится pycharm'y. Я так понимаю, что он сообщает о том, что "к локальной переменной digits могут обратиться до ее объявления". Как это поправить, и как это возможно? Я бы понял, если бы у меня было что-то типа:
if yoba:
-digits=2
print(digits)
Но у меня же эта переменная объявляется в первую очередь в try блоке. Как к ней в этом куске кода можно обратиться до объявления? Я не понимаю.

Ответы23352339

120 19 фев 2018, 19:36 120 1142335

>>1142323
Например взятие атрибута в sys.args может завалиться с ошибкой, до того как digits присвоится значение. Затем у тебя каскадно завалится ещё и блок в except.

Ответы2349

121 19 фев 2018, 19:39 121 1142339

>>1142323
Pycharm видит, что она декларируется в try, а блок try при ошибке прерывает и оставшиеся в нем строке не выполняются. Pycharm не может оценить вероятность ошибки, поэтому перестраховывается. Выноси декларацию за пределы try, либо перед try допиши еще одну декларацию digits = '', или вообще забей. Работать будет.

Ответы2349

122 19 фев 2018, 19:45 122 1142349

>>1142335
Но если у меня завалиться взятие атрибута, то управление перейдет к except IndexError, а затем к части кода после try, а в except ValueError он не завалиться никаким образом. Ситуация, когда digits не объявлен, а к нему обращаются, невозможна.
>>1142339
То есть никакой ошибки нет, и свалиться программа все равно никак не может, и мне лучше просто смириться с загонами Pycharm?

Ответы2353

123 19 фев 2018, 19:47 123 1142353

>>1142349
Воот, хорошо рассуждаешь. Разные блоки except оказывается относятся к изолированным частям кода. Оберни взятие digits в отдельный try и унести туда except IndexError.

322 Кб, 1920x1080
124 19 фев 2018, 20:16 124 1142391

>>1142010
Спасибо. Но я не понимаю почему учебник дает задания которые делаются из команд которых учебник еще не учил. Втф

Ответы2406

125 19 фев 2018, 20:33 125 1142406

>>1142391
Маня, это можно и без enumerate сделать
lst = ['хуй', 'гавно', 'жопа']
for i in range(len(lst)):
print(i+1, lst)

Ответы2414

126 19 фев 2018, 20:41 126 1142414

>>1142406
Индексировать lst забыл.

from itertools import count
lst = ['хуй', 'гавно', 'жопа']
for i, item in zip(count(start=1), lst):
print(l, item)

Ответы24482560

127 19 фев 2018, 21:34 127 1142448

>>1142414
>>1142414
Вот что за фишечки со всякими скобками внутри скобок? Где это можно изучить?

>for i, item in zip(count(start=1), lst):

Ответы245924642514

128 19 фев 2018, 21:46 128 1142459

>>1142448
Expressions.
((2+3) * math.sqrt(math.sin(48))) / 2

423 Кб, 175x175
129 19 фев 2018, 21:59 129 1142464

>>1142448
>скобками внутри скобок
>Где это можно изучить?
В любом, блять, учебнике, по практически любому, сука, языку погромирования.
А лучше сначала вернуться в школу и не пропускать математику и информатику (если если так хотя бы паскаль показывают).

Ответы2465

130 19 фев 2018, 21:59 130 1142465

>>1142464
> (если там хотя бы паскаль показывают).
fix

131 19 фев 2018, 22:32 131 1142497

Есть ли в питоне или джанге стандартный путь распарсить запрос вида list[0][name]=test ?

132 19 фев 2018, 22:53 132 1142514

>>1142448
Эти фишечки зовутся функциями. Изучить где-то в общей теории языков программирования по теме "подпрограммы". Затем специфичные для питона функции-генераторы https://docs.python.org/3/glossary.html#term-generator

133 19 фев 2018, 23:58 133 1142538

>>1142152
>Я уже перевел
И где можно почитать?

Ответы2717

134 20 фев 2018, 01:48 134 1142560

>>1142414
Чё ты советуешь, чепушила?! enumerate же есть.

Ответы2589

135 20 фев 2018, 04:14 135 1142589

>>1142560
Там хотели без enumerate, так что жуй говно, пидор.

136 20 фев 2018, 07:04 136 1142601

Есть ли какой-нибудь источник, где собраны примеры сайтов, что написаны на джанге?

Ответы2680

sage 137 20 фев 2018, 11:20 137 1142645

>>1141802
>Я такую функцию еще не учил
Теперь выучил

138 20 фев 2018, 12:25 138 1142680

>>1142601
Github Search

139 20 фев 2018, 12:43 139 1142693

Сап, хочу скачать видео с одного сайта, использующего adobe flash player. Из браузера легко найти нужную ссылку на странице, но когда пытаюсь сделать это из скрипта, сайт определяет, что afp нет и предлагает установить. Ссылки, соответственно, нет. Есть ли способ обойти это?

Ответы2722

140 20 фев 2018, 13:41 140 1142717

>>1142538
Я пока думаю стоит ли вообще публиковать где то или нет. Если буду публиковать - хочу сделать какой-нибудь аналог Dash, Zeal или даже веб http://devdocs.io/, куда буду сливать переводы документаций всех библиотек\языков\фреймворков с которыми я как либо сталкивался. Если не буду - идите нахуй, там переводить нечего

141 20 фев 2018, 13:50 141 1142722

>>1142693
Там жс скорее всего этот плеер создаёт. А в жс находится id видео.

142 20 фев 2018, 15:48 142 1142785

Сап.
Абсолютный нуб, хочу вкатиться в Питон, т.к. прочитал что наиболее подходящий для вхождения в програмерскую среду.
Следует вопрос - с чего начать?
Сижу уже пару дней прохожу кодакадеми курсы, насколько они релевантны к реальному знанию или это так, побаловаться и начать по-серьезному где-то еще учить?
Готов заплатить за курсы в онлайне, посоветуйте, люди добрые!

Ответы280728222844

143 20 фев 2018, 16:37 143 1142807

>>1142785
https://docs.python.org/3/tutorial/index.html

3 Кб, 213x103
144 20 фев 2018, 16:43 144 1142816

Господа, как пик реализовать в нормальном варианте?

Ответы28252943

145 20 фев 2018, 16:52 145 1142822

>>1142785
Пройди для начала вот это на 100% (будет очень сложно):
https://stepik.org/course/67/syllabus
Потом посмотри вот эти лекции:
https://www.youtube.com/channel/UC0YHNueF-3Nh3uQT0P4YQZw/playlists
и охуей от того, сколько еще более крутых и сложных штук есть в пайтоне!

Ответы2828

146 20 фев 2018, 16:54 146 1142825

>>1142816
Очевидно для начала стоит написать нахуй тебе это надо. Имхо убрал бы нахуй генератор для проверки всего одного значения лол

Ответы2835

147 20 фев 2018, 16:55 147 1142826

>>1141205 (OP)
Ебал вас в рот, питономрази. На сколько же это дилетантский язык. Такое чувство, что создателям языка, фреймворков вообще похуй - они решают только текущие проблемы, они не заглядывают и на шаг вперёд, поэтому язык на 99% состоит из костылей.
Вот сейчас пытаюсь написать ТЕСТЫ на питоне для джанго - это просто пиздец. На сколько же всё хуёво сделано, на сколько блядь бездарно...

Ответы2827

148 20 фев 2018, 16:57 148 1142827

>>1142826
То чувство, когда даже дилетантский язык не осилил. Чево не так то?

Ответы2843

149 20 фев 2018, 16:57 149 1142828

>>1142822
Спасибо! А че кодакадемия? Хуйня?
Так же я в основном треде спрашивал, люди говорят, что лучше начинать сразу на английском изучение, чтобы потом не заебываться с переводами ру-ен

Ответы2935

150 20 фев 2018, 17:06 150 1142835

>>1142825
Ну вот такой json-документ приходит, щито поделать
"data": [["XXX", "11111"], ["YYY", "22222"], ["ZZZ", "3333333"], ...]
последовательность элементов в списке верхнего уровня - произвольная.

]

Ответы2943

151 20 фев 2018, 17:16 151 1142842

Господа, подскажите пожалуйста. Установил через pip api для discord'a, но PyCharm не видит модуль discord. Что делать?
Устанавливал сначала через pip3 install discord, а затем через рекомендуемый доками способ - python3 -m pip install -U https://github.com/Rapptz/discord.py/archive/master.zip#egg=discord.py[voice]
https://github.com/Rapptz/discord.py - ссылка на доки

Ответы2846

152 20 фев 2018, 17:17 152 1142843

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

Ответы28482855

153 20 фев 2018, 17:19 153 1142844

>>1142785
Курсы-хуюрсы. Знаешь как я начинаю изучение нового языка? - Первым делом ставлю его компилятор-интерпритатор и начинаю писать реально нужную мне прогу. И только по ходу дела смотрю в инсрукции или отдельные главы книг, чтобы заполнить обнаруженные пробелы в знаниях. Вот под питона я включил цикл видео на ютюбе "пишем ебу вместе", где автор писал код и пояснял значение. Я писал смотрел и писал параллельно, приспосабливая продемонстрированное им для своего приложения.

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

Ответы28492853

154 20 фев 2018, 17:22 154 1142846

>>1142842
Установить его в PyCharm'e

Ответы2851

155 20 фев 2018, 17:22 155 1142848

>>1142843
Например?

156 20 фев 2018, 17:23 156 1142849

>>1142844
Я не он, но могу сказать, что видео а-ля "пишём йобу вместе" - довольно специфичные, а зачастую - вообще устаревшие. Посмотрел пару таких по Django, и понял, что документация даёт больше информации, чем видео.
И зачастую есть момент, когда автор видео говорит "короче, если не знаете, то просто делайте как я, а потом когда-нибудь научитесь, забейте".
Правда, большинство доков написаны Васянами, и совсем нечитабельны.

Имхо.

Ответы2862

157 20 фев 2018, 17:24 157 1142851

>>1142846
Бля, там еще надо отдельно в IDE'шке устанавливать, херово.

Разве PyCharm не должен подключать все модули из папки с питонов самостоятельно?

Ответы2854

158 20 фев 2018, 17:25 158 1142853

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

159 20 фев 2018, 17:25 159 1142854

>>1142851
Во время создание проекта можно увидеть галочку "импортировать сторонние либы"

Ответы2857

160 20 фев 2018, 17:26 160 1142855

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

Ответы288028974801

161 20 фев 2018, 17:27 161 1142857

>>1142854
Благодарю, добрый человек.

162 20 фев 2018, 17:31 162 1142862

>>1142849
Большинство видео действительно херня, особенно когда чувак сидит такой и пишет
"import multiprocessing" по одному символу в секунду а ты сидишь такой и смотришь на выпавшую таблицу автозавершения и представляешь какой же он даун в жизни

163 20 фев 2018, 18:08 163 1142880

>>1142855
А какой язык тогда не ад и содомия?

Ответы28862888

164 20 фев 2018, 18:12 164 1142886

>>1142880
Паскаль норм шел. Пыхпых.

165 20 фев 2018, 18:14 165 1142888

>>1142880
Хаскель нормуль, быстро втягиваешься.

Ответы2895

166 20 фев 2018, 18:19 166 1142895

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

167 20 фев 2018, 18:20 167 1142897

>>1142855
Конкретные примеры в студию.

Ответы291629184802

168 20 фев 2018, 18:42 168 1142916

>>1142897
Тупой питоноблядок, взгляни на юнит тесты на жабе и на юнит тесты на питоне. Взгляни на архитектуру приложений, написанных на джанго, и на спринг мвс.

Ответы29222925

169 20 фев 2018, 18:42 169 1142918

>>1142897
Например, массивы. в пхп только один тип массивов, который по умолчанию - индексированный, но можно укладывать значения со своим индексом, как ассоциативный массив. С таким смешанным массивом работают все функции для работы с массивами. В питоне массивов 4 штуки. У каждого свои методы и все работает по-разному. Например, dict при переборе в цикле возвращает не значения, а ключи.

В пхп array_map() - на входе массив и на выходе массив. В питоне map() - на входе массив list, а на выходе object type Map. И этот объект нихуя не итерируется как list. Его нужно еще дополнительно в list преобразовать.

Ответы2925

170 20 фев 2018, 18:52 170 1142922

>>1142916
Дополню упреком - документация к питону тоже отдает кустарщиной. Вчера это уже разобрали. Но, справедливости ради, нужно признать, что чем "удобнее" язык и тулзы к нему, тем ниже порог вхождения. Вкатывающиеся новички скидывают зарплаты и потому пхп и джава катятся в жопу. Поэтому хочешь большой зарплаты - вкатывайся в перспективный язык, который пока еще не стал "удобным". Когда станет - ищи новый.

Ответы2925

171 20 фев 2018, 19:03 171 1142925

>>1142916
Родные юниттесты в питоне прямиком из жабы стащены. Есть ещё аутентичный питест. Насчёт джанги всё спорно, там применён свой набор tradeoffs, если не нравится — не используй, бери фласк. Спринг? Ну хуй знает, я знал больше десятка разных фреймворков и даже писал свои, всё везде более-менее одинаково. Причём тут собственно питон?

>>1142918
А я считаю это достоинством. Такое же говнецо как в пхп ещё есть в луа, hashmap в качестве list конечно работает с натягом, но заставляет порой писать много бойлерплейта, не говоря уже об алгоритмической оптимальности. Алсо, что будет если ты добавляешь в ассоциативный массив как в обычный? Делаешь массив с дырками (какая будет длина результата)? Это смешение типов до добра ещё никогда не доводило.

Насчёт map, почитай что такое итераторы. Наводящая задачка: есть 200Гб файл, который нужно прочитать построково, применить к значениям функцию и записать в другой файл. Будешь в list все 200Гб преобразовывать?

>>1142922
Идеального ничего не бывает. Никто не запрещает тебе отправить pull request в официальную документацию. Новичкам действительно часто виднее где в доках проёбы.

172 20 фев 2018, 19:13 172 1142935

>>1142828
book.programming_in_python_3.summerfield

21 Кб, 529x140
173 20 фев 2018, 19:15 173 1142941

>>1141205 (OP)
Че за хуйня?

Ответы2973

174 20 фев 2018, 19:16 174 1142943

>>1142835
>>1142816
Бумп

Ответы2950

175 20 фев 2018, 19:21 175 1142950

>>1142943
state = {}
for k, v in list_of_lists:
..state[k] = v
..# здесь наверное какие-то действия выполняются ещё у тебя

Если нет, то dict(list_of_lists).

Ответы2968

176 20 фев 2018, 19:36 176 1142968

>>1142950
Благодарствую. А если в списке второго уровня более 2 элементов?

Ответы2970

177 20 фев 2018, 19:40 177 1142970

>>1142968
Упадёт с ошибкой. Делай тогда через item и индексы.

178 20 фев 2018, 19:42 178 1142973

>>1142941
Что тебе не нравится? целочисленное деление с округлением в меньшую сторону.

Ответы3000

179 20 фев 2018, 19:52 179 1142991

Помогите разобраться пожалуйста.
True and False = False
True or False = True
Как бы понятно, что and - это умножение, а or - это сложение.
Так же понятно, что 5 and 4 = 4, a 5 or 4 = 5, так как and выводит всегда второе значение, если оба значения True, a or - первое значение.
Столкнулся с примером:
x = int (input('Введи число '))

if x == 4 and 5:
print ('OK')

Почему, когда вводишь 4, пишет ОК, а когда 5 - не пишет? Так же, когда заменяешь and на or, то в любом случае пишет ОК.
Так же, тоже непонятно, почему, когда так:
x = int (input('Введи число '))

if x == 4 and х == 5:
print ('OK')
то код не работает, а если заменить на or, то работает правильно?

Ответы30123019

180 20 фев 2018, 19:56 180 1143000

>>1142973
Не, всё правильно он написал. Тоже как-то на это внимание обращал, но в доках именно такое поведение описано. Вероятно это делается через специализированную операцию в цпу без перевода в int.

181 20 фев 2018, 20:01 181 1143012

>>1142991
Ты когда делаешь сравнения x==4 они у тебя сразу булево значение отдают. Но когда ты просто в if ставишь число или применяешь логические операторы над числами, то всё усложняется: ноль превращается в False, всё остальное в True (даже отрицательные).

if x == 4 and 5:
это то же самое что
if x == 4 and True:
то же самое что
if x == 4:

if x == 4 and х == 5:
тут ты одновременно требуешь чтобы x и на хуй село и рыбку съело. Всегда будет False, if не выполнится.

if x == 4 or х == 5:
тут всё правильно, либо 4 либо 5.
можешь иначе это писать:
if x in (4, 5):

Ответы3017

182 20 фев 2018, 20:15 182 1143017

>>1143012
Спасибо за объяснение, но я все равно не догоняю, почему это так работает?

Ответы3021

183 20 фев 2018, 20:16 183 1143019

>>1142991
>5 and 4 = 4, a 5 or 4 = 5
В таких вот штуках всё тоже непросто. Есть такое понятие short-circuit evaluation. Это когда интерпретатор/компилятор досрочно прекращают вычисление логического значения, если его конечный результат уже точно известен. К примеру

True or False or False or True or False
остановится на первом True. Так как операция or безвозвратно переключает всё в True. Вычислять остальные 4 части выражения (чем бы они ни были, хоть запуском шаттла в виде функции) нет смысла и интерпретатор их принципиально пропускает (шаттл не запускается, а так ждали).

False and True and False and True and True
точно так же and. Только and всё переключает в False.

Собственно питон здесь хитрит: при вычислении логических выражений приводит втихаря их в булевы (для каждого типа там свои правила), вычисляет булево значение оператора, применяет short-circuit evaluation, а в качестве результата вместо True/False вставляет сами исходные объекты: для or это первый что привёлся в True, для and это первый что привёлся в False, иначе просто последний из них. Попробуй вот такое вычислить:

'' or 0
0 or ''
1 and 'x'
'x' and 1

Ответы3022

184 20 фев 2018, 20:22 184 1143021

>>1143017
На самом деле логических операций над числами и другими объектами по-хорошему в языке не должно быть. Но очень часто нужно присвоить какое-то значение по умолчанию:

print(x or 4)

если вдруг x None/False/0, напечатает 4. Либо

if x: # вместо len(x) > 0
..print('x is not empty!')

Вот по сути только для таких вещей. Больше лучше нигде такое не применять.

185 20 фев 2018, 20:23 185 1143022

>>1143019
>1 and 'x'
>'x' and 1

Ну с этим, вроде бы понятно, оба значения True и энд выводит второе.
А вот с нулем и пустой строкой что-то не осилил

Ответы30243036

186 20 фев 2018, 20:25 186 1143024

>>1143022
Все четыре выражения и есть случай
>просто последний из них

То что ты писал
>and выводит всегда второе значение, если оба значения True, a or - первое значение
Это неправда.

Ответы3028

187 20 фев 2018, 20:28 187 1143028

>>1143024
Ясно, хотя не все. Спасибо, что уделил время и дал разъяснения

Ответы3033

188 20 фев 2018, 20:34 188 1143033

>>1143028
Хотя не, сорян, если оба True, то правильно всё. Но как у тебя написано оч сложно запомнить и применять, это только узкий частный случай.

Ответы3035

189 20 фев 2018, 20:38 189 1143035

>>1143033
Почти запомнил и придумываю задачи для закрепления знаний. Хотя еще не осилил True ^ False. И очень большие проблемы с алгоритмами и циклами. Сколько не читал, не смотрел курсов - все книги/курсы, как будто бы для тех, кто перекатывается в язык, а не вообще с нуля. По математике была твердая двойка и вообще сейчас очень сложно что-то такое осилить. Вот в треде увидел книгу для детей, мб в ней что-то и пойму про гребанные циклы

Ответы30383042

190 20 фев 2018, 20:41 190 1143036

>>1143022
Ответы будут:
0
''
'x'
1
?? Просто, когда увидел такое в учебнике, нихуя не понял.

191 20 фев 2018, 20:42 191 1143038

>>1143035
Вот ещё примеры:

0 or '' or [] or {}
'' or [] or {} or 0
[] or {} or 0 or ''
{} or 0 or '' or []

0 or 3 or '' or [] or {} or 5 or True

1 and 'x' and [0] and {0:0}
'x' and [0] and {0:0} and 1
[0] and {0:0} and 1 and 'x'
{0:0} and 1 and 'x' and [0]

1 and 'x' and 0 and [1] and {5} and False and None

Позапускай.

Ответы3041

192 20 фев 2018, 20:52 192 1143041

>>1143038
>0 or '' or [] or {}
>'' or [] or {} or 0
>[] or {} or 0 or ''
>{} or 0 or '' or []
Вообще порвало шаблон. Почему, когда 4 or 5 or 6 or 11, то выведет 4, а с пустыми значениями - наоборот

>0 or 3 or '' or [] or {} or 5 or True - c этим примером понятно, в конце остается 3 or 5 or True и так, как все значения True, то выведет, то которое стоит впереди

Задачи с and тоже понятны, and - всегда выводит второе значение

>1 and 'x' and 0 and [1] and {5} and False and None - в этой задаче не понял, почему ноль. Думал будет False, хотя, пока писал догнал, в Конце остается 0 and False, потому что все заполненные значения множаться на ноль, а так, как False стоит перед None, то в конце и сотается 0 and False

Ответы30443213

193 20 фев 2018, 20:53 193 1143042

>>1143035
Операция ^ (xor) для булевых значений эквивалентна банальному !=
Гугли таблицы истинности логических операций. Но прямое назначение ^ | & - это всё-таки битовые операции над целыми. То есть в if просто используют != вместо ^.

Ответы3045

194 20 фев 2018, 20:54 194 1143044

>>1143041
>для or это первый что привёлся в True
>для and это первый что привёлся в False
>иначе просто последний из них

Ответы3046

195 20 фев 2018, 20:54 195 1143045

>>1143042
Гуглил, но слишком туп для быстрого понимания такой фигни

196 20 фев 2018, 20:56 196 1143046

>>1143044
так 0 - это False, тогда почему в задаче '' or [] or {} or 0 в итогде выводит 0

Ответы3048

197 20 фев 2018, 20:57 197 1143048

>>1143046
Потому что все они False, ни одного из них в True не приводится. Слева направо каждый по очереди проверяется.

Ответы3051

198 20 фев 2018, 21:03 198 1143051

>>1143048
Час потратил на понимание этой фигни, а тут оказывается все сложнее. Ладно, спасибо за потраченное время. Надеюсь, после очередного провала не заброшу учебу

Ответы3055

199 20 фев 2018, 21:11 199 1143055

>>1143051
Ну я сам до конца не знал. Очень редко такое нужно. Обычно в and/or уходят именно булевы значения, а эта подстановка агрумента в результат не используется разве что для значений по умолчанию вроде x = x or 4

Ответы3059

200 20 фев 2018, 21:20 200 1143059

>>1143055
Я ОСИЛИЛЬ!!! Больше спасибо за строки:
>Потому что все они False, ни одного из них в True не приводится. Слева направо каждый по очереди проверяется.
И понял примеры с пустыми строка, если это and (*) он просто смотрит до первого нуля(false) и остальное просто потом множит на ноль и поэтому выводит первое, а если все true, то просто выводит последнее тру значение. Сам тока шо додумал посидел. Ну и с or наоборот соответствно, до первого 1(True) и все остальное просто добавляет, если видит вначале единицу, то все остальное просто приплюсовывает к ней. Большое спасибо еще раз!

Ответы3071

201 20 фев 2018, 21:39 201 1143071

>>1143059
Есть дополнительный подводный камень. Там где он таки нашёл что искал, там и прерывается вычисление в принципе.

def yoba(value):
..print('KEK', value)
..return value

yoba(0) or yoba(1) or yoba(2) or yoba(3) or yoba(4)

Тот самый short-circuit evaluation.

202 20 фев 2018, 22:58 202 1143122

Ананас, как стать в общем хорошим кодером?
Вот попросят меня на собеседовании запилить сервер на сокетах, а я такого никогда не писал, что я там сидеть гуглить буду час потом час еще делать? А сколько еще таких вопросов? Ебануться.
И еще: спрашивают ли на джанго вакансии алгоритмы?

Ответы31283132

203 20 фев 2018, 23:08 203 1143128

>>1143122
> как стать в общем хорошим кодером?
Слабовольным не читать, я предупреждал: Никак, программистами рождаются. Именно хорошим: забыть про личную жизнь. Работай на работе, работай после работы, веди личные проекты, принимай участие в чужих. Чтение книжек или просмотр ютуб-каналов имеет КПД 0 в сравнении с практикой и участием в команде.

> Вот попросят меня на собеседовании запилить сервер на сокетах, а я такого никогда не писал, что я там сидеть гуглить буду час потом час еще делать?
Не попросят с большой вероятностью.
Если вдруг и попросят (ну мало ли), а ты не знаешь, то лучше попроси список тем для изучения и когда можно вернуться. Никто за спрос не пиздит, а в глазах этих людей ты будешь пусть не молодец, но и очередной Вася, которого ещё доучивать надо, а обучение сейчас очень дорогое. Сам решил изучить, вернулся (возможно), прошёл собеседование - профит.
> И еще: спрашивают ли на джанго вакансии алгоритмы?
Бывают и такие конторы. Всё зависит от старшего (ведущего) разработчика.
Если он мудак, то будет спрашивать алгоритмы.
Если он адекватный, то будет спрашивать базовые знание, необходимые для поддержания внутренней инфраструктуры.

Ответы3135

204 20 фев 2018, 23:16 204 1143132

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

Ответы3135

205 20 фев 2018, 23:19 205 1143135

>>1143128
>>1143132
Спасибо, посоны

206 20 фев 2018, 23:35 206 1143146

Добрый день, многоуважаемые аноны.

Пилю проект, в котором для доступа к базе не используется ORM. Нередко слышал, что с точки зрения производительности (но не простоты сопровождения кода) лучше переносить часть логики на БД, которая молотит числа быстрее, чем питон. ( + там есть классные фишки вроде индексации и сегментации)

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

Как обойти этот момент? Обязательно тянуть данные из каждой таблицы отдельным запросом?
Можете подсказать, как эту проблему решают в ORM фреймворках (например в алхимии), не хочу ковыряться в исходниках.

Ответы3182

207 20 фев 2018, 23:41 207 1143150

И ещё, может кто-нибудь подсказать фреймворк/библиотеку для вычисления технических индикаторов для бэктестинга и торговли. Быстрым гуглом нашёл кучу всяких "TOP 10 libraries for" страниц, но там большинство библиотек написаны одним Васяном и не имеют даже сотни звёзд на гитхубе.

Про python scientific stack (numpy, scipy, pandas, etc) знаю, ищу что-то более специализированное для трейдинга/рассчёта финансовых показателей.

Ответы31823246

208 21 фев 2018, 00:28 208 1143182

>>1143146
> Как обойти этот момент?
aiopg, asyncpg
>>1143150
> ищу что-то более специализированное для трейдинга/рассчёта финансовых показателей.
Бери numpy и юзай, лучше и быстрее ты вряд ли найдёшь.
Может как раз напишешь свою библиотеку для трейдинга.
> не имеют даже сотни звёзд на гитхубе.
Узкая специализация

Ответы4015

209 21 фев 2018, 01:41 209 1143213

>>1143041
ты должен думать не так

210 21 фев 2018, 02:51 210 1143236

Аноны, есть два стула, один с PyQt5, второй с Kivy. Какой выбрать для написания приложения для Android/Win10 desktop?
P.s. Что-то про windows phone ничего не нашел, реализуемо это вообще, на питоне?

211 21 фев 2018, 04:34 211 1143246

>>1143150
TA-lib

Ответы4015

212 21 фев 2018, 09:19 212 1143273

https://ideone.com/eK9jie

Захотел узнать тип у range. Оказался <class 'range'>
Вопрос: где можно посмотреть все стандартные классы питона?

Ответы328732893290

213 21 фев 2018, 10:32 213 1143287

>>1143273
https://docs.python.org/3/library/stdtypes.html

214 21 фев 2018, 10:33 214 1143289

>>1143273
А вообще ipython, dir(), type(), help(), etc.

215 21 фев 2018, 10:38 215 1143290

>>1143273
dir( _ _ builtins _ _ )

216 21 фев 2018, 12:53 216 1143358

Посоветуйте книг по Reguar Expressions на русском желательно, если есть.

Ответы33943449

217 21 фев 2018, 14:21 217 1143394

>>1143358
Про всё, что умеет пайтон и о том, как это готовить хорошо рассказано в этой лекции:
https://www.youtube.com/watch?v=zk7306cHIkg

Если тебе нужны перловые "регэкспы" и реально глубокие познания этого дерьмя - иди нахуй, т.е. за книгой: Дж.Фридл - Регулярные выражения, 3-е изд.[2008] - она есть на русском.

Ответы3689

218 21 фев 2018, 15:57 218 1143449

>>1143358
Я тебе посоветую прогу Regex Buddy. Пользуясь её подсказками при составление регексов можно всё выучить.

219 21 фев 2018, 16:50 219 1143509

Есть апи, в котором лежит картинка, как мне сделать, чтобы в апи показывало юрл картинки, то есть image.url а не image?

Ответы4004

220 21 фев 2018, 17:46 220 1143586

>>1141210
хуй знает, попробуй это всё под функцией сделать, а в функцию передавай bot

221 21 фев 2018, 18:07 221 1143608

Нормальная работа на питоне вообще есть ?
Или я буду за рис работать ?

Ответы36113976

222 21 фев 2018, 18:10 222 1143611

>>1143608
Самый высокооплачивамый язык в украине.

Ответы3612

223 21 фев 2018, 18:13 223 1143612

>>1143611
Слава Украине !!!

Ответы3613

110 Кб, 981x672
224 21 фев 2018, 18:14 224 1143613

>>1143612
Питону слава!

Ответы3615

225 21 фев 2018, 18:16 225 1143615

>>1143613
Змей Горыныч

Ответы3742

226 21 фев 2018, 19:20 226 1143689

>>1143394
>Фридл - Регулярные выражения, 3-е изд.[2008]
Огромное спасибо, няша

227 21 фев 2018, 20:26 227 1143742

>>1143615
пітон українськич

228 21 фев 2018, 20:53 228 1143770

привет , подскажите книги и ресурсы по питону , начинаю учить его , шо .

Ответы3816

229 21 фев 2018, 21:10 229 1143781

>>1141484
https://youtu.be/mhNIHgJPP3g

Ответы38243868

230 21 фев 2018, 21:21 230 1143791

>>1141560
repr

231 21 фев 2018, 21:23 231 1143797

>>1141665
Поставить виртуалку, а уже потом туда крякнутый matlab накатить не пробовал?

19 Кб, 648x133
232 21 фев 2018, 21:26 232 1143799

И что это за хуйня? В учебнике написано, что decimal.Decimal используют, когда точность важнее скорости. Это не похоже на точность. Че его так пидорит, откуда эти цифры?

Ответы3818406340774162

233 21 фев 2018, 21:51 233 1143812

>>1142011
Оба

234 21 фев 2018, 21:55 234 1143816

>>1143770
Лутц

235 21 фев 2018, 21:56 235 1143818

>>1143799
В первом случае у тебя
0,66666000000

А во втором
0,66666296512 - точнее!

Ответы3827

236 21 фев 2018, 22:01 236 1143824

>>1143781
Это охуенно. Какие ограничения?

237 21 фев 2018, 22:03 237 1143827

>>1143818
Ладно, справедливо. Но все равно, откуда эти цифры берутся? И почему если я сделаю не Decimal(2/3), а Decimal(2)/Decimal(3), то получу более точное 0.66666666666666667, а не вот эти непонятные цифры?

Ответы3854

238 21 фев 2018, 22:18 238 1143854

>>1143827
Ты серьёзно, да? 2/3 даёт float, который ты затем в Decimal перегоняешь

Ответы4147

239 21 фев 2018, 22:35 239 1143868

>>1143781
Вот и первые подводные камни UserWarning: 32-bit application should be automated using 32-bit Python (you use 64-bit Python)

лолкек 240 21 фев 2018, 23:55 240 1143946

>>1141210
Забей болт на это говно, юзай либу python-telegram-bot

46 Кб, 480x543
241 22 фев 2018, 00:14 241 1143970

Рассказывайте что пилите помимо джобы, для души/отдыха.

Ответы40014205

sage 242 22 фев 2018, 00:19 242 1143976

>>1143608
Конечно за рис.

$4000/24 лвл/чуть менее 3-х лет опыта

Ответы3979

243 22 фев 2018, 00:23 243 1143979

>>1143976
>$4000
в наносекунду или год?

Ответы3987

sage 244 22 фев 2018, 00:30 244 1143987

>>1143979
В месяц чистыми. Но чтобы сохранить температурный режим своего ануса, можешь конечно считать что я вру.

Ответы4005

37 Кб, 1127x685
245 22 фев 2018, 00:57 245 1144001

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

246 22 фев 2018, 01:04 246 1144004

>>1143509
import requests

response = requests.get(url, data={'request': 'give_me_plz_image.url'})
print(response.text)

247 22 фев 2018, 01:04 247 1144005

>>1143987
Не, я просто спрашиваю потому, что думаю тоже связать свою жизнь со всей этой хуйней. А чем занимаешься? Я просто могу представить грузчика. Он таскает штуки туда-сюда, сам или на машине специальной. Я могу представить продавца. Он хуярит продукты о считывающую хуйню. А что делают программисты?

Ответы400740374121

248 22 фев 2018, 01:07 248 1144007

>>1144005
Пишут, считают, учат, проёбывают энергию перед монитором, проектируют и куча всего ещё

249 22 фев 2018, 01:53 249 1144015

>>1143246
Спасибо, анон, норм либа и звёзд на гитхабе много, всё как я люблю. Даже не верится что я мог упустить её при гуглении!

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

Попробую переформулировать:

Есть база с 3 таблицами (для простоты индексы опускаю):

Мальчики Машины Девочки
Петя БМВ Катя
ТАЗ Даша
Лиза

Таблица Мальчики связана с остальными таблицами один-ко-многим, т.е у Пети есть 2 машины и 3 подруги.

Я хочу достать из базы все Петины машины и всех Петиных подруг. Очевидный вариант -- сделать двойной иннер джойн и получить 6 строк результата (123=6), тем не менее если сделать два разных запроса ( отдельно джойнить Петю с машинами и отдельно с Девочками) то получится только 5 строк результата. Понятно, что речь идёт не об одной лишней строке, легко видеть, что при первом подходе количество строк растёт как произведение размеров таблиц, во втором -- как сумма.

Но второй подход гоняет данные лишний раз между базой и питоном, а ещё если скрипт для селекта Пети тяжёлый (выбираем по куче условий), то дважды его запускать не хочется.

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

И отдельный вопрос, как решают эту задачу ОРМ либы?

Ответы40174049

12 Кб, 552x180
250 22 фев 2018, 01:58 250 1144017

>>1144015
Схема БД картинкой

Ответы4019

251 22 фев 2018, 02:01 251 1144019

>>1144017
Первичные ключи где? Второго уровня ключи где?.. Индексы он опускает — вообще охуеть!!

Ответы4032

252 22 фев 2018, 02:14 252 1144026

Анонче, не бейте, лучше обрссыте. Надо сделать клиент-серверное приложение: клиент (браузер) вводит число и посылает на сервер, сервер на питоне принял и допустим ответил назад вдвое больше число (не важно). Сижу вдупляю nginx, uWSGI и джангу пихают в гугле, и нихуя понять не могу. Прямо затуп и осознание что нихуя не понимаю в вебразработке. Направьте меня на мысль мудрецы. не лаба

Ответы4032405041114136

9 Кб, 643x181
253 22 фев 2018, 02:32 253 1144032

>>1144019
Прикрепил картинкой схему с ключами, хотя отношение один-ко-многим как бы намекает (хотя хз, может ты знаешь несколько способов сделать один-ко-многим?)

Запрос будет в первом случае:
SELECT m.name, g.name, c.brand FROM мальчик m JOIN девочка g ON m g.мальчик_id = m.id JOIN машина c ON c.мальчик_id = m.id

= 1х2х3 = 6 строк

Во втором:
SELECT m.name, g.name FROM мальчик m JOIN девочка g ON m g.мальчик_id = m.id

и

SELECT m.name, c.brand FROM мальчик m JOIN машина c ON c.мальчик_id = m.id

= 3 + 2 = 5 строк

>>1144026
попробуй flask, для одной формочки джанго жирновато будет

254 22 фев 2018, 03:33 254 1144037

>>1144005
Грузчики манипулируют физическими предметами в реальнсти. Программисты манипулируют абстракциями в виртуале.

255 22 фев 2018, 04:59 255 1144049

>>1144015
Догадаться легко, раз такие вопросы задаешь, то явно не СКЛайт юзаешь.
Я тебе подсказал быстрые либы.
Я конечно нуб в БД, но я б делал без джоинов(пояснишь, в чем их плюс?), обычным SELECT car_name FROM table_cars WHERE car_owner='Patya' и точно такой же запрос для дам.
У тебя очень простой пример и ничего тут не оптимизируешь.
А в идеале, запрос к большой выборке из БД должен быть в несколько этапов:
1. Выбираешь из БД минимум полей, с минимальным колличеством условий,
2. затем полученные данные фильтруешь еще раз, уже по полному списку нужных условий
3. Если тебе выбранных полей хватает - все ок. Если нет - делаешь еще одну выборку, но уже по известным primary key. Этот пункт подходит если есть лишние при поиске поля, но в которых хранится важная для юзера инфа.

256 22 фев 2018, 05:02 256 1144050

>>1144026
Flask
Ты может пока до Nginx and uWSGI не разгоняйся, на локалке позапускай, наиграйся, а потом уже дальше думай(может и не понадобится).
А вообще, есть годный гайд от digital ocean, там, правда для Джанги вроде, но не критично.

Ответы40534410

257 22 фев 2018, 05:45 257 1144053

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

Ответы40844149

258 22 фев 2018, 08:07 258 1144063

>>1143799
from fractions import Fraction as F
x = F(2, 3)

Ответы4147

259 22 фев 2018, 10:06 259 1144077

>>1143799
Decimal исопльзуется, набери воздуха в грудь только для десятичных дробей.
Является ли 2/3 десятичной дробью?

Ответы4147

260 22 фев 2018, 10:35 260 1144084

>>1144053
>Новую страничку генерить тупо, хочется цифру ввел, произвел трудные серверовычисления и тутже вывел не отходя от кассы

ну можешь ajax-ом сделать, но это чуть сложнее

если страничку норамльно оформить, клиент не заметит ничего

2 Кб, 256x23
261 22 фев 2018, 10:53 261 1144088

DJANGO 2.0 КАК ПРАВИЛЬНО ИМПОРТИРОВАТЬ?

Пытаюсь импортировать класс из models.py, который
находится в папке Contact. Что-то явно пошло не так, в итоге из-за этой херни пол дизайна страницы полетело.

Ответы41294136

262 22 фев 2018, 11:07 262 1144093

Питон 4 грядет
https://docs.python.org/3.7/whatsnew/3.7.html
Смотрите в конце pep563

sage 263 22 фев 2018, 11:42 263 1144111

>>1144026
Такую элементарную хуйню проще всего задеплоить на amazon lambda.
Смотри сюда https://github.com/Miserlou/Zappa

sage 264 22 фев 2018, 11:55 264 1144121

>>1144005
Я могу представить твою мамку на моем хуйце, деб.

Ответы4147

265 22 фев 2018, 12:04 265 1144129

>>1144088
в папке contact должен быть _ _ init_ _ .py

Ответы4230

266 22 фев 2018, 12:07 266 1144136

>>1144026
я бы заюзал вебсоКЕКтсы
(twisted+websockets)
>>1144088
__init__ .py есть?

Ответы4230

267 22 фев 2018, 12:12 267 1144141

Лучше все юзать редактор - pуcharm?
Отладку кроссплатформенного скрипта лучше делать сидя на каждой конкретной ОС?

Ответы4151

268 22 фев 2018, 12:24 268 1144147

>>1144063
Спасибо, но у меня не цель поделить 2 на 3, а понять, как работает Питон.

>>1144077
>википедия
>Десятичная дробь — разновидность дроби, которая представляет собой способ представления действительных чисел в виде ±dm...d1d0,d-1d-2....
>где .... d-1d-2... может быть как конечной, так и бесконечной
Да, 2/3 можно представить как десятичную дробь.

>>1143854
>2/3 даёт float, который ты затем в Decimal перегоняешь
Но тогда 2/3 дает мне флоат 0.6, который я перегоняю в десимал и получаю те же 0.6 остальные цифры убрал для удобства Но Питон каким-то хуем получает 0.629659
Вот откуда эти 0.029659?

>>1144121
Вау, вот это да. Долго придумывал? Иди теперь своей маме расскажи, какой ты в интернете классный.

Ответы4159416241824195

269 22 фев 2018, 12:25 269 1144149

>>1144053
Какому условию? Не лаба ведь.
Тут тебе верно сказали, нужен ajax(все проще, чем ты думаешь, но нужны минимальные познания в js) или легковесная страничка.

Ответы4410

270 22 фев 2018, 12:29 270 1144151

>>1144141
Мне даже интересно, что ты там такое пишешь, что у тебя пифон не кроссплатформенным получится может

Ответы4167

271 22 фев 2018, 12:40 271 1144159

>>1144147
>откуда эти 0.029659
Читай что такое float, как он хранит данные и зачем вообще нужен decimal если уже есть float.

272 22 фев 2018, 12:48 272 1144162

>>1144147>>1143799
>Вот откуда эти 0.029659?
Они там были всегда, просто repr у float'а и Decimal'а отображает разное количество знаков (собственно, из-за их разной точности).

https://repl.it/repls/QuixoticPepperyKeygen

273 22 фев 2018, 12:54 273 1144167

>>1144151
Ну я создаю скрипт создания директорий\папок, и в зависимости от ОС пути будут разными. И кусок команд для создания папки + файла работает в вин, но не работает в линукс.

Ответы4168

274 22 фев 2018, 12:59 274 1144168

>>1144167
>и в зависимости от ОС пути будут разными.
>И кусок команд для создания папки + файла
работает в вин, но не работает в линукс.
Это потому что у тебя говнокод.

os.path.sep
os.path.expanduser("~")
os.path.join()

sage 275 22 фев 2018, 13:22 275 1144182

>>1144147
>Вау, вот это да. Долго придумывал? Иди теперь своей маме расскажи, какой ты в интернете классный.
Ну на зеленый вопрос получи зеленый ответ. Чем занимаются программисты спрашивает, охуеть.

Ответы4185

276 22 фев 2018, 13:27 276 1144185

>>1144182
Да нормальный вопрос. Отвечаю: хуйнёй маются, на коленке собирают говнокод по методу хуяк-хуяк и в продакшен, все эти бесконечные сервисы и стартапы убыточные, часто даже до релиза не доживают, никому это всё не нужно, особенно в этой стране.

277 22 фев 2018, 13:44 277 1144195

>>1144147
>википедия
>Да, 2/3 можно представить как десятичную дробь.

кодеры которых мы заслужили

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

вкратце, любая дробь, кроме m/2^n будет представлена двоичным компьютером с какой-то ошибкой

Ответы4206

278 22 фев 2018, 14:07 278 1144205

>>1143970
Пилю много всего, понемножку.
Свою игрушку, свою микро-социалочку, свою компонентную структуру и свои микросервисы.

Ответы4549

279 22 фев 2018, 14:07 279 1144206

>>1144195
В контексте программирования ещё вполне можно рациональными числами считать. Либо очень извернуться и написать вычисления с периодическими дробями в виде строк. Иррациональные, либо рациональные с очень большими числителями-знаменателями уже да, никак, только приближения, насколько хватит памяти в компьютере.

Ответы4281

16 Кб, 200x200
280 22 фев 2018, 15:03 280 1144227

>хотел что-то спросить
>пока думал, как лучше спросить, нашёл решение

Ответы4259

281 22 фев 2018, 15:12 281 1144230

>>1144136
>>1144129
Да, есть. Пустой __init__ .py

Ответы4236

282 22 фев 2018, 15:19 282 1144235

В питоне всегда байты не полностью отображаются? (Вместо 0b00000000, показывает 0b0). Можно как-то сделать, чтобы полностью выдавал с нулями?

Ответы4260

283 22 фев 2018, 15:26 283 1144236

>>1144230
попробуй добавить перед contact точку

Ответы4247

85 Кб, 320x240
284 22 фев 2018, 15:42 284 1144245

Анонасы, помогите джанга 2.0 не хочет хавать CSS.
С чем может быть связан конфликт?
В главной папке в settings.py внизу прописана такая хуйня
STATIC_URL = '/static/'
STATIC_ROOT = ''

Так же пробовал такую хуйню писать STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
Ну, а юзаю через эту хуйню в другой директории.
{% load staticfiles %}
<link rel="stylesheet" href="{% static'css/bootstrap.min.css'%}" type="text/css">

В чем может быть проблема?

Ответы4249

285 22 фев 2018, 15:44 285 1144247

>>1144236
да ладно, тут похоже проблема в пичарме самом. Я вроде потыкал, через терминал без проблем всё

286 22 фев 2018, 15:46 286 1144249

>>1144245
> static'css

Ответы4262

287 22 фев 2018, 16:07 287 1144259

>>1144227
https://ru.wikipedia.org/wiki/Метод_утёнка

288 22 фев 2018, 16:10 288 1144260

>>1144235
'{:08b}'.format(value)
Ну или сколько тебе там нулей надо вместо 8 впиши.

289 22 фев 2018, 16:13 289 1144262

>>1144249
Бля, пробел пропал. Но в коде он есть и ничего не дает.
<link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}" type="text/css">

Ответы6153

290 22 фев 2018, 16:34 290 1144281

>>1144206
>Иррациональные, либо рациональные с очень большими числителями-знаменателями уже да, никак,
Можно использовать цепные дроби для представления иррациональных и трансцендентных чисел.

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

Ответы4285

291 22 фев 2018, 16:39 291 1144283

Интересно, а "программисты" вообще слышали про цепные дроби? "Программисты" знают, как вычислить число e через цепные дроби? Знают они, как приводить цепную дробь в к P/Q?
"Программисты" понимают, что такое теория групп? Что такое Абелева группа?

Ответы4332

552 Кб, 1600x2100
292 22 фев 2018, 16:41 292 1144285

>>1144281
>Число представляется конечной цепной дробью тогда и только тогда, когда оно рационально.

>теория групп
А, ясно, хаскель-тред протёк.

Ответы4288

293 22 фев 2018, 16:43 293 1144288

>>1144285
>А, ясно, хаскель-тред протёк.
Дурак. Это хаскель - это теория категорий. Все ясно с тобой. Вам еще и деньги платят за ваш "труд"...

Ответы4292

226 Кб, 483x374
294 22 фев 2018, 16:48 294 1144292

>>1144288
Продолжай.

Ответы42944297

295 22 фев 2018, 16:51 295 1144294

>>1144292
Вот это култура спора!

Ответы42974298

296 22 фев 2018, 16:53 296 1144297

>>1144294
>култура
культура fix

>>1144292
К слову, вычислить квадратный корень из двух в нужной точности сможешь?

Ответы4302

297 22 фев 2018, 16:53 297 1144298

>>1144294
Ты обосрался с самого первого поста со своими цепными дробями. Ты диванный математик, пиздабол по-русски выражаясь. О чём с тобой спорить?

298 22 фев 2018, 16:55 298 1144302

>>1144297
Смогу как нехуй делать, методом приближений.

299 22 фев 2018, 16:56 299 1144305

>Настоящий программист впервые в жизни прочитал о цепных дробях в википедии. Остановился на фразе
>Число представляется конечной цепной дробью тогда и только тогда, когда оно рационально.
>Но не стал читать дальше.

Ответы4306

300 22 фев 2018, 16:59 300 1144306

>>1144305
Лол. Потому что этого достаточно. Изначальный тезис был в том, что память компьютеров ограничена, и иррациональные числа нельзя записать с абсолютной точностью. Даже не все целые можно.

Ответы4308

301 22 фев 2018, 17:03 301 1144308

>>1144306
>Потому что этого достаточно.

>>1144306
>Изначальный тезис был в том, что память компьютеров ограничена
Родной, а тебе и не нужно абсолютно точное представление чисел в компьютере. Тебе нужно только то представление, которое требуется для решение задачи. Но ты же не знаешь, что такое цепные дроби.

А еще ты начал отвечать на мой пост даже не удосужившись прочитать теорию.

Нет времени думать, надо отвечать.

Ответы4316

302 22 фев 2018, 17:07 302 1144312

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

Ответы4316

303 22 фев 2018, 17:10 303 1144316

>>1144308
Всё знать невозможно, да и не нужно. Узнаю всё по мере необходимости.
>>1144312
Битовым сдвигом. Короче ты заебал, иди на хуй. Экзаменатор блеать. Я тоже много чего специализированного знаю, но мне насрать если кто-то этого не знает.

Ответы4319

304 22 фев 2018, 17:13 304 1144319

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

>Битовым сдвигом.

Ответы4329

305 22 фев 2018, 17:19 305 1144329

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

Ответы4333

306 22 фев 2018, 17:23 306 1144332

>>1144283
А можно точное определение программиста?
Во всяких пиндостанах есть четкое разделение на компутер саентистов, программеров и софтвар инженеров, а у нас под словом программист каждый свое понимает

Ответы43344336

307 22 фев 2018, 17:24 307 1144333

>>1144329
Я софт и пишу. Но я пишу код 1-2 раза, а потом используют его везде, а ты пишешь говнокод, который постянно переделываешь.

Продолжай искать ответы в гугле не имея базы.

Ответы4341

308 22 фев 2018, 17:26 308 1144334

>>1144332
Сейчас точно не скажу, но есть очень хорошее определение у Степанова в лекциях по программированию.

309 22 фев 2018, 17:30 309 1144336

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

Просто и со вкусом.

Ответы4338

310 22 фев 2018, 17:31 310 1144338

>>1144336
>Да, вспомнил. Программист - это человек, который моделирует реальность в компьютере с помощью битов.
То есть из этого определения программисты это байтослесари?

311 22 фев 2018, 17:37 311 1144341

>>1144333
Да, переделываю. И не считаю это чем-то плохим. Идеальный код, тем более с первой итерации, написать нельзя в принципе. Более того, если к нему применяются оптимизации, он уже перестаёт быть идеальным как (человекочитаемый) код. Мне так нравятся твои импликации, это пиздец. То есть вот я, убив на программирование (причём на жёсткую практику, ибо жрать было нечего, нищета, отсиживание жопы в универе мамкина шея не тянет) десяток лет, оказывается не умею ничего, ты так скозал, потому что какие-то дроби я столько же лет в глаза не видел уже. Блядь. Пиздец это как всё угнетает, когда тебе реально интересна наука и теория, и когда вот такие пидоры приходят и дёшево самоутверждаются на тебе, попутно взращивая ненависть как к наукам, так и к людям в целом. Господи, за что я в такой стране родился?

Ответы43454353

312 22 фев 2018, 17:43 312 1144345

>>1144341
«Computer Scientist» — математик и технический специалист в равной степени. Он обладает математическими знаниями и объясняет, как и почему работает тот или иной инструмент, решение или алгоритм. Его работа имеет большое значение для развития программирования в целом. Также CS свойственна специализация в одной или нескольких сферах — ИИ, нейронные сети, теория языков программирования, базы данных.

«Software Engineer» (SE) (согласно статье в webopedia) — это дипломированный профессиональный инженер, имеющий достаточно знаний и навыков для применения инженерных дисциплин при создании программного обеспечения. Главное отличие — SE занимается разработкой, руководством проектов, а программист их реализует путем написания кода. На русский название должности переводится как «инженер-программист» или просто «программист».
Работа «Software Engineer» подразумевает комплексный подход и иногда ее можно сравнить даже с процессом создания произведения искусства, которое программист старается постоянно усовершенствовать. Так считает и Дэниел Каплан (Daniel Kaplan), опытный программист и сотрудник Pivotal Labs.
Инженер должен видеть всю картину с двух сторон: проект в соответствии с общим планом и отдельные задачи, необходимые для его осуществления. Он должен уметь находить верные комплексные решения, понимать требования клиентов, прогнозировать возможные последствия и распределять задачи по программированию (в команде).

Для обеспечения полноценной разработки ПО/кода программист должен быть сконцентрирован на своей работе и обеспечить последующее использование и интеграцию программных компонентов друг с другом. Энтони Щерба (Anthony Scherba), президент и основатель студии разработки Yeti, сравнивает этот процесс с решением сложной алгебраической задачи.
Так, по мнению эксперта, в обязанности программиста входит создание, упрощение, документирование кода и написание тестов. Поскольку он занимается практической реализацией поставленных задач, программист должен разбираться в особенностях языка (языков) программирования, с которыми работает, а также в теории алгоритмов.
Необязательные компетенции: математический анализ, коммуникативные навыки и умение работать в команде — подробнее в блоге Алана Скоркина (Alan Skorkin).

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

312 22 фев 2018, 17:43 312 1144345

>>1144341
«Computer Scientist» — математик и технический специалист в равной степени. Он обладает математическими знаниями и объясняет, как и почему работает тот или иной инструмент, решение или алгоритм. Его работа имеет большое значение для развития программирования в целом. Также CS свойственна специализация в одной или нескольких сферах — ИИ, нейронные сети, теория языков программирования, базы данных.

«Software Engineer» (SE) (согласно статье в webopedia) — это дипломированный профессиональный инженер, имеющий достаточно знаний и навыков для применения инженерных дисциплин при создании программного обеспечения. Главное отличие — SE занимается разработкой, руководством проектов, а программист их реализует путем написания кода. На русский название должности переводится как «инженер-программист» или просто «программист».
Работа «Software Engineer» подразумевает комплексный подход и иногда ее можно сравнить даже с процессом создания произведения искусства, которое программист старается постоянно усовершенствовать. Так считает и Дэниел Каплан (Daniel Kaplan), опытный программист и сотрудник Pivotal Labs.
Инженер должен видеть всю картину с двух сторон: проект в соответствии с общим планом и отдельные задачи, необходимые для его осуществления. Он должен уметь находить верные комплексные решения, понимать требования клиентов, прогнозировать возможные последствия и распределять задачи по программированию (в команде).

Для обеспечения полноценной разработки ПО/кода программист должен быть сконцентрирован на своей работе и обеспечить последующее использование и интеграцию программных компонентов друг с другом. Энтони Щерба (Anthony Scherba), президент и основатель студии разработки Yeti, сравнивает этот процесс с решением сложной алгебраической задачи.
Так, по мнению эксперта, в обязанности программиста входит создание, упрощение, документирование кода и написание тестов. Поскольку он занимается практической реализацией поставленных задач, программист должен разбираться в особенностях языка (языков) программирования, с которыми работает, а также в теории алгоритмов.
Необязательные компетенции: математический анализ, коммуникативные навыки и умение работать в команде — подробнее в блоге Алана Скоркина (Alan Skorkin).

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

Показать весь текст

313 22 фев 2018, 17:46 313 1144347

Как же мне нравится батхерт "программистов".

314 22 фев 2018, 17:52 314 1144353

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

77 Кб, 200x150
315 22 фев 2018, 18:01 315 1144362

Кококо смотрите,Я никакойкакфсе. Блять, может ты будешь юзать свои знания, а не выебываться? Или ты такое назначение им нашел?
Накодятся своими байтами, а потом и в жопу друг друга ябут...

316 22 фев 2018, 18:05 316 1144364

>Нечего ответить - всегда можно обозвать петухом.
>Это называется культура.

Да я просто про decimals ответил.

Ответы4370

317 22 фев 2018, 18:19 317 1144370

>>1144364
кстати decimal это на самом деле float

154 Кб, 453x764
318 22 фев 2018, 18:31 318 1144372

Анон, читаю учебник по Питону. Я правильно понимаю, что автор слегка обосрался? Ведь проверка if word != 0 всегда будет True т.к. word либо None, который не равен нулю, либо какая-то строка, и даже строка '0' нулю не равна.

Ответы43784432

319 22 фев 2018, 18:42 319 1144378

>>1144372
На пятой строке word = 0

Ответы4432

320 22 фев 2018, 19:47 320 1144410

>>1144149
>>1144050
Ну это не лаба, но задание с добровольно-принудительным использованием nginx типа сиди ебись
Задание можно сделать и на клиентской стороне без всяких выкрутасов, но смысл именно в выкрутасах.
Провернуть условно взаимодействие клиентской формочки с какими-то серверными вычислениями на питоне, прихуячить nginx и в эту сторону кароче

Ответы4567

321 22 фев 2018, 19:56 321 1144413

Аноны, есть ли питоне анолог функции xcorr из матлаба?

Ответы4432

322 22 фев 2018, 20:22 322 1144429

А я вот одного не могу понять. Я вот вкатываюсь в питон и хочу в дальнейшем в сферу бэкэнд-разработки попасть, но какие вакансии на питон-джуна на HH не посмотрю, везде какая то верстка с Django/Flask'ом. Это что получается, мне чтобы в бэкэнд попасть придётся как минимум год ковырять эти дебильные фреймворки?

Ответы4431

323 22 фев 2018, 20:24 323 1144431

>>1144429
Да

324 22 фев 2018, 20:26 324 1144432

>>1144372>>1144378
А в чём смысл такого изворота? Почему бы просто не оставить word None'ом и не проверить на if word:? Ну или is not None, если вдруг пустую строку в качестве аргумента нужно тоже обрабатывать зачем-то.

>>1144413
https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.correlate.html
https://docs.scipy.org/doc/numpy/reference/generated/numpy.correlate.html

Ответы4451

325 22 фев 2018, 20:32 325 1144436

Поясните за csrf токен в целом и в рест фреймворке в частности. Я написал апишку, с методами пост и так далее, туда идет айос андроид приложение и в хедере должно отправить X-csrftoken, который они достают из куки, который они получили при логине от меня. При этом если в куки такого токена нет, то это будет фейл. Вопрос в чем, зачем это делать, ведь по сути если спалят токен из хедере или кук, то можно создать локальные куки и так же в хедере отправить этот токен.
В чем общая суть, что я не так понимаю?

Ответы44544707

326 22 фев 2018, 20:47 326 1144451

>>1144432
Читай про флаги в программировании.

Книгу видимо сишник писал, на пистоне по другому чуть чуть пишут.

Ответы4643

327 22 фев 2018, 20:59 327 1144454

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

Ответы4459

328 22 фев 2018, 21:02 328 1144459

>>1144454
Ну хорошо, но вопрос в другом, зачем отправлять тогда в хедере этот токен. Если например в сессиях есть айди юзера и в куках есть сешн айди, то тут джанго сам всё проверяет и ничего делать не надо, но в случае csrf он сам не проверяет, хотя это казалось бы логично, плюс по другому ключу в хедере передается, зачем?

Ответы4462

329 22 фев 2018, 21:08 329 1144460

60 Кб, 594x27159 Кб, 583x272

Подскажите, пожалуйста, бьюсь и не могу решить такую проблему.
Вот есть седьмая строка. Ее суть — реагировать на ввод данных, не просто не входящих в массив, но и совершенно другого типа (string или float, к примеру). Но, разумеется, так, как сейчас, она не работает. Она реагирует только на целые числа, не входящие в массив. Любое строковое значение завершается завершением программы. А мне нужно, что писалось: "введи целое число, сука".
То есть нужно, чтобы было что-то типа
if guessNumber != int()
или как-то так, но, конечно, так это не работает.
Так вот, как это разрешить?

Ответы4464

330 22 фев 2018, 21:10 330 1144462

>>1144459
Вот поэтому когда начальник предложил делать сайт на реакте , rest api и вот этим всем, то мы с фронтендером предложили ему не выебываться и сделать все по старинке.

Ответы4513

331 22 фев 2018, 21:13 331 1144464

>>1144460
.isdigit()

Ответы4467

332 22 фев 2018, 21:16 332 1144467

>>1144464
Ох, спасибо. Похоже, я до этого просто не дошел в учебнике. Впервые вижу такую функцию.

333 22 фев 2018, 22:44 333 1144513

>>1144462
На пхп?

24 Кб, 500x341
334 22 фев 2018, 23:45 334 1144549

>>1144205
Покажи скриншотик :3

335 23 фев 2018, 00:17 335 1144567

>>1144410
Ну тогда вот тебе стек:
Flask,ajax + Nginx,uwsgi,supervisor
Вначале ковыряешь то что слева, затем это натягиваешь, на то что справа.

336 23 фев 2018, 01:54 336 1144603

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

Ответы46084708479648984985

337 23 фев 2018, 02:00 337 1144608

>>1144603
> работа с питоном в разных дистрибутивах вообще как-то может отличаться?
С питоном - нет, но в зависимости от графической оболочки тебе может быть удобно юзать ОС, а может и нет.
Я бы посоветовал для начала Mint, а потом на Debian перекат, как привыкнешь к консольке.

Ответы460946114789

338 23 фев 2018, 02:01 338 1144609

>>1144608
p.s.
> Сейчас хожу на курсы по вебу
Шли нахуй, читай шапку треда и учи сам.

Ответы4611

339 23 фев 2018, 02:07 339 1144611

>>1144608
Понял, спасибо.
>>1144609
Сам и учу, там практически ничего не дают на самих занятиях, просто у меня такой ерундовый характер, что нужна дополнительная мотивация.

Ответы4613

340 23 фев 2018, 02:18 340 1144613

>>1144611
> нужна дополнительная мотивация
А дальше как мотивироваться будешь?
Ну вот закончатся курсы, дальше что?

Ответы4617

341 23 фев 2018, 02:33 341 1144617

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

Ответы4619

2,3 Мб, 1000x2808
342 23 фев 2018, 02:41 342 1144618

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

Ответы46194620

343 23 фев 2018, 02:42 343 1144619

>>1144617
^^^^^^^^^
>>1144618

344 23 фев 2018, 02:45 344 1144620

>>1144618
Спасибо.

345 23 фев 2018, 06:23 345 1144643

>>1144451
>Читай про флаги в программировании.
Так есть же там флаг уже — None. Зачем его на ноль-то менять. А в Си один хрен что до, что после было бы 0. Да и можно было и тут изначально word = 0 сделать, а не None. В общем, глупость какая-то, лишняя строка кода.

>на пистоне по другому чуть чуть пишут.
Я потому и спросил, зачем это неэлегантное, мм, решение сюда тащить.

Ответы4680

346 23 фев 2018, 07:49 346 1144645

Хелп
есть код https://pastebin.com/BUjbD8Qq

При использование кода с openserver появляется ошибка (ошибка указана ниже)

(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1")

Ответы4677479247944905

347 23 фев 2018, 10:30 347 1144676

Как в сераилайзерах сделать чтобы по полю ForeignKey отображался не айдишник, а конкретное поле из ForeignKey.
То есть скажем у меня пост модель Post с ForeignKey к Comment, в Comment есть поле title, как мне в сериалайзере отображать это поле, а не айдишник комента?

Ответы46856209

348 23 фев 2018, 10:34 348 1144677

>>1144645
так не надо делать

ты в нескольких строках формируешь запрос к базе на основании пользовательских данных (сообщения телеги)

это готовый рецепт для sql-инъекции

используй ORM. Или символы-заместители ?

Ответы4870

349 23 фев 2018, 10:36 349 1144680

>>1144643
Я же тебе говорю читай про флаги, это в си принято. На питоне так не пишут. В книге пример переписанный с си.

Ответы4686

350 23 фев 2018, 10:45 350 1144685

>>1144676
В сериалайзере Post, имеется в виду, конечно.

351 23 фев 2018, 10:54 351 1144686

>>1144680
Да что ты одно и то же повторяешь-то, в курсе я флагов.
Я, на самом деле, просто не прочитал само задание (и кода функции не видел на тот момент), оказывется, None тоже валидное значение word'а (при отсутствии аргументов к программе), а мне казалось почему-то, что и 0, и None к одному результату в итоге приведут.

>На питоне так не пишут.
Ну так написал бы, как надо, например, раз уж мы в питон-треде.

352 23 фев 2018, 11:10 352 1144696

Какую библиотеку стоит посмотреть новичку?

Ответы4697

353 23 фев 2018, 11:10 353 1144697

>>1144696
Стандартную.

354 23 фев 2018, 11:22 354 1144707

>>1144436
Защита от csrf нужна при авторизации через кукисы. Нахуя оно тебе в рест апи? Ты же по хедеру авторизируешь?

Ответы4780

355 23 фев 2018, 11:24 355 1144708

>>1144603
Ставь самую популярную систему (те убунту) и не еби себе мозги.

356 23 фев 2018, 14:01 356 1144780

>>1144707
Логиню по кукам.
У меня в апи есть метод джанговский стандартный логин. Приходит access_token с фейсбука я либо создаю, либо достаю существующего юзера, логиню его через login и возвращаю auth_token, который приложения могут посылать в хедере, но также они и могут все безопасные методы открывать просто без токена.
Или это охуеть как тупо и логин надо сносить и везде принимать auth_token и тогда csrf не нужен?

Ответы4787

357 23 фев 2018, 14:19 357 1144787

>>1144780
Ты логинишь ios приложение по кукам? Ты кукухой поехал.

Ответы4821

358 23 фев 2018, 14:23 358 1144789

>>1144608
>Mint
Наверное, имеется в виду оболочка Cinnamon, написанная на питоне.

359 23 фев 2018, 14:29 359 1144792

>>1144645
> ...keywords=\''
В 25 строке ты открыл кавычку. Где она у тебя закрывается?

360 23 фев 2018, 14:36 360 1144794

>>1144645
Когда в цикле накачиваешь select .. where то между условиями должно быть AND или OR. У тебя даже пробела нет:
SELECT message FROM data WHERE keywords LIKE '%huj%'keywords LIKE '%huj%'keywords LIKE '%pizda%'keywords LIKE '%djigurda%'

Ответы4870

83 Кб, 946x1631
361 23 фев 2018, 14:40 361 1144796

>>1144603

362 23 фев 2018, 15:32 362 1144801

>>1142855
Двачую этого анона. На первый взгляд -красивый, но как дошло до сложных вещей там содомия. Костыль на костыле бля, я аж параллель с собой провел, когда лень продумывать сначала архитектуру, а потом горожу все не пришей к пизде рукав.
Нужно было простенькую апликуху сделать, взял хост на линоде, настроил гуникорн и нжиникс. И тут сука началось с джангой бля, классметод- это бля для аутистов, проперти бля через жопу сделаны на замыканиях, чтобы инкапсулировать нужен _ внчале, сраные отступы для блоков, сука фигурные скобки или ду енды -в миллион раз лучше, отдельно инициализация переменных и конструктор у типа... Джанга- куча говнокода вне классов.
Друзья, как бы я не хейтил в реале C# -вот там ооп, структурируемость, читаемость.

Ответы48434883

363 23 фев 2018, 15:37 363 1144802

>>1142897
В змее нет GOTO.

Ответы4804

364 23 фев 2018, 15:49 364 1144804

>>1144802
В php тем более

365 23 фев 2018, 16:12 365 1144821

>>1144787
бля, ну я пришел тут уже написано было, я хуй знает.

366 23 фев 2018, 17:06 366 1144843

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

367 23 фев 2018, 18:00 367 1144870

>>1144794
Можете строчку указать
>>1144677
Можно пример в коде, который я скинул
я ещё зелёный ;d

368 23 фев 2018, 18:23 368 1144883

>>1144801
> Джанга- куча говнокода вне классов.
> C# -вот там ооп, структурируемость, читаемость

Раньше прогал на джаве, очень уважал всё это ООП, классы, структурироемость (правда читаемости там и близко не было как у питона, ну да ладно, это субъективно)

Перешёл на питон -- вообще вылетело из головы ООП. Конечно, то там, то тут проскакивает необходимость занаследоваться от чужого класса, но собственный код стараюсь организовывать в функции и модули, никаких классов, конструкторов и тем более разветвлённого наследования не горожу. Получается в разы проще и читабельнее, чем джава (и, вероятно Сшарп).
А ты поди ещё на каждый класс по файлу создаёшь?

Просто открой свой разум для другой философии и пиши на питоне как питонист, а не как сишарпер, возможно поможет.

ПС: Я не очень фанат питона.

ППС: Конкретно за джангу сказать не могу, очень поверхностно с ней знаком, возможно просто в ней проблема.

369 23 фев 2018, 18:41 369 1144898

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

Ответы4915

370 23 фев 2018, 18:48 370 1144905

>>1144645

Про подстановку параметров уже сказали, SQL-injection
Правильный пример смотри тут:
https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-execute.html

conn и cursor лучше создавать через ключевое слово with, ещё лучше не создавать коннекшен, а получать из пула (не знаю как с этим у pymsql)

Про error in your SQL syntax, генерация SQL запроса выглядит говёно как-то, напиши на русском что сделать то хотел.

вместо
> insert = 'INSERT INTO data SET message=\'' + remove_symbols(msg) + '\', keywords=\''
лучше использовать более распространённый синтаксис (который SQL стандарт, а не MySQL выдумки)
insert = 'INSERT INTO data (message, keywords) VALUES (%s, %s)
cursor.execute(insert, [message, keywords])

Теперь конкретно по твоему вопросу: у cursor есть метод mogrify, который вместо исполнения запроса выводит в точности SQL, который должен был пойти на базу.
http://pymysql.readthedocs.io/en/latest/modules/cursors.html#pymysql.cursors.Cursor.mogrify

оберни свою экзекуцию в трай экцепт и логгируй результат этого метода в except, так ты хотя бы поймёшь, как выглядит SQL в котором проблема.

371 23 фев 2018, 18:53 371 1144908

Каким хуем генерировать число определенной длины из range(1, 100)?
Типа 001, 002, 003, 004, 005.. 029.. 099

Ответы491349204924

372 23 фев 2018, 19:07 372 1144913

>>1144908
[str(number).zfill(3) for number in range(1,100)]

Ответы4927

373 23 фев 2018, 19:09 373 1144915

>>1144898
Ну как бы веб прилага на питоне скорее всего будет под линуксом задеплоена в продакшене, верно?

Даже в рамках веба есть разница с вебом много не работал, говорю наполовину с дивана.

может быть херня с кодировками файлов и коннекшенов к бд да, даже в 3 питоне
многопоточность (которая multiprocessing) работает по-разному
может быть разное количество доступных системных ресурсов (напр. одновременно открытых сокетов)
разная работа с файловой системой

Также не стоит забывать, что питон часто выступает обёрткой над более низкоуровневым кодом, который абсолютно не обязательно работает под виндой, хотя для веба может и так сойдёт, (напр gunicorn под виндой не работает).

Между дистрибутивами линукса (по крайней мере распространёнными) разницы нету.

Ответы4946

374 23 фев 2018, 19:15 374 1144920

>>1144908
list(map(lambda x: str(x).zfill(3), range(1,100)))

375 23 фев 2018, 19:23 375 1144924

>>1144908
['%03d' % i for i in range(1,100)]
https://repl.it/repls/MeanThisNamebinding

Ответы4944

376 23 фев 2018, 19:27 376 1144927

>>1144913
['{:03d}'.format(i) for i in range(1, 100)]

377 23 фев 2018, 20:02 377 1144944

>>1144924
Анон, что это за %%? У меня в учебнике только .format() объяснили пока. Это потом объяснят, или какая-то другая штука?

Ответы49475010

378 23 фев 2018, 20:05 378 1144946

>>1144915
>скорее всего будет под линуксом задеплоена
Да хоть под кастомной ОС на суперкомпьютере. Среда разработки к этому не имеет практически никакого отношения.

Но, допустим, что различия действительно имеются и тебе нужно тестировать твой код именно на линуксе. Я не помню, чтобы речь шла не о кроссплатформенной разработке приложений на кроссплатформенном языке.
А о разработке под линукс.
>Между дистрибутивами линукса (по крайней мере распространёнными) разницы нету
Разработка под дистрибутивы которого различается в той же мере, как и разработка под винду или десктопную убунту.

>что питон часто выступает обёрткой над более низкоуровневым кодом
Так он и так является интерпретатором С.

>напр gunicorn под виндой не работает
Ты опять предлагаешь писать приложение под определённый веб-сервер. Кто так делает вообще?
>Gunicorn natively supports WSGI, web2py, Django and Paster
Вот, тебе положили кроссплатформенные фреймворки, чтобы писать веб приложения под питон. Независимые от конкретного веб сервера.

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

С таким же успехом, перед обучением питона, можно людей заставлять учить C++, потому что он тоже может пригодиться.

Ответы49854993

379 23 фев 2018, 20:16 379 1144947

>>1144944
Это хакерские штучки со строками
https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting

380 23 фев 2018, 22:00 380 1144985

>>1144946
> Но, допустим, что различия действительно имеются
Различия действительно имеются, я написал в каких случаях питон под виндой и линуксом могут вести себя по-разному. К тому же, если бы различий действительно не было и всё было вот прямо совсем кроссплатформено, люди бы гораздо меньше заморачивались всякими запаковками приложений в докер контейнеры и подготовке целых проектных виртуальных машин для новых сотрудников. (нахера такое делается, если можно просто с гита проект стянуть, мм?)

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

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

>>1144603
Оригинальному автору вопроса рекомендую пролистать вакансии. Мне конечно лень этим заниматься, но вангую что знание линукса на уровне пользователя будет обязательным или хотя бы желательным в очень многих из них. Вакансий, требующих С++ будет значительно меньше, но и они тоже найдутся.

>>1144946
Далее,
> Разработка под дистрибутивы которого различается в той же мере, как и разработка под винду или десктопную убунту
В контексте веб-разработки или даже вообще разработки на питоне? Пруф плз.
Пруф что вообще могут быть хоть какие-то различия между дистрами и пруф что "мера та же"

> напр gunicorn под виндой не работает
> Ты опять предлагаешь писать приложение под определённый веб-сервер.
Я не предлагаю, я привожу пример того, что непитоновский платформозависимый код внезапно существует, в случае с gunicorn действительно можно
воспользоваться перечисленными фреймворками, что никак не доказывает что нету либ, для которых виндовой замены может и не найтись спойлер: они есть, хотя конкретно для веба пример не приведу, аноны-сеньоры-веб-питонисты, выручайте!.

>что питон часто выступает обёрткой над более низкоуровневым кодом
>Так он и так является интерпретатором С.
Интерпретатор питона является интерпретатором............. питона.
Одна из реализации написана на С и она очень популярна, но она не единственная.
Под "является обёрткой" я имел ввиду обращение некоторых библиотек к Сишным либам через Cython или ctypes, которые, конечно, кроссплатформенными быть не обязаны.
Кстати да, установка некоторых питоновских пакетов требует предварительной компиляции бинарников. (через pip такое не установишь)
Компиляция на винде может стать сущим адом с установкой minGW и танцев с бубнами.
но и на линуксе тоже может если честно, если код заточен под винду, но с таким я ещё не сталкивался

380 23 фев 2018, 22:00 380 1144985

>>1144946
> Но, допустим, что различия действительно имеются
Различия действительно имеются, я написал в каких случаях питон под виндой и линуксом могут вести себя по-разному. К тому же, если бы различий действительно не было и всё было вот прямо совсем кроссплатформено, люди бы гораздо меньше заморачивались всякими запаковками приложений в докер контейнеры и подготовке целых проектных виртуальных машин для новых сотрудников. (нахера такое делается, если можно просто с гита проект стянуть, мм?)

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

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

>>1144603
Оригинальному автору вопроса рекомендую пролистать вакансии. Мне конечно лень этим заниматься, но вангую что знание линукса на уровне пользователя будет обязательным или хотя бы желательным в очень многих из них. Вакансий, требующих С++ будет значительно меньше, но и они тоже найдутся.

>>1144946
Далее,
> Разработка под дистрибутивы которого различается в той же мере, как и разработка под винду или десктопную убунту
В контексте веб-разработки или даже вообще разработки на питоне? Пруф плз.
Пруф что вообще могут быть хоть какие-то различия между дистрами и пруф что "мера та же"

> напр gunicorn под виндой не работает
> Ты опять предлагаешь писать приложение под определённый веб-сервер.
Я не предлагаю, я привожу пример того, что непитоновский платформозависимый код внезапно существует, в случае с gunicorn действительно можно
воспользоваться перечисленными фреймворками, что никак не доказывает что нету либ, для которых виндовой замены может и не найтись спойлер: они есть, хотя конкретно для веба пример не приведу, аноны-сеньоры-веб-питонисты, выручайте!.

>что питон часто выступает обёрткой над более низкоуровневым кодом
>Так он и так является интерпретатором С.
Интерпретатор питона является интерпретатором............. питона.
Одна из реализации написана на С и она очень популярна, но она не единственная.
Под "является обёрткой" я имел ввиду обращение некоторых библиотек к Сишным либам через Cython или ctypes, которые, конечно, кроссплатформенными быть не обязаны.
Кстати да, установка некоторых питоновских пакетов требует предварительной компиляции бинарников. (через pip такое не установишь)
Компиляция на винде может стать сущим адом с установкой minGW и танцев с бубнами.
но и на линуксе тоже может если честно, если код заточен под винду, но с таким я ещё не сталкивался

Показать весь текст

203 Кб, 1000x1000
381 23 фев 2018, 22:28 381 1144993

>>1144946
> Так он и так является интерпретатором С.

382 23 фев 2018, 23:46 382 1145010

>>1144944
Старый протухший format из двоечки. Не запаривайся.

Ответы5048

383 24 фев 2018, 01:59 383 1145048

>>1145010
А f'{var}' норм юзать или зашквар? PEP не читал ещё

Ответы50535067

384 24 фев 2018, 02:26 384 1145053

>>1145048
Зашквар требованием >=py3.6. А так норм, меньше букав.

Ответы5239

385 24 фев 2018, 02:54 385 1145067

>>1145048
Годная штука, до этого ''.format() обмазывался.

15 Кб, 741x434
386 24 фев 2018, 04:31 386 1145090

Когда тебя где-то прорекламировали, но хуй там.
И ни одной зiркi.

387 24 фев 2018, 15:09 387 1145239

>>1145053
> Зашквар требованием >=py3.6
3.4 уже деад, 3.5 — только фиксы, так что 3.6 это уже мейнстрим.

388 24 фев 2018, 18:46 388 1145370

Питон крута! Скажи питон крута

Ответы5398

389 24 фев 2018, 19:24 389 1145398

>>1145370
Представил как школьники-хипстеры так достают бородача-байтоеба.

390 24 фев 2018, 19:25 390 1145399

Аноны, расскажите про деплой, есть тестовая виртуалка и боевой сервер с одинаковыми операционками (Debian 9), сейчас деплою ветку с фичей на виртуалку и если с ней все будет хорошо, то сливаю с девелопом, а в конце спринта мержу в мастер соответственно отправляю на боевой сервер. Сейчас используется make, но мне он кажется недостаточно гибким. Подразумевается, что проект может быть развернут на сервер только с ssh и apt, пока что из доступных средств нашел только chef на рубях, есть ли что то такое на питоне?
Ну и что нибудь для пересоздания виртуалки, что бы можно было быть уверенным, что проект встанет на чистый сервер

Ответы5515

230 Кб, 1474x505
391 24 фев 2018, 21:50 391 1145490

шел день N, начались трудности
Продолжая чтение своего учебника я наткнулся на то, что слева, и задумался.
Вот есть метод d.get(k,v), который, как написано, возвращает значение ключа k или None/v, если ключа нет.
d.setdeafault(k,v) делает то же самое, но если ключа нет, он не только возвращает None/v, но и создает ключ с таким значением. Тогда каким же образом работает представленный код? Сначала идет sites.setdefault(site, set()). Этот метод либо возвращает значение ключа site, которое, мы предполагаем, является типа set(), либо создает этот ключ со значением set() и возвращает нам этот пустой set(). И дальше мы в этот пустой (или нет) set() добавляем название сайта. И что? Как это работает? Ведь мы получили значение ключа (returns ... value) и изменили это значение. Это ведь все равно, что я в середине кода возьму пустую строку и напишу 2+2. Это будет statement with no effect.
Сначала я подумал, что окей. Значением ключа является сет. Он у нас mutable object, значит его можно изменить через метод. Это верно? Ни когда я изучал Паскаль в школе, ни когда я изучал Си в институте такого не было, но допустим. Но тогда почему мой Pycharm шлет меня нахуй в примере посередине? Йоба это словарь, у которого есть ключ с, значением которого является mutable объект - лист. yoba.get('c') даст мне этот объект (сам объект, а не object reference) и я его расширю с помощью метода для листов .extend. Но почему тогда последняя строчка заваливается? Ведь там я делаю то же самое, но не через метод, а через присвоение. Что не так и чего я не понимаю?

Ответы54955499550155035505

392 24 фев 2018, 22:17 392 1145495

>>1145490
Ты дурак!

Ответы5608

393 24 фев 2018, 22:22 393 1145499

>>1145490
Я на питоне совсем нуль, но тут вроде тебе компилятор/интерпретатор хорошо написал. Нельзя делать присвоение чему-то без имени.
В памяти нет этого места, в которое ты сложить хочешь.

394 24 фев 2018, 22:26 394 1145501

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

Ответы5608

395 24 фев 2018, 22:28 395 1145503

>>1145490
https://docs.python.org/3/reference/datamodel.html?highlight=__add__#object.__iadd__

Ответы5608

396 24 фев 2018, 22:32 396 1145505

>>1145490
Во-первый с чего это вдруг statement with no effect? Ты же сам написал
>но если ключа нет, он не только возвращает None/v, но и создает ключ с таким значением
То есть он создаёт set, помещает его в словарь, потом возвращает тебе. set уже в словаре, и никуда оттуда не денется.

С присвоением отдельная тема. Традиционно в языках есть lvalue и rvalue. Оператор присвоения обычно является именно оператором: не более одного в строке. По обе стороны есть выражения: lvalue и rvalue, и вот lvalue обычно крайне ограничено.

Формально, нет никаких препятствий так делать. Но давай посмотрим что происходит на самом деле, += делает следующее: берёт значение из идентификатора, вычисляет сумму, присваивает обратно значение идентификатору. То есть это операция не является совсем уж строгим in-place как extend. В ней появляется промежуточный объект (сумма списков), который заменяет объект под идентификатором. Вызов функции не может являться идентификатором, если в твоём примере действительно можно повторно взять получившееся значение через yoba.get('c'), то в общем случае в функциями такой конструкт не имеет смысла.

Однако, ты можешь делать yoba['c'] +=

Ответы5608

397 24 фев 2018, 22:35 397 1145508

Чё по django пацаны ?

Ответы5519

398 24 фев 2018, 22:42 398 1145515

>>1145399
Docker бери можно делать apt локально заранее, а на сервере вообще голую CoreOS оставить, оно почти как полноценная виртуалка. Зачем вам там make вообще понадобился, это же тулза для многоэтапной сборки из тысяч файлов? Вместо chef вроде бы ansible есть.

Ответы5517

399 24 фев 2018, 22:44 399 1145517

>>1145515
>Docker
>ГОСТЕВУХАААААА
>МЭЙК ФАЙЛЫ
>БИНАРНИКИИИИИИИИИИИ

Ответы5521

400 24 фев 2018, 22:45 400 1145519

>>1145508
Выпиваешь FLASK полный ALCHEMY, зовёшь своего приятеля DJANGO прогуляться до ближайших PYRAMID, и находишь там древний манускрипт озаглавленный AIOHTTP, не понимая что происходит оба становитесь inSANIC и бежите гонять бенчмарки.

401 24 фев 2018, 22:46 401 1145521

>>1145517
С тобой всё хорошо?

Ответы5523

402 24 фев 2018, 22:47 402 1145523

>>1145521
НЕТ, Я ПОЕЛ ТОЛЬКО ЧТО

Ответы5527

510 Кб, 800x600
403 24 фев 2018, 22:49 403 1145527

>>1145523
Ну лишь бы не ПОКАКАЛ.

404 24 фев 2018, 22:52 404 1145530

Знаю основы змеи
Шо дальше ?

Ответы5533

sage 405 24 фев 2018, 22:53 405 1145531

>>1141205 (OP)

406 24 фев 2018, 22:55 406 1145533

>>1145530
Можно освоить профессию столяра, например
Питон большой, чо хочешь делать?

Ответы5543

407 24 фев 2018, 23:13 407 1145543

>>1145533
Ну, думаю в backend и немного с нейросетями побаловаться :3

Ответы55505551

408 24 фев 2018, 23:25 408 1145550

>>1145543
>немного с нейросетями побаловаться
Такие простые все, яебу. Ты знаешь сколько тебе математики нужно будет асилить чтобы простейшую нейронку собрать? А с бэкэндами нужно охуенно знать базы данных, а не сам питон. Алсо с приходом GraphQL в бэкэнде почти ничего не остаётся.

Ответы5561

409 24 фев 2018, 23:26 409 1145551

>>1145543
Очевидные бд, стек tcp/ip, клиент-серверное взаимодействие, деплой, асинхронное программирование и парочку фреймворков типа django\flask\aiohttp
>нейросетями побаловаться
Тебе в другой тред за этим, ну и с ними обычно не "балуются", а задрачивают матан

Ответы55615570

410 24 фев 2018, 23:41 410 1145561

>>1145551
>>1145550
Тогда, что делать такому овощу, как я ?

Ответы5565

411 24 фев 2018, 23:48 411 1145565

>>1145561
1С

Ответы5586

412 24 фев 2018, 23:55 412 1145570

>>1145551
>задрачивают матан
Насколько? 1 курс матана в универе хватит? меня после него исключили, мда

Ответы5624

413 25 фев 2018, 00:39 413 1145586

>>1145565
ухх бля
Я ещё не такой овощ

Ответы5604

414 25 фев 2018, 01:29 414 1145604

>>1145586
> 1с
> овощ

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

36 Кб, 400x366
415 25 фев 2018, 01:38 415 1145607

Чё почитать про параллельное погромирование на питоне?
Как-то дохуя всего - threading, multiprocessing, asyncio.
В обычной параллельщине не разбираюсь совершенно, только в NodeJS-колбеки/промисы/async'ки дрочил.
Задачи - выполнить несколько независимых http-запросов/ffmpeg-процессов.

Ответы5612

416 25 фев 2018, 01:39 416 1145608

>>1145495
Нет ты! Ты ты ты ты ты ты ты!!!!!!11!

>>1145501
Насколько я понял, литерал это явный представитель какого-то класса. [4, 5, 6] литерал листа. yoba.get('c') не литерал. Я ошибаюсь?

>>1145503
Увидел "In certain situations, augmented assignment can result in unexpected errors (see Why does a_tuple += [‘item’] raise an exception when the addition works?), but this behavior is in fact part of the data model". Понял пример с кареткой, она immutable. Но dictionary mutable же. И что это за data model, частью которой являются такие ошибки? У меня в учебнике об этом пока ни слова не было.

>>1145505
Так блэт. Я погуглил про lvalue и rvalue. Почему то есть только про эти штуки в Си, но думаю, что в Питоне также. Lvalue это что-то, что имеет свое место в памяти, что-то на что ссылается как минимум 1 object reference, а rvalue это результаты каких-то промежуточных вычислений, которые просто валяются в памяти, никому не нужны и скоро их съест garbage collector (а может и не съест, кого ебет). Это верно? И yoba.get('c') это и результат вычисления функции (метода), т.е. какая-то промежуточная штуковина - rvalue, которую можно было бы присвоить к чему то типа x = yoba.get('c'), но пытаться записать что-то в нее - плохая идея. Но теперь я не понимаю, почему работает yoba.get('c').update() и yoba['c'] += . Мы же и тут работаем с rvalue под названием yoba.get('c').

Ответы56145633

417 25 фев 2018, 01:46 417 1145612

>>1145607
http-запросы - асинхронность
ffmpeg - процессы

Ответы5613

418 25 фев 2018, 01:55 418 1145613

>>1145612
Ах да, ffmpeg скорее всего и так запускается в несколько тредов, так что одновременность процессов тебе ничто не даст

419 25 фев 2018, 02:05 419 1145614

>>1145608
Потому что yoba.get('c').update() - rvalue и не может быть lvalue, как и любой вызов функции. Это всего лишь chain call.

yoba['c'] может быть lvalue, так как для записи результата обратно позволяет делать yoba['c'] = value. f(a, b) = value делать нельзя.

420 25 фев 2018, 02:45 420 1145624

>>1145570
>1 курс матана в универе хватит?
Для helloworld да, но нужно минимум не смотреть стеклянными глазами в стену при словах градиентный спуск.

421 25 фев 2018, 02:52 421 1145627

Сосаны, пытаюсь установить pyqt5, набираю значит в консоли винды pip install pyqt5, вроде скачивает, начинает ставить, но потом какая то красная залупа вылазит и нихуя. Шо я делаю не так?

Ответы5630

422 25 фев 2018, 03:22 422 1145630

>>1145627
Пишет что? На какую систему ставишь? Какой питон? Сверься >>1126956

Ответы5677

423 25 фев 2018, 03:58 423 1145633

>>1145608
>У меня в учебнике об этом пока ни слова не было
Плохой учебник/плохой пифон/плохое правило. Кароче, я сам прихуел с твоего примера за пять лет практики программирования на пифоне не было такой ситуации.

424 25 фев 2018, 04:42 424 1145635

Анон, какую бд предпочтительнее использовать в python'е?

Ответы56365639

425 25 фев 2018, 04:43 425 1145636

>>1145635
sqlite

426 25 фев 2018, 04:51 426 1145639

>>1145635
Любую.

13 Кб, 757x389
427 25 фев 2018, 05:55 427 1145645

Как же он меня заебал, господи. Как к 443 порту через сокеты подключаться?

Ответы5646567556765698

428 25 фев 2018, 06:43 428 1145646

>>1145645
Спасеба, разобрался.

Ответы5647

429 25 фев 2018, 06:44 429 1145647

>>1145646
А нет, не разобрался

430 25 фев 2018, 09:55 430 1145655

Аноны, скажите как называются ребусы вроде этого
TIME + WORK == MONEY
И нужно подставить цивры вместо букв, чтобы равенство выполнилось.

Анаграммы, криптограммы? Помню раньше в журнале Квант такие публиковались, но я коллекцию журналов похерил.

Ответы5758

431 25 фев 2018, 11:23 431 1145675

>>1145645
Уверен, что 443 открыт?

Ответы5892

432 25 фев 2018, 11:25 432 1145676

>>1145645
К слову, user-agent cdn может забраковать.

433 25 фев 2018, 11:27 433 1145677

32 Кб, 674x84680 Кб, 1473x620

>>1145630
ну вот такая херь вылазит
win 8
pyt 3.6

Ну отдельно десигнер встал, через экзешник который.

Ответы567856935701

434 25 фев 2018, 11:29 434 1145678

>>1145677
Прав нет, видимо.

Ответы5680

435 25 фев 2018, 11:36 435 1145680

>>1145678
спасибо анон, сам бы не сообразил

436 25 фев 2018, 12:16 436 1145693

>>1145677
О, как ты дезигнер отдельно поставил?

Ответы57025721

437 25 фев 2018, 12:31 437 1145698

>>1145645
import ssl

Ответы5894

438 25 фев 2018, 12:33 438 1145699

хочу делать неебаца крутые игры но язык учить неохота
че делать?

Ответы57135892

439 25 фев 2018, 12:37 439 1145701

>>1145677
Тебе же пишет, что в доступе отказано. Хули ты как нерусский. Либо поставь все файлы питона права everyone, либо переустанови его в другую директорию на другом диске.

Ответы5722

440 25 фев 2018, 12:37 440 1145702

>>1145693
Как-то так >>1126956

177 Кб, 771x668
441 25 фев 2018, 12:53 441 1145713

>>1145699
pip3 install pygame
используй готовые игры https://github.com/flutterholly/Space_War меняешь графику, музыка, а на остальное воля всевышнего.

442 25 фев 2018, 13:08 442 1145721

>>1145693
>>1145693
По посту антоши >>1126956

Ответы5746

443 25 фев 2018, 13:09 443 1145722

>>1145701
да уже понел

444 25 фев 2018, 14:17 444 1145746

>>1145721
Спасибо, попробую, в прошлый раз я заебался SDK и NDK всякие настраивать, надеюсь в этот раз получится всё, или обратно укачусь к kivy

Ответы5885

190 Кб, 1440x1777
445 25 фев 2018, 14:39 445 1145758

>>1145655
Бамп вопросу.

446 25 фев 2018, 17:09 446 1145832

Госопдари, умею в питон на говноуровне. Хочу написать рогалик из одно подтянуть уровень питона. Имею несколько вопросов:

1) Где хорошо разжёваны классы на русском языке? Интересуют именно только классы, всё остальное я уже вроде освоил на уровне костылей и говнокода.

2) Насколько адекватна идея использовать HML для хранения игровой информации?

3) Что у нас из кроссплатформенных библиотек для GUI окромя Qt?

Ответы5842

447 25 фев 2018, 17:22 447 1145842

>>1145832
>рогалик
>qt
Ты что-то перепутал. Либо терминал с curses или libtcod, либо pyglet/pygame, шоб опенгл и графон, но qt — это для формошлёпства.

>HML
XML?

Ответы5850

448 25 фев 2018, 17:28 448 1145850

>>1145842
>Ты что-то перепутал. Либо терминал с curses или libtcod, либо pyglet/pygame, шоб опенгл и графон, но qt — это для формошлёпства.
У меня немного не типичный рогалик, он именно формошлёпский ибо про управление колонией.
>XML
Естественно.

449 25 фев 2018, 18:51 449 1145885

21 Кб, 898x44448 Кб, 822x601

>>1145746
Опять эта хуйня, как и что сюда добавить?

Ответы6047

450 25 фев 2018, 19:02 450 1145892

>>1145675
Нет, у сайтов 443 закрыт.
>>1145699
Спасеба, что дальше?

Ответы5894

451 25 фев 2018, 19:04 451 1145894

>>1145892
>>1145698

Ответы5913

452 25 фев 2018, 19:35 452 1145913

>>1145894
сначала создаешь обычнй tcp-сокет, потоб оборачиваешь его в ssl.

гугли

Ответы5924

453 25 фев 2018, 19:50 453 1145924

>>1145913
Слишком сложно, братишка. Подкинь правильный порядок действий, я уже заебался всю ночь эти сокеты ковырять. Твоё "гугли" дает мне повод предположить, что ты сам нхуя не знаешь. Я уже и в ssl оборачивал и в context, подставлял сертификаты с сайта, certifi пробовал и нихуя. Либо просто http 400 либо [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed. Гугл не помогает

Ответы59346214

454 25 фев 2018, 19:56 454 1145926

Я правильно понимаю, что в рамках функции f(), перед которой стоит def, не получится использовать те же переменные, что и вне функции?
То есть, для примера, для "камень-ножницы-бумага" я хочу создать функцию compare(), в которой будут перечислены все варианты исходов (кто когда проигрывает/выигрывает), и в ней же будут использованы переменные computerChoice и playerChoice, между которыми идет сравнение.
После этого я закрываю def, иду генерировать рандомное значение computerChoice и заставлять вводить игрока свой вариант playerChoice = input(). Далее я просто пишу compare() и... нихуя не происходит.
То есть для моего варианта нельзя сделать нормальный def и придется писать исходы по ходу программы (я это уже делал - целая куча while'ов и break'ов)?

Ответы59335937

455 25 фев 2018, 20:04 455 1145933

>>1145926
Получится. Но если ты записываешь что-то, надо прописать nonlocal.

Ответы5936

456 25 фев 2018, 20:05 456 1145934

>>1145924
Исходники urllib посмотри.

457 25 фев 2018, 20:10 457 1145936

>>1145933
А nonlocal - это не то же самое, что global?
Я просто с глобалом пробовал, он это выдает:
UnboundLocalError: local variable 'plScore' referenced before assignment

Ответы6015

63 Кб, 582x251
458 25 фев 2018, 20:12 458 1145937

Опа че, вопрос про функции. Я тогда попытаюсь ответить, и сам спрошу.

>>1145926
Можно сделать, прочитай про передачу параметров. ComputerChoice и playerChoice, которые ты используешь в функции, и ComputerChoice и playerChoice, которые есть вне функции - разные штуковины. Чтобы работало, надо сделать f(a, b), делать сравнения между ними, и писать потом compare(ComputerChoice, playerChoice)

Я понял про lvalue, rvalue и продолжаю читать учебник. Объясните этот момент. Дело в том, что я учил Си в универе, и помню, что там было такое: все локальные переменные существуют только пока мы в функции. То есть, если у нас есть что-то типа
foo(a): b = 2, return a + b. То когда мы вызовем foo(1), она создаст b = 2, вернет 3, и b исчезнет (грубо говоря). Я помню, что даже столкнулся с этой проблемой, когда делал функцую, которая дрочила какие-то данные, создавала по ним массив, и возвращала указатель на них. И указатель всегда был null или рандомный, не помню. Суть в том, что функция возвращала указатель на массив, который исчезал сразу после выхода из функции.
Так вот, в Питоне такого нет что ли? Мы создаем два списка в теле функции, и возвращаем, как написано, object reference, т.е. ссылки. Разве мы не вернем ссылки на 2 пустых места? Объекты Питона, созданные функциями, существуют вечно? Или как это работает?

Ответы59906165

459 25 фев 2018, 21:19 459 1145970

Доброго времени суток, пилим приложение айос андроид, на логин вью ставлю @csrf_exempt, всё правильно делаю, или нет?
Поясните тут немного, если не лень за куки и сессии, получается им же при логине не откуда взять этот csrf_token? Или есть какой-то более правильный путь написания этой вьюхи?

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

Ответы60166485

460 25 фев 2018, 22:09 460 1145990

>>1145937
Отвечает ньюфаг из зала:

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

Из функции можно оперировать глобальной переменной для этого нужно использовать global value_name.

461 25 фев 2018, 22:26 461 1145995

Есть ли что-нибудь с робототехникой на Python ?
Если есть, можно ссылку на книги, видео и тд
Буду очень благодарен
(язык не важен, хотя ру желателен) :3

462 25 фев 2018, 22:54 462 1146015

>>1145936
> А nonlocal - это не то же самое, что global?
Нет. даже пишутся по-разному

258 Кб, 655x728
463 25 фев 2018, 22:58 463 1146016

>>1145970
> Доброго времени суток

464 26 фев 2018, 00:13 464 1146041

Есть прилага, которая потенциально работает на нескольких серваках (питон, сложенный в докер контейнеры), я хочу проверить что будет, если мой скрипт упадёт, не успев освободить всякие ресурсы, типа коннекшены к базе и т.д (т.е kill -9 или сервак физически упадёт).

Я хочу искусственно прервать свой скрипт где-нить посередине и посмотреть чё да как, но проблема в том, что для меня exception bubbling внутри прилаги как-то нефига не очевиден. Я много где наследуюсь от кода автором которого я не являюсь и допускаю что где-то в чужом коде вполне может быть except Exception, или просто except, или какой-нить finally, который бы в случае полного падения не отработал бы.

Вопрос такой: как можно уронить питоновское приложение изнутри так, чтобы никакие finally и except-ы не отработали.
Прямо как kill -9, только на питоне

Ответы60636155

115 Кб, 891x620
465 26 фев 2018, 00:25 465 1146047

>>1145885
Ты скачал Qt Creator по ссылке из этого поста >>1126956 или считал себя умнее?

Ответы6092

466 26 фев 2018, 01:03 466 1146063

>>1146041
https://docs.python.org/3/library/os.html?highlight=os system#os.system
https://docs.python.org/3/library/os.html?highlight=pid#os.getpid

467 26 фев 2018, 03:00 467 1146092

>>1146047
Да, скачал из поста. У меня до этого точно такие же хуйни были с QT с офф.сайта.

468 26 фев 2018, 08:36 468 1146153

>>1144262
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)
STATIC_ROOT = os.path.join(BASE_DIR, '../assets')

$python manage.py collectstatic

Есть чо?

469 26 фев 2018, 08:40 469 1146155

>>1146041
Вызвать сам kill -9? Ты про сигналы почитай, ОС убьёт процесс не заходя в питон, так что никакого exception bubbling не будет. Коннекшены разорвёт/файлы закроет тоже ОС.

470 26 фев 2018, 09:05 470 1146160

>>1141698
Ну и маразм. Делать установочный пакет из-за пары классов библиотеки.

Ответы6163

471 26 фев 2018, 09:07 471 1146161

>>1141819
>j++

472 26 фев 2018, 09:12 472 1146163

>>1146160
1. Ты вообще не понял о каком пакете речь. Имелись в виду .msi
2. https://twitter.com/mitsuhiko/status/712624914071728128

Ответы6167

473 26 фев 2018, 09:13 473 1146165

>>1145937
>Объекты Питона, созданные функциями, существуют вечно? Или как это работает?
Объекты питона существуют до тех пор, пока на них кто-то ссылается. https://en.wikipedia.org/wiki/Reference_counting

https://repl.it/repls/MammothProperOperatingsystem
Вот тут, внутри функции создаётся массив. Если это массив вернуть, то адрес объекта как внутри, так и вне функции будет одинаковым. Этот адрес можно спокойно скастить в питоновский объект и никаких проблем не будет (разве что ref count собьётся, не знаю тонкостей).

Если же я поступлю так, как ты делал в си
>и возвращала указатель на них.
То есть, верну только адрес и размер указателя, а затем попробую скастить в питоновский объект, то будет плохо. Как только функция отработала, на тот массив (и все его элементы) никто больше не ссылается, и питон начинает чистку.
Да, данные по самому адресу, вроде как, те же, но вот флоаты куда-то исчезли. На сайте он пустой массив показывает, почему-то, локально у меня сегфолтится.

>Разве мы не вернем ссылки на 2 пустых места?
Если массивы не возвращать, то в конце функции у обоих массивов refcount снизится на 1 (до 0) и они будут уничтожены в ближайшее время. Если их возвращают, то питон refcount этот либо не снизит, либо сначала на 1 ещё повысит, либо как-то просто напрямую владение передаст, в общем, детали, суть в том, что до 0 refcount не опустится, а значит и уничтожен объект не будет, а значит и место будет не пустым.

474 26 фев 2018, 09:17 474 1146167

>>1146163
И как это использовать на компьютере без питона?

Ответы6172

475 26 фев 2018, 09:27 475 1146172

>>1146167
Поставлять питон нужной версии внутри .msi

Ответы6198

476 26 фев 2018, 10:08 476 1146198

>>1146172
С билиотеками? В чём тогда разница?

Ответы6200

477 26 фев 2018, 10:20 477 1146200

>>1146198
В том что у тебя вместо одной ебучего размера экзешки будет тонкая экзешка + много .dll. И если ты запускаешь много процессов из этой экзешки, код внутри .dll не дублируется в памяти и запускается быстрее. Это и есть сакральный смысл dll/shared objects. Более того, LGPL библиотеки, если ты поставляешь их как отдельные dll, не накладывают копилефтных ограничений на твою прогу. Далее, как уже говорил, у тебя там может быть несколько экзешек с общими dll. Всё, это мой последний пост, ебитесь дальше сами со своими пиинсталлерами.

Ответы6203

478 26 фев 2018, 10:23 478 1146203

>>1146200
Ну ёпта, ты хотябы пояснил бы где искать гайды.

479 26 фев 2018, 10:36 479 1146209

>>1144676
Определи get_natural_key или как-то так

480 26 фев 2018, 10:42 480 1146214

>>1145924
>братишка

я тебе не братишка

>Твоё "гугли" дает мне повод предположить, что ты сам нхуя не знаешь

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

>либо [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

context.verify_mode

481 26 фев 2018, 10:45 481 1146216

Есть какой-нибудь модуль для пыхтона наподобии нодовского экспресса?

Ответы6251

482 26 фев 2018, 11:58 482 1146251

>>1146216
HippoEngiro

Ответы6254

483 26 фев 2018, 12:06 483 1146254

>>1146251
Hippo in Giro*

484 26 фев 2018, 17:33 484 1146485

>>1145970
бамп про тесты

831 Кб, 1500x1125
485 26 фев 2018, 17:43 485 1146489

зачем некоторые еще пользуються петон 2.7?

Ответы6490

486 26 фев 2018, 17:47 486 1146490

>>1146489
Легаси или дибелизм.

487 26 фев 2018, 18:30 487 1146501

Привет Петухоны. Есть среди вас джуны, которые желают поработать? Деньги не большие, но для регионов норм, оплата почасовая, либо за выполененные задания. Ключевые слова: multithreading, subprocess, websocket, cli. Писать на почту viA6dktor.razinANUSinboHyjxPUNCTUMrlGtu с пометкой python monkey. Ищу на дваче, потому что тут все мои друзья.

Ответы650565286587

488 26 фев 2018, 18:47 488 1146505

>>1146501
>
>Привет Петухоны. Есть среди вас джуны, которые желают поработать? Деньги не большие, но для регионов норм, оплата почасовая, либо за выполененные задания. Ключевые слова: multithreading, subprocess, websocket, cli. Писать на почту vuyHiktor.razinANUSinb"t6oxPUNCTUMr895u с пометкой python monkey. Ищу на дваче, потому что тут все мои друзья.
я нихера не понел что это значит, джун вобще должен это знать?

489 26 фев 2018, 19:40 489 1146528

>>1146501
Почему вы хотите чтобы я работал именно в вашей компании? Кем вы видете меня через пять лет? Почему анусы круглые?

490 26 фев 2018, 21:10 490 1146568

пачаны когда пишу k = random.choice(1, 2, 3) работает как надо
но когда прокручиваешь через функцию print(k) возращает одно и то же число почему так ?

Ответы658465976612

491 26 фев 2018, 21:17 491 1146584

>>1146568
Ты ебанулся?

Ответы6614

492 26 фев 2018, 21:20 492 1146587

>>1146501
>с пометкой python monkey
С таким отношением — коди сам. Но знай, что моя жопа напишет код лучше.

Ответы6602

493 26 фев 2018, 21:27 493 1146597

>>1146568
Потому что ты задал k в начале программы раз и навсегда (это то же самое, как если бы ты просто написал k = 1). Чтобы ее менять, нужно создать цикл while, по окончанию которого он возвращается к самому себе и выбирает новое значение.

494 26 фев 2018, 21:30 494 1146602

>>1146587
А ему не нужен опытный пусть даже с хорошей жопой. Он ищет новичка и под свой бюджет.

495 26 фев 2018, 21:40 495 1146612

>>1146568
>k = random.choice(1, 2, 3)
>работает как надо
Пиздишь. Это не должно работать в принципе.

Ответы6619

496 26 фев 2018, 21:43 496 1146614

>>1146584
я имею ввиду вот что
import random
x = (1, 2, 3)
>> random.choice(x)
3

>>> X = random.choice(x)
>>> print(X)
3
>>> print(X)
3
>>> random.choice(x)
1[/sup][/sup]

Ответы66166618

497 26 фев 2018, 21:45 497 1146616

>>1146614
Блять, что это за хуйня?

498 26 фев 2018, 21:49 498 1146618

>>1146614
Ты пытаешься кодить в интерактивной оболочке? Тебе уже сказали, что ты уже установил число, когда первый раз применил random.choice. После этого, чтобы сгенерировать новое число, нужно снова использовать random.choice.

499 26 фев 2018, 21:50 499 1146619

>>1146612
я имею ввиду вот что
import random
x = (1, 2, 3)
>> random.choice(x)
3

>>> X = random.choice(x)
>>> print(X)
3
>>> print(X)
3
>>> random.choice(x)
1

500 26 фев 2018, 22:05 500 1146625

ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ
ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ
ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ

>>1146623 (OP)
>>1146623 (OP)
>>1146623 (OP)

Тред утонул или удален.
Это копия, сохраненная 15 января 2020 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion