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


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

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

Python /python/ Аноним 23/08/19 Птн 16:47:32 14593701
DO6GvRhi.gif (833Кб, 1365x1491)
1365x1491
PYTHON21.png (289Кб, 648x270)
648x270
norval-morrisse[...].jpg (404Кб, 881x1920)
881x1920
Питон тред, номер как у предыдущего >>1451619 (OP) , но на единицу больше

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

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

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

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

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

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

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

Аноним 23/08/19 Птн 16:50:42 14593722
print("Hello, Dvach!")
Аноним 23/08/19 Птн 17:47:00 14593823
Традиционно посрал в говно тред жидкой лямбдой и задебажил через самую обосранную иде - Вижуал Студио Код
Аноним 23/08/19 Птн 17:54:33 14593874
>>1459382
В следующий раз сними штаны перед тем, как посрать.
Аноним 23/08/19 Птн 18:01:35 14593885
Кто-нить может пояснить в чём смысл питона 3.8?
Аноним 23/08/19 Птн 18:05:04 14593906
>>1459388
В том, что бы делать так
if a := my_dict.get('value'):
____return a + 1
Аноним 23/08/19 Птн 18:08:34 14593937
Есть адреса почты вида huesos+3232aby@gmail.com

как мне regex вырезать всё что между + и @ и сам плюс тоже вырезать, чтобы оставались адреса huesos@gmail.com
Аноним 23/08/19 Птн 18:09:50 14593958
Я вот так нахожу что между + и @, но как мне плюс сам тоже захватить?

(?<=\+)(.*)(?=@)
Аноним 23/08/19 Птн 18:16:38 14593989
Аноним 23/08/19 Птн 18:19:18 145939910
>>1459390
Есть вообще шансы что они сделают конструкторы классов как в нормальных языках ?
Аноним 23/08/19 Птн 18:22:48 145940211
>>1459399
А что тебе в __init__ и __new__ не нравится?
Аноним 23/08/19 Птн 18:30:48 145940612
>>1459402
Это полный пиздец, я конечно понимаю что питон это динамический язык и перегрузку функций в питоне сделать нельзя, но дрочево с __init__ и __new__ это пиздец.
Аноним 23/08/19 Птн 18:41:47 145941813
>>1459406
В чем дрочево? Дай пример, где сделано хорошо?
Аноним 23/08/19 Птн 18:56:46 145943114
Аноним 23/08/19 Птн 19:33:55 145945515
>>1459406
А что не так с __init__ и __new__?
В большинстве случаев тебе достаточно __init__, чем он отличается от конструкторов в других языках?

С помощью __new__ ты можешь какие-то дополнительные возможности реализовать, обычно не нужные.
Аноним 23/08/19 Птн 21:58:49 145957516
В чем отличие Анаконды от обычного скаченного с офф сайта Питона??
Аноним 23/08/19 Птн 22:17:14 145958717
>>1459575
С сайта ты скачиваешь просто питон. Анаконда это целая платформа, которая содержит в себе питон, то есть, устанавливая анаконду, ты получаешь не просто интерпретатор питона и стандартную библиотеку питона, но и еще 100500 пакетов, плюс свой пакетный менеджер conda, а не только стандартный питонвский pip, плюс gui для управления всем этим anaconda-navigator, хотя, конечно все можно делать только с помощью conda через консоль, даже виртуальные окружения создавать, да conda еще и виртуальные окружения создает, да и вообще широкого профиля штука, работает не только с питоновским кодом, для любой программы можно создать conda пакет. А сам пайтон он и есть пайтон, ничем не отличается
Аноним 24/08/19 Суб 00:00:08 145965418
Аноним 24/08/19 Суб 00:32:10 145966219
Винда или линуха - вопрос века. Почти все кого спрашивал выбирали линуху, лишь некоторые не воздерживались от принятия сторон, за винду никто не говорил. Большинство живёт стереотипами или я что-то упускаю?
Аноним 24/08/19 Суб 00:36:42 145966420
>>1459662
> Винда или линуха - вопрос века
Абсолютно похуй, используй то, что тебе удобно, хоть макось. Весь софт, которым ты будешь пользоваться - более-менее кроссплатформенный. Всю жизнь кодил на винде, брат жив, зависимость есть, но в линуксы/под линуксы тоже могу.
Аноним 24/08/19 Суб 00:36:56 145966521
>>1459662
Хакинтош собери себе.
Аноним 24/08/19 Суб 00:38:05 145966822
>>1459662
Я, к примеру, бэкэндер, мне винда не всралась.
Хотя недавно звали на проект, которому лет так 20, там всё на винде и пистоне 2.
Аноним 24/08/19 Суб 00:50:51 145967523
>>1459665
Если я правильно понял, то это пиратская мак ось (поправь если не прав). Вопрос остаётся тот же: зачем менять привычную среду, + на хакинтоше могут появиться проблемы с драйверами, а конкретно - с их отсутствием
Аноним 24/08/19 Суб 00:52:32 145967624
>>1459668
Понятно, что всё в основном зависит от проекта, но по сути питон и там и там одинаковый. В плане процесса разработки какие ты видешь плюсы относительно винды, или ты сразу с линухи начинал?
Аноним 24/08/19 Суб 00:56:23 145967825
>>1459664
Так и делаю, но ведь если многие топят за линуху может там действительно есть что-то, тем более спрашивал не отбитых кодерков
Аноним 24/08/19 Суб 00:58:25 145967926
>>1459676
Начинал с винды, но затем пересел на линупс. Т.к. не всегда и есть нужные программы под винду, а если есть, то не всегда корректно и без пердолинга работают.
Так же, когда пишешь ПО которое затем будет запускаться на линупсах, то тут как бы логично писать сразу на них.
Аноним 24/08/19 Суб 01:03:30 145968027
>>1459675
В 2019 хакинтош делается легко и просто.
Будет несколько дороже, чем рандомный пк.
Читай http://www.osx86project.org/
Если возьмёшь правильное железо - проблем с драйверами не будет.


Аноним 24/08/19 Суб 01:05:15 145968128
>>1459675
>Винда или линуха - вопрос века
>зачем менять привычную среду
А зачем ты тогда задаёшь тут такие вопросы?
Работай в привычной среде, не еби мозг ни себе, ни людям.
Аноним 24/08/19 Суб 01:06:33 145968329
>>1459679
> не всегда и есть нужные программы под винду
Тут можешь поподробней?
> когда пишешь ПО которое затем будет запускаться на линупсах
Я на вэб дэве, сервера крутятся на различных осях.
Аноним 24/08/19 Суб 01:16:33 145968430
>>1459681
> А зачем ты тогда задаёшь тут такие вопросы?
Чтобы понять?
Аноним 24/08/19 Суб 01:16:51 145968531
>>1459683
> Тут можешь поподробней?
> Я на вэб дэве
Очень скоро столкнёшься, значит.
Просто иногда читаешь доки и обращаешь внимание на сноски уровня "протестировано на линупсе/не совместимо с виндой/под винду билдите сами" и т.п.
> сервера крутятся на различных осях.
Большинство на линупсе. На винде довольно специфические области сидят.
Аноним 24/08/19 Суб 01:25:16 145968732
>>1459685
> Очень скоро столкнёшься, значит.
Опять пошли абстрактные ответы
> Просто иногда читаешь доки и обращаешь внимание на сноски уровня "протестировано на линупсе/не совместимо с виндой/под винду билдите сами" и т.п.
Никто не отменяет тесты на других системах, тут я опять же вижу плюс использования мной винды, т.к. в тиме всегда есть чувак, а то и несколько, с линуксом.
Аноним 24/08/19 Суб 01:44:33 145969333
>>1459685
>>1459687
Это не аргументы.
Для серверов есть виртуальные машины.
Ещё есть докер.

Разработка - это инструментарий - иде и прочее.
Дескотоп на винде лучше, чем на линуксе.
Десктоп на маке - ещё лучше.
Аноним 24/08/19 Суб 01:49:34 145969434
>>1459687
> Опять пошли абстрактные ответы
Ок. Я тебе приведу в качестве примера gunicorn, дальше что?
> Никто не отменяет тесты на других системах
Что? Ты понимаешь, что ты несёшь?
1. Если в ТЗ есть пункт про кросс-платформенность то на твоей винде никто ничего тестить не будет, для этого есть тестовые стенды.
2. Я ни разу не видел что бы при написании серверного ПО был пункт про совместимость сразу с виндой и линупсом.
Ты можешь видеть и фантазировать себе всё что угодно, реальная практика и задачи всё расставят по местам.
>>1459693
> Это не аргументы.
Что именно?
> Для серверов есть виртуальные машины.
Причём тут это?
> Разработка - это инструментарий - иде и прочее.
Кроме IDE есть ещё ОС, от которой так же много зависит.

Мне похуй на чём автор поста будет сидеть/писать, и лишь говорю очевидные вещи, что под винду пишут на винде, под линуксы на линуксе, и такая формула работает в 90% случаев, остальные 10 это исключения и узконаправленная специфика.
Аноним 24/08/19 Суб 01:50:50 145969535
>>1459370 (OP)
Ля, сделайте вы уже номер треду чего выебываетесь . Хоть с 1 считать начните, уже что-то
Аноним 24/08/19 Суб 01:56:53 145969636
>>1459694
А почему же тогда все, кто может себе позволить, сидят на маках?
И крутят линуксы в докере или на вм, когдаа нужно?
Не задумывался над этим?

Да, для системного программирования - такой подход вполне оправдан.
Но, опять же - есть виртуализация и докер.
И опять приходим к тому же - делай, как удобно.
Аноним 24/08/19 Суб 01:56:55 145969737
>>1459694
> gunicorn
Ты еще скажи, что wsgi для винды не существует.

> очевидные вещи, что под винду пишут на винде
А под андроид на андроиде, да. На самом деле абсолютно похуй, под какой ОС запущен текстовый редактор, где ты нажимаешь кнопочки. Похуй, на какой ОС ты запустишь HTTP/wsgi. До тех пор, пока ты не начнешь парсить какой-нибудь procfs, скрипту будет абсолютно похуй, откуда ты его запустил.
Аноним 24/08/19 Суб 02:04:42 145969938
>>1459696
>А почему же тогда все, кто может себе позволить, сидят на маках?
>И крутят линуксы в докере или на вм, когдаа нужно?
>Не задумывался над этим?
Статистику сюда
Аноним 24/08/19 Суб 02:05:04 145970139
>>1459694
> Я ни разу не видел что бы при написании серверного ПО был пункт про совместимость сразу с виндой и линупсом.
Про джаву слышал когда-нибудь?

Да и питон тоже вполне себе кроссплатформенный, хотя и не в такой степени, конечно.
Джанга и прочее - работает на всех трёх платформах.
Аноним 24/08/19 Суб 02:06:17 145970340
>>1459699
Скриншоты в интернетах посмотри.
Видео и фото рабочих мест.
Всё сразу поймёшь.
Аноним 24/08/19 Суб 02:07:27 145970441
>>1459703
Значит, статистики нет. Ясно.
Аноним 24/08/19 Суб 02:09:53 145970642
>>1459704
>Иномарки популярнее жигулей, хотя и дороже.
>Статистику сюда.
>Выгляни в окно, лол.
>Значит, статистики нет. Ясно.
Аноним 24/08/19 Суб 02:17:25 145970843
>>1459662
На линуксе питон и куча полезных штук стоят из коробки. На линуксе есть культура использования пакетных менеджеров, что радует.
Аноним 24/08/19 Суб 02:18:26 145970944
>>1459706
У меня за окном жигули и лады стоят. Где твой бог теперь?
Аноним 24/08/19 Суб 02:27:32 145971045
>>1459696
Докер как следует только под линуксами и работает, потому что основан на фичах ядра линукс
Аноним 24/08/19 Суб 02:36:00 145971146
>>1459710
Это касается только быстродействия.
Т.к. на винде и на маке добавляется (тонкий) слой виртуализации.

>>1459709
Тут надо понимать ещё одну вещь.
Когда человек в состоянии воспользоваться преимуществами линукса (или юникса - мака) в качестве девелоперской машины, он обычно не задаёт таких вопросов, как >>1459662
Аноним 24/08/19 Суб 03:16:06 145971547
>>1459697
> Ты еще скажи, что wsgi для винды не существует.
Сравни процесс пердолинга по установке wsgi на винде и установку его на линупсе.
> А почему же тогда все, кто может себе позволить, сидят на маках?
Тот же линупс. Да и кто все то? Я видел очень мало бэкэндеров на маках, зато куча их на линупсах.
> А под андроид на андроиде
Маняврировать не надо.
>>1459701
> Про джаву слышал когда-нибудь?
> питонотред
Уёбывай.
Аноним 24/08/19 Суб 06:54:00 145973748
Аноним 24/08/19 Суб 08:54:38 145974849
.png (51Кб, 1162x384)
1162x384
Не могу понять где я ошибся. Подскажите нубу!
Аноним 24/08/19 Суб 08:59:11 145974950
>>1459748
Типа яблоко надо в кавычки взять, он его как команду воспринимает?
Аноним 24/08/19 Суб 09:00:17 145975051
.png (55Кб, 1162x384)
1162x384
О, заработало! Спасибо, аноны!
Аноним 24/08/19 Суб 09:24:16 145976152
покажи мне его.webm (3962Кб, 1280x720, 00:00:26)
1280x720
Аноним 24/08/19 Суб 09:28:20 145976553
>>1459693
Удачи с докером на винде, кста. Помимо оверхеда, нужно будет ещё прилично поебаться с его установкой и настройкой.

Кроме того, одно из основных преимуществ линукса - это его терминал и bash-lang.

Да и вообще 99% серваков, на которые ты будешь деплоить свой сайт будут работать именно из под линукса, поэтому нужно уметь с ним работать
Аноним 24/08/19 Суб 10:20:37 145981254
>>1459678
Потому что линух это удобно и я не шучу
Аноним 24/08/19 Суб 10:36:28 145982055
>>1459812
>нужен вменяемый звук как в винде
>пук срень
>УДОБНА Я СКОЗАЛ
Аноним 24/08/19 Суб 10:37:53 145982256
>>1459820
Удобно тебе говорят
Аноним 24/08/19 Суб 10:46:07 145982857
>>1459750
А зачем инпут приводить к строке явно, там же по дефолту строка получается.
Аноним 24/08/19 Суб 11:08:27 145983558
>>1459820
>вменяемый звук
>как в винде
Выбери что-то одно.
Аноним 24/08/19 Суб 11:13:12 145983659
>>1459835
Выбираю вменяемый звук на винде, ведь на линуксе такого не бывает, порватка.
Аноним 24/08/19 Суб 11:18:29 145983760
>>1459836
Только в твоих манямечтах.
Аноним 24/08/19 Суб 16:59:55 146005861
123.jpg (418Кб, 3200x1080)
3200x1080
Подключился к малинке по SSH. Написал код. gtts в списке модулей интерпретатора имеется, на стороне малинки код работает, в редакторе модуль gtts видит - а в удалённом интерпретаторе пишет что модуль gtts не найден. Почему?
Аноним 24/08/19 Суб 17:02:00 146006462
>>1460058
О бля, всё нахоой, убрал галку 'execute via sudo' и всё заработало. Чёто суда мешала как то
Аноним 24/08/19 Суб 17:25:36 146008163
>>1459370 (OP)
В сраном вузике сраный питон будет.
А я писал только немного на Scheme в школе.

Подскажите книжки по функциональному программированию на питоне, я знаю, что там есть лямбды и замыкания, не хочу задравчиать ООП по методичке.
Аноним 24/08/19 Суб 17:46:55 146008964
>>1459662
Сижу на шинде, в консоли wsl, полет нормальный
Аноним 24/08/19 Суб 18:02:07 146009565
>>1459662
С линуксом вечный пердолинг, просто извечный пердолинг, потому если хочешь просто прогать - винда. На ней всё работает почти сразу, а если что-то и требует допилов - всё просто и понятно.
А с линуксом - вот я с малинкой ебусь последнюю неделю - мне всего-то надо было говорилку запилить. Виндовых tts там естественно нет, есть свои - еспик например, который в распбиане отвалился после обновления ядра - в итоге я день ебался чтобы частично поднять его функционал, и он оказался говном. RHVoice - готовых дистрибутивов нет - надо собирать из исходников - ещё пол дня с этим ебался, получил половину функционала, потмоу что для полного функционирования под расбиан не хватает готовых дистрибутивов, которые тоже надо бы собрать из исходников. Линукс - это всегда ебля через ебля, и если нет конкретной задачи запустить что-то на линуксе - нахуй, не связывайся, базарю

>>1459665
С этим говном тоже не связывайся нахуй. Я конечно макось полноценную непользовал, но пообщался с мобильной на айпхоне - так там костыль через костыль костылём погоняет, я того маму рот ебал. Спасибо бил гейтс за твой мастдай, очень рад что приходится с опенсорс и прочей проприетарной парашей связываться крайне редко.
Аноним 24/08/19 Суб 18:11:46 146010266
>>1459812
>>1460095

>МАМ НУ СКАЖИ ИМ ЧТО ЛИНЯПС УДОБНО МАААМ
Аноним 24/08/19 Суб 18:31:29 146011367
>>1459662
Если ты разрабатываешь какие-то сервисы, сетевой софт и т.п., то тут линукс без вариантов лучше. Он лучше как ОС, там на больше инструментов, возможностей по настройке, мониторингу и т.п. Весь такой софт делается под никсы, что-то криво переносится под винду. Под виндой всегда будет ограничено и через жопу.

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

Маки вроде как совмещают плюсы никсов и винды. Внутри это кодновые никсы, вроде БСД, но графику делали люди, которые в этом что-то понимают и это любят, много софта. Хотя я сам на маках не работал, но их любят.

Я работаю на линуксах, но постоянно плююсь от убогости интерфейсов линуксового софта, работающего с графикой и видео. Нихрена не потрировано, портируют на винду и мак, даже то, что бесплатное. Линуксовое обычно всё вырви глаз. С библиотеками тоже засада.
Аноним 24/08/19 Суб 18:35:55 146011668
Выучил синтаксис питона более-менее (на уровне лоха). Дальше планирую решать дохуя задачек, как только заебет сразу начать учить алгоритмы. А потом уже лезть в джангу, обмазываться фронтом и т.д.
Годный план или я где-то проебался при его составлении?
Аноним 24/08/19 Суб 18:37:12 146011869
Аноним 24/08/19 Суб 18:37:24 146012170
Аноним 24/08/19 Суб 18:38:34 146012271
>>1460121
Ну не прикидывайся, на ютубе такую последовательность подглядел?
Аноним 24/08/19 Суб 18:39:45 146012372
>>1460113
>Если ты разрабатываешь какие-то сервисы, сетевой софт и т.п., то тут линукс без вариантов лучше. Он лучше как ОС, там на больше инструментов, возможностей по настройке, мониторингу и т.п. Весь такой софт делается под никсы, что-то криво переносится под винду. Под виндой всегда будет ограничено и через жопу.

WSL
Аноним 24/08/19 Суб 18:40:59 146012573
>>1460122
Не, серьезно сам придумал. Подумал, что так лучше всего закреплю теорию программирования в вакууме, а дальше уже на продакшен усы точить буду.
Аноним 24/08/19 Суб 18:51:21 146013774
Нужно получить все возможные комбинации элементов двух массивов, что то вроде
c = []
for i in {'a', 'b'}:
____for j in {'1', '2'}:
________c.extend([[i,j],[j,i]])

Но более изящно
Аноним 24/08/19 Суб 18:51:43 146013875
>>1460125
Врёшь, жопой чую. Ну пройдись по пайтону, порешай задачки, а потом лучше сразу в хтмл/css и жангу. А потом уже и алгоритмами можно шлейфануть, т.к. после пайтона алгоритмы ничего толком не дают - непонятно как и где применять, а без применения всё забывается. Ну моё ИМХО такое
Аноним 24/08/19 Суб 19:03:08 146015076
>>1460138
Какое тут враньё, лол? Подобная последовательность каждому второму начинающему питонисту наверняка в голову приходит.

мимо
Аноним 24/08/19 Суб 19:05:14 146015177
>>1460150
>мимо
Семен, ну хватит оправдываться )
Аноним 24/08/19 Суб 19:57:06 146018578
>>1460137
import itertools
itertools.product({'a', 'b'}, {'1', '2'})
или в этом случае тоже самое
itertools.product('ab', '12')

это чтобы получить комбинации вида a1, a2, b1, b2
чтобы ещё и 1a, 2a и т.п.
вот совсем красиво слёту не предложу, надо думать. Как вариант, две такие строчки, но вторая product('12', 'ab')

Надо подумать, можно можно в одну записать.
Аноним 25/08/19 Вск 11:54:42 146044079
1566723262247.jpeg (280Кб, 679x963)
679x963
Объясните, пожалуйста. Понятно, что имена должны быть со смыслом, но что насчёт нижнего регистра и подчеркивания? Это какое-то общепринятое правило или что? Я вот, люблю называть все в таком стиле makePizza, теперь мне придется функции называть так make_pizza?
Аноним 25/08/19 Вск 12:19:19 146045980
>>1460440
Жаваскрипт макака не палится
Аноним 25/08/19 Вск 12:33:19 146046481
Аноним 25/08/19 Вск 13:20:44 146049282
c4a.jpg (8Кб, 238x192)
238x192
1.png (57Кб, 759x473)
759x473
Я сделол! нахуя? кто просил? кому это надо? :3
Аноним 25/08/19 Вск 13:28:13 146049783
>>1460440
>make_pizza?
У нас в пхп за такое убивают нахуй!
Аноним 25/08/19 Вск 13:35:41 146051184
>>1460459
Я никогда не писал на яваскрипте. Максимум в универе на плюсах, и то лабы. Просто показалось необычным и стильным, поэтому решил таким образом задавать имена.
>>1460464
Спасибо, но можно конкретней. В моей пикче говорят про обязательный общепринятый стандарт определения функций, или просто рекомендация.
>>1460497
А как не убивают?

Спасибо за ответы, друзья, но пока не разобрался.
Аноним 25/08/19 Вск 13:38:19 146051785
Аноны, очень хочу на питоне писать, и возможность есть, но есть один неприятный момент. Я до этого долго писал на Java и NodeJS, и вот после них просто не могу никак перейти на питон, все не так, все неудобно, уже месяц пытаюсь.

Может быть мне не суждено?
Аноним 25/08/19 Вск 13:48:43 146052486
>>1460511
>А как не убивают?
Вот так не убивают:
>makePizza
Аноним 25/08/19 Вск 14:19:09 146053887
>>1460464
Ага, это на бумаге все красиво, а потом мы идем смотреть на либы вроде BeautifulSoup, и оказывается, что на практике всем похуй, какие у тебя там буковки. У некоторых вон даже оба стиля сразу.
Аноним 25/08/19 Вск 15:00:02 146056088
>>1460517
>Может быть мне не суждено?
exactly
Аноним 25/08/19 Вск 15:05:08 146056389
Аноним 25/08/19 Вск 15:05:17 146056590
>>1460440
Это просто стандарт оформления для питона, но ты не обязан ему следовать и не все следуют.

В PEP8 много анахронизма, этому стантарту 20 лет.

Переучиться с одного на другой не проблема, к этому быстро привыкаешь. В целом вариант с подчёркиваниями более читаем, может быть он разумнее, чем альтернативные варианты.
Аноним 25/08/19 Вск 15:50:01 146060391
>>1460560
Эх, печально, конечно. Имхо, питон более зрелый, чем другие интерпретируемые языки
Аноним 25/08/19 Вск 19:19:15 146069592
>>1459654
Ок я вроде корутины и ассинхронщину понял.
Или - нет. Но как их приделать к джанге в контексте нескольких пользователей я все еще не представляю.
Вот у меня логика для одного пользователя дохуя затратная по времени. Я сэкономлю время для одного пользователя, того которым сейчас занят веб-сервер, допустим с помощью ассинхронщины или даже потоков, но он же все-равно блочит сервер? Это моя изначальная проблема и криво поставленный вопрос.
Мне маня-сервер с уберхайлоадом представляется в следующем виде: на каждого клиента свой поток/ассинхронное выполнение. Тут да, тонкости: потоки ОСь выпилить может, их нужно разумное количество и т.д.
Попробую сформулировать новый вопрос. Правильно ли я понял, что мне в качестве профессиональной бекэнд-макаки нужно оптимизировать код на параллельное выполнение для одного пользователя (типа тут await для бд, тут для другого сервера и т.д.), а число коннектов это - к Apache или на чем там сервер?
Аноним 25/08/19 Вск 20:19:49 146071593
>>1460695
Неправильно
Ты даун
Аноним 25/08/19 Вск 20:27:17 146072094
Стажируюсь в Яндексе, пишу асинхронный питон бэк, как прокачаться до уровня джуна-мидла? Стоит ли учить машинку и матстат если не очень вкатывает?
Аноним 25/08/19 Вск 20:49:24 146073495
Аноним 25/08/19 Вск 21:41:09 146076896
>>1460081
>>1459370 (OP)
В ПРОШЛОМ ТРЕДЕ ВСЕ РАСПИСАЛ, ЕБАНЫЕ ПЕРЕКАТЕРЫ, ДОБАВЛЯЙТЕ FAQ ИЗ ПРОШЛЫХ ТРЕДОВ В ШАПКУ, МЫ ДЛЯ КОГО СУКА ПИШЕМ?
Тут адаптация SICP под Python на ангельском, если чуть-чуть запаришься, то найдешь все, что тебе нужно http://composingprograms.com/
ОП-пидарас
Аноним 25/08/19 Вск 22:41:49 146079797
Анон, я понял, что я нихуя не понял темы про стандартные объекты питона - списки, сеты, кортежи. Хуй знает, когда они используются и почему именно они, какие методы к ним применяются. Что можно почитать/посмотреть/послушать на эту тему?
Английским владею.
Аноним 26/08/19 Пнд 00:48:44 146087798
>>1460797
это понимание приходит с практикой. листы - универсальный инструмент, в них что-то накапливать, изменяя количество. тупли - легковесный контейнер с данными, этакий мини-дата-класс, сеты содержат только уникальные элменты, легко узнавать содержится ли всё что есть в сете А в сете Б и наоборот, убирать дубликаты (или автоматически их обрабатывать), находить пересечения. есть ещё дикты. дикты в сочетании с листами это мощный инструмент организации и хранения данных, см json

читать можно тупо доки, причем читать их ты будешь тысячи раз

https://docs.python.org/3/tutorial/datastructures.html
https://docs.python.org/3/library/stdtypes.html#typesseq

мимо говнокодер
Аноним 26/08/19 Пнд 00:58:02 146087899
изображение.png (20Кб, 855x177)
855x177
изображение.png (19Кб, 764x391)
764x391
15663834193640.jpg (38Кб, 1024x541)
1024x541
Ебать джангисты хэлп ! Короче такая хуйня, когда я отправляю форму сохранения пользователя, сохраняет все поля (пароль, почта, юзернейм). НО эта хуйня не сохраняет картинки, в media нихуя нет просто. Можно изменить только через админ-панель. В pycharm ещё такая хуйня (пик-1) может с этим связано.
Аноним 26/08/19 Пнд 01:18:36 1460887100
>>1460797
Списки, по смыслу, это массивы в других языках. Задача в том, чтобы хранить данные, иметь возможность адресации по индексу, плюс куча операций по обработке таких массивов. Сам термин "список"/list немного вводит в заблуждение, а теории алгоритмов за другими структурами это понятие обычно используется.

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

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

Советую в первую очередь разобраться со списками, слайсами (срезами) списков
m2 = m1[2:5]
m2 = m1[::-1]
вот с такими вот штуками

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

Потом уже с кортеражами и словарями.

Литературу не подскажу, на самом деле в доках всё расписано прилично.
Аноним 26/08/19 Пнд 01:50:38 1460900101
>>1460877
>>1460887
Спасибо за пояснения, анончики. Я, видимо, какой-то специальный в том плане, что теорию я понимаю, а вот с тем, как применить ее на практике - беда, еще с универа так. Учусь по лекциям Хосе Портилла на юдеми (до этого закончил Automate the boring stuff там же). После лекций у него обычно бывают контроши. Не знаю, рассчитывает ли он, что я должен решить все сам, или можно погуглить, но некоторые решения я нахожу только с гуглом, некоторые - вообще приходится смотреть ответы. Аналогично с задачками на codingbat.com - warm-up 1 и все первые части я более-менее делаю при помощи гугла, а вот со вторыми частями каждого топика - просто караул.
Я понимаю, как работает срез в стрингах или списках, для чего нужна len(), но руки моментально заворачиваются в жопу, как только я пытаюсь применить это знание на практике.
Итерации над списками - совсем пиздец. Порой не понимаю, как подступиться к заданию. Когда надо использовать for i in list, for i in range, for i in range(0,pen(list)-1) - я не понимаю различия этих действий. Вот что мне с этим делать?
При этом дальше там в курсе пошло ООП. Я понимаю, что там самые азы, но зашло оно гораздо проще, чем вся вот эта функциональщина.
Я тупой, или просто нужно больше практики?
Если можно, порекомендуйте какие-нибудь ресурсы, где как в школе - прошёл урок с подробным изучением топика, потом делаешь домашку.
Аноним 26/08/19 Пнд 01:54:03 1460902102
>>1460887
> Но кортежи при этом очень активно используются.
Тоже использовал, пока не посмотрел байткод. Накладные расходы на namedtuple съедают все преимущества tuple, без namedtuple пердолиться в индексы неудобно, а во всяких там for i in [3, 15, 10] вообще разницы нет. Фактически там, где tuple по-настоящему нужны, они и так используются всегда и неявно.
Аноним 26/08/19 Пнд 01:54:50 1460903103
>>1460900
Когда надо использовать for i in list, for i in range, for i in range(0,pen(list)-1) - я не понимаю различия этих действий.

Посмотри видио на ютубе по генераторам списков. Или просто по циклам и как они работают.
Я вообще хуй знает нахуя идти учить питон, если до него ты не имел дело с более низкоуровневыми языками
Аноним 26/08/19 Пнд 01:56:10 1460904104
>>1460903
>видио
Я блять безграмотное чмо.
Аноним 26/08/19 Пнд 01:59:47 1460906105
>>1460903
Краем уха слышал про генераторы в питоне - это они и есть?
Насчет спойлера - ну хз, я общался с разработчиками на работе, в принципе они говорят, что идти сверху вниз проще, чем снизу вверх. Чем выше уровень абстракции, тем проще.
Аноним 26/08/19 Пнд 02:12:31 1460908106
>>1460906
В общем это просто циклы, и использовать их можно как угодно, например как генераторы последовательностей.
[x for x in range(10)] - вот тебе и сгенерированный список

>Чем выше уровень абстракции, тем проще.
Согласен. Но имел ввиду не сложность, а про само понимание процессов. Например Си и плюсы дали мне большой буст в начале.
Аноним 26/08/19 Пнд 02:18:59 1460909107
>>1460908
>[x for x]
Хм, в моем курсе это было, называлось list comprehensions.
А насчет буста - какая, по большому счету, разница, где я изучаю логику и алгоритмизацию действий? На этом уровне, по сути, различается только синтаксис ведь?
Аноним 26/08/19 Пнд 02:49:05 1460913108
>>1460909
Так то для изучения логики и алгоритмизации можно вообще не использовать ЯП. Я говорил про то, что например Си, научит пониманию и управлению памятью, указателей и тд. Тем более ты должен понимать разницу между низким уровнем и высоким, понимать как работает питон и чем он отличается от компилируемых языков.
Аноним 26/08/19 Пнд 03:50:42 1460919109
>>1460902
Кортеж это обычный tuple, так переводят.

tuple несколько быстрее, чем списки, и чуть меньше ресурсов жрут.

Основная область применения для упаковки небольших данных, когда две-три-пять переменных надо в одно передаваемое или возвращаемое значение упаковать. С этим начинающему надо сразу разобраться, используется постоянно.
(x, y) = get_position()
print(x)
print(y)

Для больших данных смысла, наверное, не имеют, разве что если использовать их как константный список, то есть когда надо гарантировать, что список не будет испорчен. Но как-то я не очень видел, чтобы ими так пользовались.
Аноним 26/08/19 Пнд 04:00:45 1460924110
>>1460913
У питона сильно выше уровень и ты как раз можешь думать о логике и алгоритмах, не отвлекаясь на технические детали.

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

Аноним 26/08/19 Пнд 06:30:54 1460942111
В шкалке я писал всякие нубские программы в консоли, а теперь мне нужна простая гуи прога, по сути калькулятор, чтобы не занимала много места и не требовала прав администратора (поставить на работе от пользователя). Что посоветуете, что покурить, чтобы написать такую? Tkinter или че там?
Аноним 26/08/19 Пнд 10:14:40 1460986112
Хочу вкатиться в питон. В питоне есть аналог my пёрла? Чтобы, например не было ситуатций когда объявляешь перед циклом переменную tvoyu_mamku_ebal, в цикле собираешь данные в tvoyu_mamku_ibal и потом полчаса думаешь, какого хуя.
Аноним 26/08/19 Пнд 10:31:15 1460989113
Эй, вкатывальщик 29 лвла, пали свой прогресс
Аноним 26/08/19 Пнд 10:32:08 1460991114
Прошу помощи нюфагу у здешних ананасов. Начал вкатываться через курсы на степик . орг и вот там задание есть простецкое на написание своего калькулятора. Все вроде спокойно и нормально работает, но когда я его там тупо отсылаю то прилетает Failed test #14. Wrong answer. Что означает о том, что на 14 попытке мой калькулятор где то проебался. Сам я вручную штук 20 перелопатил всякой хуйни и все работает как часы. В чем загвоздка?
https://www.codepile.net/pile/j0K9Xa6L
Аноним 26/08/19 Пнд 10:34:02 1460992115
>>1460991
Потому что книжки читать надо, а не тестики решать!
Аноним 26/08/19 Пнд 10:43:03 1460996116
>>1460986
У всех объекстов в питоне по дефолту локальная облась видимости.
Аноним 26/08/19 Пнд 10:45:51 1460999117
>>1460992
и до этого со временем дойдет, не переживай, анон. на одних тестиках я дальше таких простецких программ не уеду
Антон 26/08/19 Пнд 11:11:30 1461011118
Привет!
>>1461003
Пришел к вам из бэ, надеюсь на вашу помощь, 300кк/нсек боги
Я пытаюсь создать уведомление в Windows, используя библиотеку Plyer. Все отлично работает, когда запущен скрипт Python (.py). Но когда я пытаюсь создать исполняемый файл с помощью pyinstallerpyinstaller -F -i C:\<путь>\ico.ico C:\<путь>\name.py и запускаю исполняемый файл, я получаю эту ошибку: https://pastebin.com/taJaZVey

фрагмент кода: https://pastebin.com/zvMGughh

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


>>1461003
>Модуль не найден, спрашивай в Питухонском треде где должны раз ещаться


Спрашиваю
Антон 26/08/19 Пнд 11:13:42 1461013119
Антон 26/08/19 Пнд 11:14:27 1461015120
>>1461013
вопрос вообще не о том, я еблан
Аноним 26/08/19 Пнд 11:42:38 1461034121
>>1460511
настоятельно рекомендуется, но на него многие забивают
Аноним 26/08/19 Пнд 11:47:11 1461037122
15545301291410.png (955Кб, 731x622)
731x622
Здравствуйте. Поступил на Математику в этом году, будем учить ваш Python на первом курсе. Какую IDE лучше взять? Боюсь взять не ту, что будет на компах в универе. Вдруг появятся какие-то проблемы при открытии кода в другой IDE. Я просто не особо в этом понимаю, если написал хуйню - не бейте. Мне бы лёгкую IDE-шечку, а не pycharm (который, я слышал, грузит комп).
Аноним 26/08/19 Пнд 11:49:56 1461041123
Аноним 26/08/19 Пнд 11:57:21 1461050124
>>1461037
sublime хороший, в универе скорее всего будет пучарм, никаких технических проблем в теории[/быть не должно, единственное, мне например, было бы сложно днем работать в одной иде, вечером в другой
Аноним 26/08/19 Пнд 12:22:14 1461065125
>>1461037
Сублиме текст заебись, но с ним попердолиться надо - ставь пучарм или IDLE в у нивере будет IDLE, скринь
Аноним 26/08/19 Пнд 12:39:32 1461079126
Аноним 26/08/19 Пнд 12:40:33 1461080127
>>1461041
>>1461050
>>1461065
Спасибо за ответы. А в spyder кто-то пробовал? Я там смотрю, пишут про визуализации в виде функций, всякие математические библиотеки.
Аноним 26/08/19 Пнд 12:42:39 1461083128
>>1461079
Он просил легкую ИДЕ, сублиме можно напердолить так, чтоб он стал ИДЕ
Аноним 26/08/19 Пнд 12:43:43 1461084129
>>1461011
помогите пожалуйста..
Аноним 26/08/19 Пнд 12:44:56 1461086130
>>1461084
Тыж программист! Решай задачу.
Аноним 26/08/19 Пнд 12:45:37 1461088131
>>1461086
дак я решил, только уведомления эти сраные и не работают, как фиксить то?
Аноним 26/08/19 Пнд 12:48:41 1461089132
Аноним 26/08/19 Пнд 12:49:54 1461090133
>>1461088
Здесь в основном вкатывальщики разного уровня уёбищности сидят.
Попробуй переустановить винамп использовать гугл.
Аноним 26/08/19 Пнд 12:51:34 1461091134
>>1461090
гуглил что это?сейчас переустановлю, спасибо
Аноним 26/08/19 Пнд 12:52:26 1461092135
>>1461091
прикол с винапмом понял, спасибо
Аноним 26/08/19 Пнд 12:54:18 1461093136
Аноним 26/08/19 Пнд 12:55:55 1461095137
Аноним 26/08/19 Пнд 12:56:11 1461096138
>>1461080
Хорошая ИДЕ, но для тебя ее функционал будет излишним. (скорее всего)
Аноним 26/08/19 Пнд 12:57:50 1461098139
>>1461011
Чет не могу загуглить такую библиотеку
Аноним 26/08/19 Пнд 12:59:20 1461100140
Аноним 26/08/19 Пнд 12:59:27 1461101141
Аноним 26/08/19 Пнд 13:04:44 1461103142
>>1461095
>>1461093
Спасибо. Пробую, пока безуспешно

virtualenv? не знаю что это
Аноним 26/08/19 Пнд 13:08:06 1461109143
>>1461103
Ну обычно хорошая практика в пайтоне для каждого "проекта" создать своё виртуальное окружение и все зависимости ставить в него
Аноним 26/08/19 Пнд 13:10:02 1461111144
15667284451280.jpg (8Кб, 238x192)
238x192
Аноним 26/08/19 Пнд 13:10:40 1461112145
>>1461109
не делал так, почитаю позже
Аноним 26/08/19 Пнд 13:11:40 1461115146
>>1461111
File "site-packages\plyer\utils.py", line 96, in _ensure_obj
ModuleNotFoundError: No module named 'plyer.platforms.win'
No usable implementation found! =)
Аноним 26/08/19 Пнд 13:16:24 1461118147
>>1461115
Кинь кусок с plyer.platforms
Аноним 26/08/19 Пнд 13:16:53 1461119148
image.png (2370Кб, 1920x1080)
1920x1080
>>1461111
>>1461111
!!!!ЗАРАБОТАЛО!!!!

спасибо===)))
литр нефти и чая тебе, Антон!
Аноним 26/08/19 Пнд 13:17:58 1461121149
>>1461119
Ты должен был делать import plyer.platforms.win.name
Учись импортить
Аноним 26/08/19 Пнд 13:19:28 1461123150
>>1461121
недавно в питоне

по моей логике import plyer должен импортить всю библитеку, со всеми вложенными, в том числе platforms>win>.., разве нет?
Аноним 26/08/19 Пнд 13:20:44 1461124151
Аноним 26/08/19 Пнд 13:21:29 1461125152
>>1461123
>Все отлично работает, когда запущен скрипт Python (.py)
Всё таки я тогда не понимать
Аноним 26/08/19 Пнд 13:23:46 1461126153
>>1461124
>>1461125
plyer это единственна библиотека(из тех что я применял) которая не импортнулась(?), я не понимаю почему, может слишком большая, если импортировать только ту функцию которая мне нужна, то все работает. Спасибо всем анонам в треде
Аноним 26/08/19 Пнд 13:25:44 1461128154
15656946913240.png (1083Кб, 1280x720)
1280x720
Все-таки питон удивительный язык!
Аноним 26/08/19 Пнд 13:27:00 1461130155
>>1461126
Всегда импортируй только тот модуль, который тебе нужен. Меньше ошибок + легче читать код.
Аноним 26/08/19 Пнд 13:27:38 1461131156
>>1461130
Да, уже сам для себя подметил это, спасибо
Аноним 26/08/19 Пнд 15:03:56 1461207157
Нужно ли обязательно писать

while answer != 'q'
или можно while answer != "q"
?


Аноним 26/08/19 Пнд 15:11:47 1461216158
>>1461207
Юзай любой из вариантов, это не принципиально. Если в строке есть ' юзаешь " " (" ' "), если " соответственно юзаешь ' ' (' " '). В остальных случаях юзай что хочешь.
Аноним 26/08/19 Пнд 15:22:51 1461221159
>>1461207
>>1461216
Но лучше использовать ", чтоб потом не переучиваться
Аноним 26/08/19 Пнд 15:39:51 1461231160
>>1461091
>>1461088
Ну попробуй другой конвертор в ехе, нютку попробуй
nuitka --standalone --windows-disable-console --plugin-enable=qt-plugins --windows-icon="c:\convertor\icon.ico" --remove-output "c:\convertor\convertor.py"
Аноним 26/08/19 Пнд 15:57:44 1461247161
Скиньте, пожалуйста, статью как развернуть Django. Пытался развернуть на heroku, упёрся в ошибку с модулями, неделю искал решение. Помогите
Аноним 26/08/19 Пнд 16:09:54 1461252162
Аноним 26/08/19 Пнд 17:12:23 1461280163
Аноним 26/08/19 Пнд 17:31:45 1461290164
>>1461280
Ок. Спасибо. Начинаю делать. Надеюсь всё получиться
Аноним 26/08/19 Пнд 18:33:41 1461372165
>>1460991
Проверка на деление на ноль при mod и div есть, а самих mod и div нет
Аноним 26/08/19 Пнд 19:16:29 1461390166
>>1460887
>В целом больше сахар, чем что-то, что реально необходимо и полезно, наверное везде при желании можно списки использовать вместо кортежей. Но кортежи при этом очень активно используются.

Кортежи обрабатываются эффектней списков.
Если нужно последовательности поместить в множество или сделать ключом словаря, то нужно чтобы последовательность была неизменяемой, чтобы у нее был один и тот же хэш. Тут помогают кортежи.
Кроме того бывает, что хочется, чтобы последовательность была неизменяемая, хотя бы для логической выразительности, например, бывают последовательности-константы.
А еще надо учитывать разные подводные камни питона, например, если в качестве инициализатора для параметра по умолчанию указать конструктор объекта, это приведёт к созданию статического объекта, ссылка на который и будет передаваться по умолчанию в каждый вызов. Это может повлечь трудно уловимые ошибки, поэтому лучше для значений аргумента по умолчанию использовать неизменяемые типы.
Вообще полезная штука.
Salat 26/08/19 Пнд 20:41:45 1461443167
Снимок12.PNG (7Кб, 670x157)
670x157
Снимок.PNG (8Кб, 668x168)
668x168
Пишу (1 картинка), pytchrm ругается и предлагает вот такой вот вариант(2 картинка), въехать не могу чём прикол. Антон, помоги
Аноним 26/08/19 Пнд 20:47:04 1461447168
Аноним 26/08/19 Пнд 20:47:37 1461448169
>>1461443
Оба варианта не cоответствуют pep8
Сделай так

inf = {
'author': None,
...
}
Аноним 26/08/19 Пнд 20:50:25 1461450170
>>1461448

А потом уже писать тип
Аноним 26/08/19 Пнд 20:51:02 1461451171
Аноним 26/08/19 Пнд 20:53:18 1461454172
изображение.png (21Кб, 623x162)
623x162
>>1461443
Тебя аннотация типов смущает?
Аноним 26/08/19 Пнд 20:58:26 1461455173
>>1461454
Да, я с таким не встречался, что это вообще значит... optional[Any]
Аноним 26/08/19 Пнд 20:58:57 1461456174
Сап двач, какую книгу читать по структурам данных на питухоне?
А то мне не вставляет смотреть 20 часов видео от хирьяноваЕБАЛ В РОТ ВИДЕВА БЛЯ
Аноним 26/08/19 Пнд 21:11:05 1461458175
>>1461455
>optional[Any]
В кратце, это значит что это может быть любой тип или None.
Dict[str, Optional[Any]] значит, что это словарь, с ключом типа строка и значением любого типа, при этом допускается, что значение будет просто None.
Аннотация типов - это указание типа для переменных и функций. Это относительно недавняя и совершенно не обязательная для работоспособности фишка питона, более того, интерпретатор не следит, что там действительно именно те типы, что ты написал, но это могут делать специальные программы и среды разработки, это помогает находить ошибки делать программы более качественными и читаемыми для людей. В целом, полезно, рекомендую использовать.

https://docs.python.org/3/library/typing.html#typing.Optional
https://www.python.org/dev/peps/pep-0483/
https://www.python.org/dev/peps/pep-0484/
https://www.python.org/dev/peps/pep-0526/
Аноним 26/08/19 Пнд 21:19:36 1461462176
>>1461390
> Если нужно последовательности поместить в множество
> Тут помогают кортежи.
from collections import namedtuple
s = set()
Eek = namedtuple('Eek', '')
Ook = namedtuple('Ook', '')
s.add(Eek())
s.add(Ook())
# счастливой отладки
Аноним 26/08/19 Пнд 21:39:43 1461472177
>>1461462
А зачем мне namedtuple, когда мне нужны кортежи? Просто
In [17]: s = {(1,2), (3,4)}
In [18]: s
Out[18]: {(1, 2), (3, 4)}

И нет проблем
Аноним 26/08/19 Пнд 22:21:12 1461485178
>>1461462
Если надо засовывать туплы во множество, наверно, ожидается что у них будет разное содержимое, если хочется разные классы с одинаковыми полями засовывать в сет, так чтобы они там оба остались, надо просто создать нормальные классы и определить для них методы __hash__ и __eq__

В данный момент более православно определять namedtuple примерно так:
from typing import NamedTuple
class Employee(NamedTuple):
    name: str
    id: int

Вообще, можно побаловаться

In [46]: class Eek(NamedTuple):
...: def __hash__(self): return hash("Eek")
...:
...: class Ook(NamedTuple):
...: def __hash__(self): return hash("Ook")
...:
...: {Eek(), Ook(), "Eek", "Ook"}
Out[46]: {'Eek', Eek(), 'Ook', Ook()}

Аноним 26/08/19 Пнд 22:58:43 1461505179
>>1461443
Поясните за
>inf:
>class_
даже не сразу понял что это словарь
Аноним 26/08/19 Пнд 23:09:37 1461514180
>>1461458
Честно? Не нравится немного. Слишком громоздко, попытка превратить лаконочный питон в энтерпрайз джаву или в плюсы, причём с тяжёлым синтаксисом и при этом плохой производительностью и надёжностью в плане реальной защиты от ошибок.

Аноним 26/08/19 Пнд 23:32:52 1461531181
>>1461514
Ну, смотри, бывает, видишь в новой незнакомой библиотеке функцию с кучей аргументов, и, даже после ознакомления с доками, не всегда сразу удается сообразить, а чем эти аргументы могут быть, а чем не могут, и какой должен быть результат выполнения функции, а аннотации реально ускоряет освоение нового материала, кроме того IDE может оперативно подсказать, если, вдруг, начинаешь случайно творить хуйню, это всплывает сразу и без падений при запуске и без отладки с дебегером. Уверен, со временем и интерпретатор научиться использовать эту информацию для генерации более оптимизированного кода, как и проекты вроде Nuitka, Cython, Numba, PyOxidizer и прочих, которые позволяют генерировать из питона исполняемые файлы, для ускорения и возможности удобного распространения
Аноним 27/08/19 Втр 00:06:15 1461540182
>>1461456
Видео херня, основное время у хирьянова займёт пройти всю практику.
Аноним 27/08/19 Втр 01:10:36 1461551183
>>1461531
> функцию с кучей аргументов
Лучше бы документацию писали нормально.

> аннотации реально ускоряет освоение нового материала
Ни разу не пригодилось.

> IDE может оперативно подсказать
Тормозящее говно не нужно.
Аноним 27/08/19 Втр 01:29:01 1461557184
>>1461551
>Тормозящее говно не нужно.
Можешь на свой вим установить плагин нужный. Или тоже НИНУЖНА?
Аноним 27/08/19 Втр 03:51:38 1461574185
> В некоторых областях (например, обработке строк с использованием регулярных выражений) у Python существуют эффективные реализации, не уступающие по скорости любым программам C, а то и превосходящие их.

Почему так (как это работает? регулярки вынесены в отдельный модуль и работают нативно на С или еще как?) и в каких еще областях?
Аноним 27/08/19 Втр 07:52:22 1461625186
>>1461540
Книгу мне давай блядь по структурам данных, сука
Аноним 27/08/19 Втр 08:02:43 1461629187
imgonline-com-u[...].png (202Кб, 512x384)
512x384
Аноны, есть какие то гайды по Django AJAX? Сколько уже не смотрел юутуб, ни как не пойму эту джаваскриптовую парашу.
Аноним 27/08/19 Втр 08:48:11 1461637188
Аноним 27/08/19 Втр 09:02:48 1461642189
>>1461629
при чем тут джанго и аджакс
джаваскрипт отдельно бэкэнд отдельно
Аноним 27/08/19 Втр 09:15:41 1461656190
>>1461637
Ты ебанутый сука, давай что-то полегче.
Аноним 27/08/19 Втр 09:18:20 1461659191
Аноним 27/08/19 Втр 09:25:52 1461662192
>>1461642
Ну там же нужно делать специальные вьюхи, которые будут возвращать json. И уже ajax с этим работает. Или как там ? Я так и не понял. Просто я делаю сайт магазин, и меня жутко бесит, что нужно каждый раз обновлять страницу чтобы например добавить предмет в корзину.
Аноним 27/08/19 Втр 11:35:57 1461719193
pycharm.png (16Кб, 823x228)
823x228
Скачал pycharm, везде эти подчеркивания, как я понял проблема в пробелах

Вообще это первый мой проект и я в notepad++ делал отступы через tab, а оно похоже на это жалуется? Что с этим делать?
Аноним 27/08/19 Втр 11:37:39 1461721194
>>1461662
from django.http import JsonResponse
все
Аноним 27/08/19 Втр 11:38:54 1461722195
В путоне оператор присваивания переопредилить нельзя?
Аноним 27/08/19 Втр 11:47:57 1461726196
Анон, помогите плес распарсить жсон. Нагуглил простейший метод решения:
import json

# some JSON:
x = '{ "name":"John", "age":30, "city":"New York"}'

# parse x:
y = json.loads(x)

# the result is a Python dictionary:
print(y["age"])



Но проблема в том, что у меня жсон несколько сложнее и выглядит вот так:
https://pastebin.com/e9TKhRq0

Мне нужно запулить переводчик, чтобы odno_naimenovanie, odin tip: 1 парсилось в "наименование такое-то, тип такой-то, кол-во 1".
Как это сделать?
Аноним 27/08/19 Втр 12:28:49 1461740197
>>1461719
Код отформатировать тебе же предлагает
Аноним 27/08/19 Втр 12:31:15 1461741198
>>1461719
на лампочку жми - там будет предложение исправить.
Или есть какая-то комбинация, если не ошибаюсь - ctrl+alt+L - жмёшь - и она тебе весь код к ПЕП8 подтянет.
Аноним 27/08/19 Втр 12:38:14 1461745199
76bd5c9343f99d3[...].jpg (96Кб, 700x662)
700x662
>>1461458
Огромное спасибо, Антон
Аноним 27/08/19 Втр 12:39:19 1461747200
Анон, привет. Не знаю, принято или нет тут подобные вопросы задавать, но мне интересно. Вот если с полного нуля начать сейчас учить питон, через сколько время я смогу куда-нибудь джуниором устроиться, ну либо первые заказы на фрилансе брать? Программировать хочу и для души, ну и чтобы профит тоже был, потому что денег сейчас вообще нет. Недавно уволили с работы, поэтому ещё немного, и жрать нечего будет. Заранее спасибо за ответ.
Аноним 27/08/19 Втр 12:41:36 1461749201
>>1461747
>Вот если с полного нуля начать сейчас учить питон, через сколько время я смогу куда-нибудь джуниором устроиться
Зависит от тебя, кто-то за пол года вкатывается, кто-то за несколько лет осовить не может

>ну либо первые заказы на фрилансе брать
Когда настакаешь 2-3 года опыта
Аноним 27/08/19 Втр 12:44:36 1461753202
>>1461749
> Зависит от тебя, кто-то за пол года вкатывается, кто-то за несколько лет осовить не может
Хорошо, спасибо. Мотивация, в принципе, есть. Голодным сидеть не хочется. Да и живу в миллионнике, может и повезёт.
> Когда настакаешь 2-3 года опыта
Нихера себе. Да ну нахуй, лучше джуниором куда-нибудь, чем жопу себе за каждого заказчика рвать.
Аноним 27/08/19 Втр 14:19:21 1461827203
Пытаюсь написать волшебный [/sговно-]ОРМ, но волшебство обламывается на запросе в БД: хочу, чтобы запрос был один, при этом хочу цепочкой методов навешивать условия типа
query = User.select('user', 'id', 'password').order('id').limit(100)
Там со вложенными where и всей красотой.
Надо как-бы научить цепочку методов понимать, что за ней ничего дальше нет, но она-то выполняется слева-направо. Че посоветуете, кроме как сделать бочку?
Аноним 27/08/19 Втр 14:34:02 1461843204
>>1461827
Ты не поверишь, но, это называется "билдер".
И в конце должен быть специальный метод, типа .build() или .end() или .exec() и т.п., в зависимости от того, что именно ты делаешь.

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

В твоём случае, это может выглядеть так:
query = Query(User).select('user', 'id', 'password').order('id').limit(100).end()

Query - это билдер.


Аноним 27/08/19 Втр 14:36:17 1461846205
>>1461843
Можно и прямо в User встроить билдер, это зависит от того, что там у тебя внутри.
Аноним 27/08/19 Втр 14:48:52 1461854206
>>1461726
print(y["odno_naimenovanie"]["1"])
Тебе не это нужно?
Аноним 27/08/19 Втр 14:55:08 1461858207
>>1461843
Блин, а правда тупо билдер-паттерн. Я о финальном методе тоже думал, но хотел без него обойтись.
Спасибо
Аноним 27/08/19 Втр 16:42:40 1461916208
Статические переменные - полиморфные?
Аноним 27/08/19 Втр 17:00:42 1461926209
А как сразу несколько методов применить к одной переменной?

Например вместо
str0=l[0].strip()
l0=str0.split(' ')
писать что-нибудь вроде
str0=l[0].strip().split(' ')
Аноним 27/08/19 Втр 17:47:33 1461953210
>>1461926
Это не "несколько методов к одной переменной", это цепочка преобразований значения.
Вот так, в цепочку и пиши, если можно, для данных методов.

И погугли композицию функций.
Аноним 27/08/19 Втр 18:07:37 1461968211
>>1461721

Меня просят ещё и скрипт писать. Слать нахуй дизйнерскую макаку ?
Аноним 27/08/19 Втр 18:57:24 1462004212
>>1461926
Ты каждый последующий метод применяешь к разным переменным.
Аноним 27/08/19 Втр 20:06:38 1462069213
>>1461629
>Сколько уже не смотрел юутуб
>смотрел юутуб
Ну че это такое ну
Аноним 27/08/19 Втр 20:10:30 1462071214
>>1461753
Зато на собеседованиях в пятерочку можешь говорить что ты программист!
Аноним 27/08/19 Втр 20:33:00 1462086215
Аноны, меня аш трисёт, почему в литературе пишут, что множество, set - неупорядоченный тип данных, а кортежи и списки - упорядоченный, а по факту - наоборот, только в set данные автоматически упорядочиваются?
Аноним 27/08/19 Втр 20:43:01 1462091216
>>1462086
Потому что в каком порядке ты положил в list или tuple в том оно и будет храниться, set же хранит со своей расстановкой и т.д.
Аноним 27/08/19 Втр 21:05:44 1462104217
>>1462086
> данные автоматически упорядочиваются
>>> set(['a', 'c', 'b'])
{'b', 'a', 'c'}
И каким же образом они упорядочиваются?
Аноним 27/08/19 Втр 21:10:28 1462106218
изображение.png (5Кб, 424x384)
424x384
Аноним 27/08/19 Втр 21:26:46 1462125219
>>1462106
А теперь повтори с {3, 2, 10}. А еще оно вообще может при каждом запуске в новом порядке хранить (раньше точно могло, деталей не помню).
Аноним 27/08/19 Втр 21:30:26 1462127220
>>1462086
Пушто ты по индексу не можешь к ним обращаться. Пушто порядок их хранения в этом типе вообще не важен. Важен факт принадлежности к конкретному множеству
Аноним 27/08/19 Втр 21:33:44 1462128221
Анончики, решил немного ускорить асинхронный for с помощью создания таска на загрузку следующего значения итератора.
Есть у такого способа какие-то подводные камни?
https://repl.it/repls/DualMustySpreadsheet
Аноним 27/08/19 Втр 21:39:14 1462131222
Аноним 27/08/19 Втр 22:16:22 1462146223
>>1461854
Да, разобрался со вложенностью, спасибо!

А как мне теперь это перевести в удобоваримый формат, т.е. назвать человеческим именем?

Грубо говоря, жсон отдает
{
"instrument": {
"drel": "10"
}
}

А мне нужно, чтобы питон это распаршивал как "Инструмент дрель: 10".
Я так понимаю, надо воспользоваться словарем? Ключ - закодированное имя в жсоне, значение - декодированное имя на человеческом языке. Но как это изложить в виде кода - вообще хуй знает.
Не программист, не унижайте
Аноним 27/08/19 Втр 22:19:46 1462148224
>>1462146
Хотя даже нет, тут сложнее выходит. Дело в том, что в приведенном ниже примере 'drel' может быть вложена в разные "ключи", и от этого парсинг будет отличаться. Грубо говоря:

"instrument": {
"drel": "10"
} ---- инструмент дрель: 10

"parts": {
"drel": "12"
} ---- запчасти: 12
Аноним 28/08/19 Срд 00:09:23 1462181225
>>1462148
>drel
Ну ёбаный стыд же.

Эта задача не столько про питон, сколько про данные.
Решение зависит от твоей конкретной модели данных.
Нужно переводить с учётом иерархии (контекста).
Строй пути через точку - "instrument.drel", и используй, как ключи.
Как-то так.

Но, для данного примера было бы естественнее так:
Инструменты:
-- Дрель: 10
-- Лобзик: 50

Т.е. для каждого уровня иерархии - свой словарь.
Аноним 28/08/19 Срд 00:27:10 1462191226
>>1462128
В чём твоё ускорение заключается? Я пока не очень понимаю логику написанного, но фактически суть в том, что в одном случае ты выполняешь цикл вида
for i in range(20):
await asyncio.sleep(0.1)
await asyncio.sleep(0.1)

Во втором случае ты одну из этих операций оформляешь в задачу, то есть фактически запускаешь параллельно внутри тела цикла
Соответственно, в одном случае у тебя 4 секунды ((0.1+0.1)20), в другом 2 секунды(max(0.1, 0.1)20)

Но мне скорее не понятно что ты делаешь и зачем.
Аноним 28/08/19 Срд 00:27:48 1462192227
изображение.png (78Кб, 1213x969)
1213x969
>>1459370 (OP)
Почему у tkinter на убунте так хреново отображается кириллица, причем шрифт мало влияет на это? Можно ли что-то с этим сделать, может шрифты какие специальные установить или что? У меня Ubuntu 18.04, python 3, у Tcl в tkinter версия 8.6
Аноним 28/08/19 Срд 00:36:09 1462195228
>>1462191
Дефолтный async for начинает запрашивать следующие значение только после завершения блока кода в теле цикла, если в цикле происходит другой await, то по идее можно начать запрашивать следующее значение заранее, если оформить его в виде таска.
Аноним 28/08/19 Срд 00:36:26 1462196229
>>1462192
Прямо пахнуло 90-ми, лол.
Тут недавно было про выбор ос для разработки (>>1459662 etc)
Эта картинка - отличный аргумент в пользу винды/мака.

По теме:
https://python-scripts.com/question/16952

Вообще, думаю, дело в том, что эта часть в tcl как раз с 90-х и не менялась.
Аноним 28/08/19 Срд 00:46:31 1462198230
tkinter.png (27Кб, 198x176)
198x176
>>1462196
Только что запустил пример (по ссылке) на маке.
Пикрелейтед.
Аноним 28/08/19 Срд 01:08:44 1462206231
>>1462195
Это очень разумное поведение. Ты сначала обрабатываешь один запрос, потом следующий. Вот представь, что ты читаешь что-то из сокета и туда же ответ высылаешь.

Ты опираешься на какие-то допущения, что можно смело считать следующую итерацию цикла, не окончив предыдущую.

Мне вообще не понятно, зачем тебе асинхронные циклы. Всё как-то тяжеловесно. Используй, например, очереди задач. Ты можешь сделать очередь из 1-2-много элементов. Эту очередь заполнять одной асинхронной задачей по мере того, как она освобождается.
Смотри asyncio.Queue
в другой задаче ты вытягиваешь элементы из этой очереди и их обрабатываешь.

Это совершенно типовой подход, он намного более гибкий и понятный.
Аноним 28/08/19 Срд 01:22:55 1462209232
>>1462195
>>1462206
Ещё дополню.
Цикл по своей природе синхронная конструкция, их вообще дурной тон использовать. Но иногда надо, когда надо именно последовательно в один поток что-то обрабатывать.

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

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

Цикл это частный случай очереди упрощённого вида:
for x in my_gen():
queue.put(x)
z = queue.get(x)
process(z)
Аноним 28/08/19 Срд 01:42:11 1462214233
>>1462181
Анон, спасибо большое за идею. Все получилось сделать через итерацию через for, вложенный в for.
Аноним 28/08/19 Срд 10:58:43 1462393234
>>1461472
Что за [In] в каждой строке?
Аноним 28/08/19 Срд 12:37:30 1462464235
>>1462393
line
Просто вывод такой. Юпитером пользуется наверное.
Аноним 28/08/19 Срд 13:40:08 1462525236
image.png (25Кб, 274x306)
274x306
image.png (18Кб, 419x220)
419x220
А схерали ошибка-то?

Я разделил сплитом каждую строку на два куска, разделителем служит ' - '
Значит у меня должно получиться два элемента списка - 0 и 1.
Вывожу 0 и 1, оба элемента выводятся, но вываливается ошибка.
Аноним 28/08/19 Срд 13:46:13 1462527237
>>1461953
>Это не "несколько методов к одной переменной", это цепочка преобразований значения.
Вообще-то strip и split это именно методы.
"Цепочка преобразований значения" - неведомая хуйня, которую ты только что выдумал, такого термина в python нет.
Аноним 28/08/19 Срд 14:04:49 1462543238
>>1462525
Засплить и запиши в отдельную переменную, а потом уже используй обращение к массиву по индексу. Мозга не еби уж.
Аноним 28/08/19 Срд 14:05:54 1462545239
>>1462525
Написано же, что list out of range. Ты пытаешься вызвать элемент, находящийся вне словаря.
Аноним 28/08/19 Срд 14:07:01 1462547240
>>1462525
Для отладки сделай или печать строки перед этим, или в tray-catch посмотри.

Мне кажется, что у тебя или пустая строка попадает в обработчик, или строка вне этого шаблона. Вот на этой строке у тебя программа и валится, поскольку после split там список только из одного элемента.
Аноним 28/08/19 Срд 14:08:04 1462548241
>>1462547
> try-catch
самофикс try-except
Аноним 28/08/19 Срд 14:19:36 1462561242
.png (41Кб, 794x529)
794x529
Почему картинка превращается в говно? Как победить? Как клеить полупрозрачные картинки на прозрачные? alpha_composite() работает нормально, но у неё нет смещения. А надо клеить со смещением.
Аноним 28/08/19 Срд 14:23:04 1462564243
Штош, сегодня будет собес на мидла, на ЛЕГАСИ прожект.
Запилить анонам отчёт небольшой?
Да, на питоне уже есть легаси, даже не на джанге/odoo. Со слов собеседующего, прожекту 20лет, сейчас только планируют переезжать на пистон3. Проект занимается обработкой и вытягиванием данных из всяких документов(чеки и т.п.).
Аноним 28/08/19 Срд 14:26:31 1462568244
>>1462564
Пили. Всегда интересно, как у всех проходят собеседования, потому что у меня одно и то же и всегда нахуй.
Аноним 28/08/19 Срд 14:29:00 1462574245
>>1462568
> всегда нахуй.
Зачастую так же.
Раньше перед собесами повторял что-то, сейчас же иду как есть и похуй.
Аноним 28/08/19 Срд 14:34:26 1462581246
>>1462574
Много уже куда ходил? Я вот всего-ничего, но видя как мои знакомые, которые со мной на одном уровне знания находятся, проходят с первого раза, совсем теряю мотивацию чо-т.
В общем, пили прохладную потом. Если что, порадуюсь вместе с тобой; а нет, так поддержу.
Аноним 28/08/19 Срд 14:46:00 1462593247
>>1462581
Че знаешь? Че умеешь?
Аноним 28/08/19 Срд 15:02:16 1462604248
>>1462581
Да я уже третий год работаю, за это время много куда походил, много собесов прошёл, пару тестовых на хуйю повертел.
В прошлых тредах от меня был большой пост со списком вопросов с ласт успешного собеса.
Аноним 28/08/19 Срд 15:23:54 1462626249
Анончики, а может кто давать реальные задачи несложного уровня? Прочитал с выполнением книгу из шапки Head First, понравилась подача, но там как-то всё через веб показано. Ещё четверть лутца прошел, дальше не осилил.
Зарегился на codewars, но там тоже через чур все задания абстрактные. Вроде несложно, но подумать приходится.
Почта leth@yandex.ru
Аноним 28/08/19 Срд 15:48:44 1462646250
>>1462626
Да можно было бы просто в тред
мимо
Аноним 28/08/19 Срд 15:58:01 1462655251
Подскажите, где можно задачки найти? Я вот прошел темы операторов if, while, for, break и continue
Для закрепления хотелось бы задачи с ответами
Аноним 28/08/19 Срд 16:00:05 1462656252
Подскажите, почему string является неизменяемым типом данных, но при этом допускает метод .replace?

>>1462655
проект эйлера, ответы в интернетах.
Аноним 28/08/19 Срд 16:04:24 1462658253
>>1462656
>Подскажите, почему string является неизменяемым типом данных, но при этом допускает метод .replace?
Потому что тебе возвращается новый объект строки
Аноним 28/08/19 Срд 16:11:04 1462662254
>>1462656
> Подскажите, почему string является неизменяемым типом данных, но при этом допускает метод .replace?
ответы в интернетах.
Аноним 28/08/19 Срд 18:04:28 1462723255
>>1462564
Ну что ж, собес всьо.
Т.к. прожект написан на чистом питоне, соответственно и вопросы были по чистому питону:
Генераторы и примеры юзания. Контекстный менеджер и примеры + как в классе/функции. Инкапсуляция в питоне, как работает _ и __. Property. Мета-классы(соснул хуйца без вариантов, никогда не читал даже про них, идиот). Множественное наследование в питоне2/3.
Как вызвать метод конкретного родителя. Как идёт поиск метода в родителях. Super. Init/new/call. Slots/dict. Правила импорта, что делает __all__=[]. Как запилить синглтон(не знал что это, а тут узнал и охуел). Вроде по питону всё.
Вопросы по докеру были, но банально "как юзал, почему, какие проблемы были". И по линупсу, так же "юзал или нет", но они на винде сидят.
Собес был коротким, минут 40 по факту, именно технической части, ещё 15 беседы до и после с hr.
Возможно ещё что-то вспомню.
Аноним 28/08/19 Срд 18:08:07 1462724256
Screenshot from[...].png (31Кб, 417x316)
417x316
Аноним 28/08/19 Срд 18:30:40 1462732257
mpv-shot0019.jpg (122Кб, 1280x720)
1280x720
Аноним 28/08/19 Срд 18:45:02 1462733258
Как разобраться в асимптотике?
Может есть какая-нибудь хуета в стиле codewars где я бы такой смарел на код и в ответ мне надо было бы определить всю эту О(1) хуйню, а если бы я ошибся меня разобрали по частям так сказать.
Аноним 28/08/19 Срд 18:45:29 1462734259
>>1462626
Напиши мне скрепт, который на вход принимает ник твитч-стримера и ищёт трансляцию, на которой данный стример присутствует в чате. Ну то есть на выходе тоже должен быть ник стримера, либо сообщение, о том что в данный момент стример не смотрит никакой трансляции
Аноним 28/08/19 Срд 18:45:57 1462735260
>>1459662
Мне например недавно чле который написал и поддерживает софт на с# в госшаражке сказал что ему больше нравится виндовс потому что она более гибкая. там в кроне 8 параметров заместо 6 в линюхе.
Аноним 28/08/19 Срд 20:14:06 1462765261
В чем суть этой хуйни: https://leetcode.com/ ? Есть же бесплатный codewars
Аноним 28/08/19 Срд 20:34:38 1462775262
нюфы.PNG (6Кб, 226x221)
226x221
аноны поясните нюфане почему в таблицу в отдельную не выводит? во внешнем цикле хочу вывести первый столбец с переменными, во второй хочу вывести второй столбец с переменными, но он выводит тупа подряд все в один столбец
Аноним 28/08/19 Срд 20:38:34 1462778263
>>1462775
потому что ты сделал какую-то неведомую хуиту. Зачем цикл на один оборот? Зачем цикл в цикле? Что тебе надо, я не понел?
Сделай просто принт с пробелом:
print('a'+' '+'b')
Аноним 28/08/19 Срд 20:40:14 1462779264
Аноним 28/08/19 Срд 20:40:52 1462781265
>>1462775
В каждой твоей строке написано тупое говно тупого говна
Аноним 28/08/19 Срд 20:43:18 1462783266
>>1462775
дополню
можно писать так:
print(a, b, c, d, sep='\t', end='\n'), хотя end тогда не нужен
если у тебя переменные в массиве
m = [a, b, c, d],
то можно
print(*m, sep='\t')
Аноним 28/08/19 Срд 20:49:06 1462787267
>>1459748
У тебя там написано в чем трабл.
Напиши:
word = ' яблоко '
Должно быть счастье тебе.
Аноним 28/08/19 Срд 20:56:06 1462794268
>>1462778
надо сделать простую таблицу умножения типа с чисел которые я подаю на ввод. от сижу думаю как это реализовывать
>>1462779
>>1462783
спасибо анон, надеюсь поможет
Аноним 28/08/19 Срд 23:20:32 1462891269
photo2019-08-16[...].jpg (73Кб, 960x458)
960x458
Пилю прохладную ночную твою, может что посоветуете.
Две недели назад, психанул и уволился, как говорят, в никуда, с должности дата онолитека в геймдеве. Уволился отчасти потому-что рутина задавила, все вопросы которые решаются "на характере", я тупо игнорил. Да и менеджерить у меня никогда не получалось, а обязанности всё больше уходили в сторону от технических. По-этому решил отдохнуть и перейти куда-то в более техническое направление. Друг посоветовал вакансию того-же аналитика но по описанию и требованиям всё больше походило на какого-то инженера (знание и умение пайтон, API, SOAP, архитектура БД немного, сетевые протоколы немного, процедуры и пользовательские функции в БД), от аналитики только требовали АБ тесты. Обязанности - пилить аутсорс аналитическую\CRM платформу и в дальнейшем ее же обслуживать иногда внедряя фантазии клиента. Ну я прям загорелся, даже сделал тестовое на питоне (реализация сортировочной функции). Тестовое по аналитике сделал - не заметил (подключения в табло, настройка дешборда и пара скриптов запросов в БД, немного расчётов). Когда была встреча с технарём и аналитиками - меня тупо размазали как суку. Нихуя не знал я о PEP8, о наследовании, о __init__. Кароч завалился по полной по части теории Пайтона. После встречи сидел дома и учил то что вспомнил из вопросов, но это уже лирика.
Кароч, у кого был опыт вкатывания перекатывания в похожую область и как искать похожие вакансии конторы, т.к. должность и не аналитик полноценный и не дев и не инженер.Только, блять, не спрашивайте почему я в ебучий МЛ за 300к\сек. не укатился
Аноним 28/08/19 Срд 23:38:00 1462900270
>>1462891
Чем занимаются аналитики?
Аноним 28/08/19 Срд 23:45:45 1462905271
>>1462900
он же написал
>подключения в табло, настройка дешборда и пара скриптов запросов в БД, немного расчётов
Аноним 28/08/19 Срд 23:47:09 1462906272
>>1462905
Нихуя не понятно, вот честно.
Недоманагер-девопс-прогер?
Аноним 28/08/19 Срд 23:47:10 1462907273
>>1462900
Звучит как какой-то мемный вопрос на который не стоит отвечать.
Аноним 28/08/19 Срд 23:48:53 1462908274
>>1462906
ну я так понимаю это то что раньше называли программист эксель лол
Аноним 28/08/19 Срд 23:51:01 1462909275
>>1462907
>>1462900
Любят родину и радуются солнцу. В зависимости от проекта.
Лично я и похожие мне искали проебы гейм девов в создании фич(аб тесты) оценивали их в далларах, с умным лицом сидел на встречах присекая попытки запилить что-то, что в теории может вытянуть проект из жопына самом деле - нет, вспоминая оторванные от реальности показатели прошлых реализаций таких фантазий. Ну и конечно рисовал забавные графики с натянутыми эстимейтами.
Аноним 29/08/19 Чтв 00:02:50 1462922276
>>1462909
Ну манагер короче, теперь понятно.
Какая у тебя зп была? И что по опыту?
Аноним 29/08/19 Чтв 00:16:38 1462927277
>>1462922
Зоебал, не манагер, но похуй. 1.5k у моих-же коллег - 2.5 из-за того что манагеры они. Где надо там попиздят, где не надо - на меня скинут. По тех. части они были 0, ели могли запустить запустить выгрузку с БД или рассчитать что либо не в экселе. Опыт 1.5 года в гейдеве, 2 года в айти маркетинге (гейм траффик) ну и куча мелких подработок ранее. Со всем стаком скиллов синьора. Умею немного в администрирование БД.
Аноним 29/08/19 Чтв 00:25:08 1462929278
>>1462927
> Зоебал
Извени
> 1.5k
Да ну ебана в рот блять. Я хуею.
Может тоже в аналитики пойти, всё равно на встречах с заказчиками сижу и поясняю за техническую часть. Недавно суперсет освоил для своих целей.

Ладно, хуй с тобой, блять.
Как по мне - ебош через линкедин, там хрюши пасутся, найдётся и для тебя вакансия. Пиши что аналитик, что опыт есть, сеть расширяй и найдёшь себе лакомый кусочек.
Аноним 29/08/19 Чтв 00:35:18 1462932279
>>1462929
>1.5к
>Да ну ебана в рот блять. Я хуею.
>Может тоже в аналитики пойти,
Ты совсем э-бо-бо или тролишь тупостью?
>ебош через линкедин, там хрюши пасутся,
Спасибо, Кеп. Я уже депресуху ловлю от того что не попал куда хотел. А отступать назад в гейдейв - унизительно. Получается я сорвался в никуда, походил поунижался по собеседованиям и вернулся туда-же.
Аноним 29/08/19 Чтв 00:43:02 1462937280
>>1462604
Не нароешь список? А то я чо-т не видел нигде, но и сижу там буквально 5-6 тредов только.
Аноним 29/08/19 Чтв 01:01:21 1462944281
>>1462937
Держи
https://pastebin.com/sTeKcWU1
>>1462932
Я шучу конечно, работа звучит адско, но 1,5к по меркам неДС - охуенно, не так ли?
Я получаю сейчас 1,4к, а ебут на собесах не слабо, да и во время работы иногда пригорает.
> Спасибо, Кеп
Зря ты так, для многих это новость, даже +/- опытных, что линкедин решает.
> не попал куда хотел
Всякое бывает, не ссы.
> Получается я сорвался в никуда
This. Хуйово, надо иметь запасной план всегда.

Тогда я не понял кем конкретно ты хочешь быть.
Как искать - я тебе КЭПанул, а что искать - думаю сам для себя знаешь.
Литература для изучения есть в шапке.
Задавай конкретные вопросы и анон поможет.
Аноним 29/08/19 Чтв 01:03:42 1462945282
Аноны, подскажите по архитектуре приложения и либам.

Есть задача запускать на 40 linux клиентах параллельно одно и то же приложение suricata.

Нужно следить и за статусом этой хрени онлайн и централизованно собирать логи и объединять их.

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

Не могу понять на чем и как это лучше реализовать. Пока смотрю в сторону Netmiko\Paramiko\TextFSM или Ansimble.

Аноним 29/08/19 Чтв 01:20:24 1462952283
>>1462944
>но 1,5к по меркам неДС - охуенно, не так ли?
Если сравнивать с зарплатой кассира супермаркета - то охуенно. Но есть реалии, где эта сумма, если отбросить софт скиллы и няшность - немного маловата. Даже не в ДСах.
>Задавай конкретные вопросы и анон поможет.
И так, снова вопрос: как называется та должность на которую я пробовал устроится? Потому-что у нее был заголовок - Дата аналитик, но это, как вы поняли по описанию - нихуя не он. Какой-то недоинженер-прогер. Стак скиллов который требовался и задачи - очень понравились и я даже бы хотел целенаправленно развиваться так.
Аноним 29/08/19 Чтв 01:56:36 1462958284
>>1462952
> Если сравнивать с зарплатой кассира супермаркета - то охуенно. Но есть реалии, где эта сумма, если отбросить софт скиллы и няшность - немного маловата. Даже не в ДСах.
Страшно далек ты от народа.
Ну да ладно.
> И так, снова вопрос
Возможно, это всё тот же дата аналитик, с бэком питона. Соответственно это их локальные заморочки и ничего схожего ты не найдёшь. Ради интереса можно ещё раз попытаться на ту же вакансию, хуле нет?
P.s. Если ничего тут не подскажут дельного - сходи в "мы вам перезвоним" тред и там поинтересуйся, всё-таки круг там пошире будет.
Аноним 29/08/19 Чтв 02:28:42 1462965285
>>1462958
>Страшно далек ты от народа.
Страшно далёк ты от жизни.
> Ради интереса можно ещё раз попытаться на ту же вакансию, хуле нет?
Никогда в жизни этого не делай, как и никогда не отправляй резюме без вакансии в контору где хочешь работать, типа чтобы тебе перезвонили. На прошлом месте ходил на кофе иногда с рекрутёршей которая меня захантила. Она рассказывала что среди непорядочных ейчаров есть практика пробивать по своим о кандидате. И если ты или придёшь на собес во второй раз не раньше полугода или отправишь своё сиви с просьбой "Рассмотреть" - автозашквар.
> "мы вам перезвоним"
Даже забыл о нём, уношу туда.
Аноним 29/08/19 Чтв 03:04:31 1462969286
>>1462965
Бля, мнение какой-то овчарки воспринимать как экспертное. Большинство носится с своими каким-то шизофреническими методиками, у каждой своя. Единственное что их объединяет - чувство собственной невъебенности, правоты и глубокого понимания вот этих вот забитых кодеров.

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

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

ИБ иногда совмещающий с PM мимопробегал
Аноним 29/08/19 Чтв 12:41:29 1463127287
>>1462969
Пиздец, что за спец-операция, что б попасть на галеру...
Мимоанон
Аноним 29/08/19 Чтв 13:22:51 1463149288
>>1463127

Чувак, если ты привык работать рядовым гребцом, то тебе оно в принципе не надо.

А в целом, чел все правильно говорит. Если ты идёшь в контору хотя бы лидом, то все надо пробить.
Аноним 29/08/19 Чтв 13:40:04 1463157289
>>1463149
Семён не семёнь. Таким говном занимаются или секретарши или президенты корпораций. А другие когда такое проворачивают - со стороны как шизоиды.
Аноним 29/08/19 Чтв 13:53:42 1463166290
>>1463157

Это абсолютно нормально.
Компании пробивают специалиста, специалист пробивает компанию.
Особенно когда у тебя есть выбор куда идти
Аноним 29/08/19 Чтв 13:54:25 1463167291
>>1463157
Ну вот, потому что среднему кодеру неловко быть шизоидом и поболтать за чашкой кофе лишний раз, на таких даже сраные овчарки с интеллектом и подготовкой как у табуретки ездят.

Все сходится.

И вот это >>1463149 не я написал. Хотя удивлен, что в этом треде явных джунов и студентов кто-то одобрит.

тот же ИБ мимопробегал
Аноним 29/08/19 Чтв 13:56:12 1463168292
>>1463166
Контур.Фокус вам в руки например. А то некоторые любят устроиться в контору которой история мойки-помойки и дебиторка в внешний долг США. А потом ебушки-воробушки, зряплату не платят 2 месяца, чтож это такое творится.
Аноним 29/08/19 Чтв 14:05:36 1463173293
>>1462944
>Держи
Спасибо, анончик. Добра.
Аноним 29/08/19 Чтв 14:55:23 1463199294
>>1463168
Видать ты вообще не понимаешь ничего в рынке и продуктовой разработке. Ты когда видишь вакансию от компании и читаешь ее название - у тебя должен выстраиваться ассоциативный ряд о продукте, сегменте, последних новостях. И тебе не нужно ходить где-то подлизывать чтобы узнать очевидные вещи. Ты же не пойдешь в трезвом уме устраиваться например ПМ в крипто контору, понимая что на тебя все висяки лягут.
Никто никого не пробивает, сука, такое чувство будто ты какой-то сбшник или менеджер по логистике нахуй.
>>1463167
Я уже пригораю от тебя, как могут овчарки на ком-то ездить кроме самих же овчарок. Она тебя заставит ее сраный ексель заполнять или коробки офисным говном таскать. Как показывает опыт, если у тебя нет скиллов и мозгов, то ты пробуешь устроится через знакомых и подлизывая ейчарам. Таких сразу нахуй обычно посылают.
Аноним 29/08/19 Чтв 15:07:51 1463205295
Анон, подскажи, с какими задачами вообще сталкивается работник (желательно, конкретные примеры)? Учу понемногу питон, но не очень понимаю, что вообще меня может ожидать при вкате на работу.
Прошёл базовый курс в яндекс.практикум, но всё равно не очень понимаю реальные задачи, которые могут встретиться
Понимаю, что всё сильно зависит от сферы деятельности компании и от проекта, но тем не менее, наверняка у начинающих задачи плюс-минус схожие
Аноним 29/08/19 Чтв 15:13:00 1463208296
>>1463199
>должен выстраиваться ассоциативный ряд о продукте, сегменте, последних новостях

Мил человек, ты дурак или тебя маркетолог покусал? Ты еще предложи на пресс-релиз для клиентов с тонной говна и лапши ориентироваться. Или мы уже о покупке акций фирмы на волне хайпа обсуждаем?

Для вменяемого человека больше о реальном финсостоянии фирмы скажет, куда с любовницей нач отдела летал последний раз. Но ты ведь у нас наверняка самый-умный-у-мамки-погромист и ЧСВ с отсутствием соц навыков тебе не позволит это узнать.
Аноним 29/08/19 Чтв 15:16:07 1463210297
>>1463208
Троллинг_тупостью.жпг
Аноним 29/08/19 Чтв 15:26:12 1463213298
>>1459370 (OP)

Сап, двощ, вообще не могу въехать в концепцию итерируемый объект-итератор-генератор.

Прохожу курс на степике, и вообще не понимаю тамошнюю задачку.

Может подскажешь чего про это почитать-порешать
Аноним 29/08/19 Чтв 16:16:31 1463233299
Аноним 29/08/19 Чтв 16:20:26 1463234300
>>1463213
Ну ты такой подходишь к объекту и говоришь, ща тебя итерировать будем, маня, готовь итератор и вызываешь у него __iter__, который возвращает тебе итерируемый объект.
Гришь ему, показывай, что в карманах, сука, вызывая __next__, смотришь чо там у него лежит. Делаешь так пока все не заберешь, а когда завизжит StopIteration, можешь не ссать, он не наебывает и правда все отдал.
Аноним 29/08/19 Чтв 16:20:56 1463235301
>>1463213
Ну ты уточни сначала, ты про генераторы списков или генераторы объектов и прочие yield?
Аноним 29/08/19 Чтв 16:22:02 1463238302
>>1463233
Выглядит как уверенный джун.
Про вилку не скажу, но 50+ наверно.
Аноним 29/08/19 Чтв 16:23:49 1463241303
>>1463238

На сеньер+ все тоже самое спрашивают.
Аноним 29/08/19 Чтв 16:29:35 1463242304
>>1463233
1,4к$ вилка
На бэкэндера, в команду к 2 МЛ-товарищам.
Локация - Минск.
>>1463238
Скорее ближе к мидлу, как по мне. Но лычек мне никаких не давали.
>>1463241
Yep.
Аноним 29/08/19 Чтв 16:33:07 1463243305
>>1463242
На 100 рублей потоки, процессы, архитектурные особенности Redis с намеком на HighLoad, паттерны. Хорошо еще лучшие практики рефакторинга не спрашивают. Они у вас там совсем охуели в край?
Аноним 29/08/19 Чтв 16:33:29 1463244306
>>1463242
>вилка
Что тут значит вилка? Сори за тупой вопрос, я новичок

>>1462604
>Да я уже третий год работаю
И это ты получается писал, что у тебя 3 года опыта? А сколько до первой работы учил язык?
Аноним 29/08/19 Чтв 16:35:49 1463245307
>>1463238
> джун
> собственное API
> многопоточность
> асинхронная обработка

Хуюн. Еще одна ебанутая жертва совкового стиля собеседования.
Аноним 29/08/19 Чтв 16:36:07 1463246308
>>1463243
Ну вот так.
Да и нужен им был человек-оркестр, они его получили.
>>1463244
> И это ты получается писал, что у тебя 3 года опыта?
Да, ну у меня только месяц как третий год начался. Когда устраивался к ним, было ещё 2,5.
> А сколько до первой работы учил язык?
Пол года примерно, но не очень активно, т.к. работал на днище-работе параллельно.
Аноним 29/08/19 Чтв 16:38:07 1463247309
>>1463246
А что из этого нормально ответил?
Аноним 29/08/19 Чтв 16:42:16 1463248310
>>1463247
Я там вроде писал что не ответил, всё остальное ответил, хоть как-то.
Аноним 29/08/19 Чтв 16:42:20 1463249311
>>1463246
>Пол года примерно, но не очень активно, т.к. работал на днище-работе параллельно.

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

Получается у меня может получиться? А то в гугле прочитал, что устроиться без опыта работы на самую первую довольно сложно
Аноним 29/08/19 Чтв 16:43:51 1463251312
>>1463233
Это паста от того самого легендарного армянина, которую от по 90 долларов всем продаёт?

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

Джун vs сеньёр больше про опыт работы, понимание, как решать реальные проблемы, опыт решения больших задач и т.п.
Аноним 29/08/19 Чтв 16:49:15 1463256313
>>1463249
> Я просто планирую полгода активно учить пайтон + английский
Норм план. В Минске роаботы для ждунов не очень много(ищут ждунов с опытом, дегенераты блять). В ДСах думаю Ок всё будет.
> устроиться без опыта работы на самую первую довольно сложно
Таки да, я же не сказал что моя первая работа была в офисе. Я начал с фрилунса(мне повезло), затем вертел жопой и активно двигвал тазом в поисках других работ(начиная с групп в вк и продолжая телегой). Хаполнял гит, читал статьи.
В результате, после увольнения с дно-работы 4 месяца искал новую и взяли в рога и копыта. Но не похуй ли? Ведь появился "реальный" опыт работы. Вот и всё.
>>1463251
> Это паста от того самого легендарного армянина, которую от по 90 долларов всем продаёт?
Чтоблять?
> от простых вещей до сложных технологий
Всё так. Но никто не говорит тебе идеально знать принцип работы и подкапотность Redisa, к примеру, достаточно работать с ним немного и знать что и как в нём сделать.
Аноним 29/08/19 Чтв 17:00:30 1463273314
>>1463256
>В ДСах думаю Ок всё будет.
>искал новую и взяли в рога и копыта

А ты в каком городе это делал? Если в дс, то сколько платили на первой работе?
Просто даже если джуном устроиться там < чем за 50к, то просто по деньгам сложно выжить будет, если конечно не жить в хостеле или комнате
Аноним 29/08/19 Чтв 17:05:54 1463282315
>>1463273
> А ты в каком городе это делал?
Минск жи, но я сам отсюда, так что с жильём проблем не было.
Первая зп была - 400$, но я ещё фрилансил.
Были коллеги из других городов, они снимали или квартиру со знакомыми, или комнату.
Я про ДС-цены мало что знаю так что ничего не смогу подсказать.
Аноним 29/08/19 Чтв 17:18:37 1463293316
>>1463273
А до того, как устроился работать, как выживал? Почему ты думаешь, что вот столько времени жил, ничего толком не зарабатывая, а потом бац, и сразу средний класс?

И ещё, на многих невайти работах 50к не начальная ставка, а уже для тех, кто много и прилично работает. Но живут же люди.

Всё-таки нельзя сразу рассчитывать на крутой уровень. Только при торговле своими отверстиями малый опыт в плюс. Объективно, ты просто ещё мало чего можешь и умеешь.
Аноним 29/08/19 Чтв 17:19:50 1463295317
>>1463245
Это\ что за стиль такой?
Аноним 29/08/19 Чтв 18:18:35 1463346318
>>1463293
>бац, и сразу средний класс?
>И ещё, на многих невайти работах 50к не начальная ставка, а уже для тех, кто много и прилично работает. Но живут же люди.

Да я понимаю, это такой провал конечно, даже в центре такой страны такие настолько маленькие зп.

Просто например:
30к снять квартиру, далеко от центра, 5к на проезды и мелочи, 10к хотя бы на еду. Остается 5к всего от 50.

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

Аноним 29/08/19 Чтв 18:38:48 1463354319
>>1463346
Ты относишься так, что или всё, или ничего. То есть ты живёшь или за чужой счёт, или сразу снимаешь отдельную квартиру, откладываешь и путешествуешь.

Для многих зарплата в 50 это то, к чему надо долго стремиться. И они при этом тоже как-то живут. С тем же жильём, есть опции съёма комнаты, съёма квартиры на пару и т.п., помимо жития у родных/родственников.

Я как бы понимаю, что ты хочешь сказать. Но не всё так просто в жизни. Да и в Москве всё-таки больше 50 платят даже джунам.

Это сейчас ещё хорошо, сейчас тот же съём куда доступнее, чем 10 лет назад.
Аноним 29/08/19 Чтв 18:40:49 1463355320
>>1463245
Совершенно нормальный набор знаний для выпускника. Конечно, без реального коммерческого опыта, но всё-таки с пониманием, как это работает и с опытом "немного потрогать".
Аноним 29/08/19 Чтв 19:08:29 1463374321
Схуяли у меня тест валится?
self.assertRaises(AttributeError, self.model(not_existing_field=True))

if field not in cls._FIELDS:
  raise AttributeError
В трейсбеке теста вылетает AttributeError. Собственно он и должен вылетать.
Мне его перехватит надо или что?
Аноним 29/08/19 Чтв 19:20:24 1463378322
>>1462196
>Эта картинка - отличный аргумент в пользу винды/мака.
>
Так-то в убунте все хорошо с кириллицей, это у tkl какие-то трудности.
>По теме:
>https://python-scripts.com/question/16952
Но там только вопрос с такой же проблемой, а решений нет. Это шутка юмора такая?
Аноним 29/08/19 Чтв 19:32:22 1463381323
>>1462464
>>1462393
>Юпитером
Ну, почти, Ipython в консоли. Чудесная штука.
Аноним 29/08/19 Чтв 19:35:51 1463382324
>>1463381
Обьясни пожалуйста в двух словах, зачем оно нужно? Я прохожу на курсере курс про питон и математику в нём, там всё делается в айпайтон. До этого я всё делал просто в файле и запускал в ide, пока не могу понять, зачем айпайтон вообще понадобился, это типо просто попытка сделать консоль удобнее?
Аноним 29/08/19 Чтв 19:36:34 1463383325
Аноним 29/08/19 Чтв 19:41:54 1463385326
>>1463355
Дай угадаю, ты дурачок-аспирант, который тоже дрочит на собесах джунов такой кашей?

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

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

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

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

37 лвл PM

Аноним 29/08/19 Чтв 20:06:57 1463389327
>>1463382
>это типо просто попытка сделать консоль удобнее?
Не просто попытка, они этого уже добились. Понимаешь, иногда практически всегда хочется поиграться с кодом в интерактивном режиме, а в Ipython это намного удобнее, чем в стандартном консольном интерфейсе питона, потому что там есть качественное автодополнение, есть подсветка синтаксиса, есть мэйджики, это такие специальные команды, с помощью которых можно делать много полезных вещей, например, измерить время выполнения кода или открыть исходный код функции, вообще много удобных мелочей, можно просто вопрос ставить в конце строки, чтобы получить справку по объекту, вместо "help(object)" просто "object?", история ввода сохраняется между сессиями и по ней удобно искать. Не обязательно использовать Ipython через консоль, многие IDE могут с ним взаимодействовать. Хорошая в общем штука.
Аноним 29/08/19 Чтв 20:10:36 1463391328
>>1463382
Удобно, что можно команды выполнять поблочно. В дата саенсе это гигантский плюс, т.к. приходиться работать с достаточно большим количеством данных, и если ты каждый раз будешь писать код в файле, а потом запускать в IDE, то при каждом запуске будут выполняться чтение и предобработка данных, а эти процессы занимают достаточно времени. В IPython или Jupyter ты можешь в одном блоке считать данные (один раз), и дальше уже работать с ними в других блоках, плюс в Jupyer можно помимо кода выводить различные медиаданные.

Да и в обычной разработке IPython тоже часто пригождается: для отладки (выполнение построчно) и для пробы новых инструментов и фич языка. Так как код выполняется поблочно, то ты в любой момент можешь посмотреть состояние всех переменных, заглянуть внутрь объекта (благо Python позволяет).
Аноним 29/08/19 Чтв 20:12:48 1463392329
>>1463385
Нет, ты не угадал. У выпускника есть знания, у него или должны были быть какие-то курсы, и/или он сам должен быть как-то разбираться с технологиями.

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

Это НОРМА. Реально это знания "на потрогать". Если ты интересуешься технологиями, то тоже с чем-нибудь будешь играться.

>>1463385
>он сможет самостоятельно не через год или два даже
А кто-то говорил, что вот с нуля можно стать программистом за год-два? Это серьёзная работа, предполагает хорошее понимание.

>>1463385
>А заявки на знание внутренней архитектуры NoSQL баз вообще наглость в том плане
Вряд ли можно знать всё обо всём. Знание внутренней архитектуры свидетельствует, что ты серьёзно погружаешься в предмет, с которым хочешь работать. Это хороший плюс. У тебя реально может даже опыта работы не быть, но устройство ты понимаешь.

Если ты разобрался с какими-то одними технологиями, то скорее всего разберёшься и с другими. Если ни с чем не разобрался, то велик шанс, что ты просто макака, которой это и не интересно.
Аноним 29/08/19 Чтв 20:20:06 1463398330
>>1463392
Все таки чувствую в тебе я тон заносчивый вчерашнего выпускника задрота с опытом года в 3-4, юный падаван.
Вот эти вот должен-должен-должен. Ты явно даже близко до лида не доработал, когда становится уже поебать на то кому кто и что должен и просто сдаешь очередной проект.
Аноним 29/08/19 Чтв 21:39:50 1463484331
>>1463238
Начало и середина джунские, конец мидловский, будь я ждуном я бы охуел, будь я мидлом, то обиделся бы из-за первых вопросов, хуйня вообщем
Аноним 29/08/19 Чтв 21:58:12 1463509332
>>1463484
Джун vs серьёр не о наборе слов, а о реально опыте.

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

А можно довольно примитивные вещи делать с тем же Redis, более-менее уметь процессы и асинхронность, вот просто самому всё это освоить не имея опыта коммерческого, но от этого ты мидлом не становишься.

Паста просто о специфичном направлении, по разработке сервисов и работе с сетями.

Но полноценная работа с MQ, (No)SQL обычно уже предусматривает коммерческий опыт в области, где требования выше среднего, всё-таки не совсем джун это.
Аноним 29/08/19 Чтв 22:06:27 1463513333
>>1463509
И ты будешь у не совсем джуна спрашивать про создание собственного итератора, list comprehension, декораторы и т.д.? Он бы подумал, что его за дурака держат или собеседующий не понимает на какую вакансию ты пришел.
Аноним 29/08/19 Чтв 23:02:43 1463538334
image.png (45Кб, 650x444)
650x444
image.png (8Кб, 278x22)
278x22
Что я не так делаю?

Не хочет выдавать теги
Аноним 29/08/19 Чтв 23:07:46 1463541335
Безымянный.png (6Кб, 583x167)
583x167
>>1459370 (OP)
На первых шагах в Байте питона, обосрался на этапе запуска в терминале.
Всё делаю по инструкции, может быть проблема в том, что всё расписано только по XP, висте и 7, а у меня 10?
Аноним 29/08/19 Чтв 23:12:43 1463543336
>>1463541
ну так прямой запуск py файла работает же? А так забей хуй - накати сразу pycharm, там пилишь проект, в папке проекта создаёшь py файл, и потом ctrl+shift+f10 первый запуск файла с которым работаешь,shift+f10 последующие
Аноним 29/08/19 Чтв 23:15:31 1463545337
>>1463541
Привыкай читать ошибки. No such file or directory, говорит о том, что файла 111.py нет в директории c:\py. Значит у тебя есть следующие варианты решения этой проблемы:
1. переместиться в директорию с файлом 111.py и запустить его оттуда
2. прописать полный путь до файла (например: python c:\<путь>\11.py
3. скопировать файл в папку c:\py (наимеенее предпочтитеьный, т.к. не следует замусоривать папку интерпретатора)
Аноним 30/08/19 Птн 00:08:58 1463560338
>>1461037
та любой кондовский бля гыыыы
спайдер или эта конда которая в браузере
Аноним 30/08/19 Птн 08:07:48 1463627339
1567141647192.jpeg (33Кб, 975x604)
975x604
1567141647302.jpeg (74Кб, 971x616)
971x616
Посоветуйте, как ещё можно закастомить редактор, подсветку синтаксиса. Чёт на картинках все так приятно, а как поставишь, то не особо цепляет глаз.
Аноним 30/08/19 Птн 09:57:43 1463661340
Аноним 30/08/19 Птн 10:28:36 1463687341
Бля, так лениво джангу начинать осваивать - хочется уже наговнокодить то, что можно пощупать, потыкать, кнопочки порисовать.
Стоит ли перед тем как приступать к изучению фреймворков говнячкать свои сайтики, это хоть как то поможет в изучеии погромирования, или такой путь ялвляется пустой тратой времени?
Аноним 30/08/19 Птн 10:40:51 1463695342
Снимок экрана20[...].png (40Кб, 656x438)
656x438
>>1463627
Темы, цветовые схемы. Тысячи их. Выбирай
Аноним 30/08/19 Птн 12:19:40 1463756343
def fact(x):
x = int(x)
operands=[]
for i in range(1,x+1):
operands.append(i)
result = 1
for z in operands:
result = result * z
return result
Аноним 30/08/19 Птн 12:19:42 1463757344
wtf.png (48Кб, 853x286)
853x286
1. Как работает этот ваш импорт в данном случае
2. Что за хуйня с наследованием?
Аноним 30/08/19 Птн 12:21:24 1463758345
>>1463627
Шрифт говно ссаное. Да и подчеркивание как в 2003 ворде
Аноним 30/08/19 Птн 12:32:22 1463761346
1.png (16Кб, 655x304)
655x304
>>1463545
>прописать полный путь до файла
Так это и есть полный путь, я специально создал пустую папку /py на диске С, там всего один файл 111.py, всё по учебнику.
Сам Питон у меня в другой папке.
Аноним 30/08/19 Птн 12:44:48 1463768347
>>1463757
https://pep8.ru/doc/dive-into-python-3/3.html
Здесь в разделе "путь поиска оператора import" все доступно объясняют, но если кратко, то есть специальные каталоги в которых питон ищет имена (например, django.db в твоем случае - это каталог db в каталоге django, в самом каталоге db ты запрашиваешь каталог models в котором есть файл __init__.py в котором прописанно что тебе нужно передать, чтобы ты мог наклепать свою ебанную очередную говноформу на джанге)

Про наследование по аналогии, в файле который тебе подключит пистон, есть класс, который ты в итоге и наследуешь
Аноним 30/08/19 Птн 12:50:17 1463772348
>>1463768
Плохо понял, но схоронил твой пост. Потом вникну, а пока буду довольствоваться магией.
пасиб
Аноним 30/08/19 Птн 12:58:55 1463774349
image.png (83Кб, 1033x488)
1033x488
Что почитать по Питону, если я сначала начал писать код, а теперь решил его изучить и научиться нормально кодить?

А то я думаю что от моего кода у любого питониста кровь из глаз потечет.
Аноним 30/08/19 Птн 13:08:10 1463777350
>>1463774
У меня то глаза уже давно вытекли, а вот как ты с тремя цветами: белым, серым и говнооранжевым сидишь, я не понимаю.
Аноним 30/08/19 Птн 13:12:59 1463779351
>>1463761
Может кириллица в команде? Перепиши все заново.
Аноним 30/08/19 Птн 13:39:42 1463789352
2.png (8Кб, 731x200)
731x200
3.png (7Кб, 632x174)
632x174
Безымянный.png (17Кб, 992x580)
992x580
>>1463779
Я уже загрустил, пока всё переписывал/переустанавливал. не работает.
Интересная штука этот питон, но такой тупняк на ровном месте сильно дизморалит.
Может это какой-то троллинг ньюфагов или я староват?
Аноним 30/08/19 Птн 13:55:34 1463802353
изображение.png (10Кб, 979x512)
979x512
Аноним 30/08/19 Птн 14:03:25 1463810354
>>1463789
Расширение где? 111 и 111.py - это разные файлы.
Аноним 30/08/19 Птн 14:04:12 1463811355
Аноним 30/08/19 Птн 14:26:43 1463834356
Аноним 30/08/19 Птн 14:38:12 1463847357
>>1463834
Так а чё ты блюешь то?
Аноним 30/08/19 Птн 15:18:51 1463894358
4.png (7Кб, 713x151)
713x151
>>1463802
Не отрицаю.
>>1463810
Вот же мои скрины тоже >>1463761 >>1463541
В общем, всё заработало. Возможно, из-за переустановки питона на 64 вместо 32, которые офф сайт мне дефолтно выдавал.
Всем спасибо.
Аноним 30/08/19 Птн 15:51:53 1463917359
Аноним 30/08/19 Птн 16:04:58 1463921360
>>1463847
"Терминал" уродский пиздец. Неприятно смотреть.
Аноним 30/08/19 Птн 16:11:31 1463925361
изображение.png (527Кб, 1104x586)
1104x586
>>1463921
А смысл в винде вабще терминалом пользоваться? Это же не линукс, чтоб пердолиться и 24/7 в терминал глядеть. я терминал запускаю в лучшем случае раз в месяц. А для желающих попердолиться - есть как бы и альтернативы, только нахуя?
Аноним 30/08/19 Птн 16:16:08 1463928362
>>1463925
В терминале быстрее, чем мышкой кликать.
Аноним 30/08/19 Птн 16:18:31 1463931363
>>1463928
>чем мышкой кликать.
Это только в том случае, если интерфейс пилили из говна через жопу, или если интерфейса для нужных вещей как в линупсе просто нету а его там нету, т.к. пердолить в линупсе надо абсолютно всё. В целом конечно глупо отрицать, что интерфейсом работать в 10 раз быстрее. Например нажать shift+f10 в окне pycharm - в разы быстрее чем корябать в терминале 'python c:\py\123.py'.
Аноним 30/08/19 Птн 16:43:15 1463944364
Вопрос по многопроцессорности.

Сдедал функцию, которая считает от 0 до N.
Засек время необходимо для ее работы.
И засек сколько времени уходит при использовании M процессов, запускаемых через фор, при подсчете от 0 до N/M. В противоречие ожиданиям времени ушло чуть больше чем при варианте без использования процессов.
Так же, использовал Pool, результат примерно такой же.
Вроде бы, при увеличении N, в какой-то момент процессы немного обгоняют линейный подсчет. Наверное, при гигантских N разница будет ощутима. Однако, результат при необходимом мне N печалит.
Что я делаю не так? Или это норма?
Аноним 30/08/19 Птн 16:53:00 1463952365
>>1463925
Я на линуксе сижу и редко пользуюсь терминалом.
Ну как редко, есть куча самописных скриптов, которые предствлены для линукса, венды и мака. Запускаю их соответственно через терминал и когда это делаю, получаю эстетическое удовольствие. Можно и вкладки открыть в терминале и много чего.
Твои оправдания, виндовс-девочка?
Аноним 30/08/19 Птн 16:53:34 1463953366
>>1463944
Графики нарисуй, тогда поговорим.
Аноним 30/08/19 Птн 16:57:54 1463957367
изображение.png (40Кб, 1360x230)
1360x230
>>1463952
ну тут персонаж из лайнус-треда пожаловал видимо, который без терминала жить не может. Спорить не буду, и на линупсе можно без этого обойтись но таки сложно
Аноним 30/08/19 Птн 17:00:34 1463962368
скорость многоп[...].png (10Кб, 656x582)
656x582
Аноним 30/08/19 Птн 17:05:19 1463966369
>>1463962
Сам код(в комментариях вариант запуска процессов через for, а не Pool):

import time
import os
from multiprocessing import Process, Pool


def t(nmax=25):
t1 = time.time()
n_end = 0
for n in range(nmax+1):
print(n)
n_end = n

t2 = time.time()
print('time', (t2-t1), 'id_proc', os.getpid(), 'n_end', n_end, '\n')


if __name__ == '__main__':
procs = []
numbers = []

for i in range(5):
numbers.append(10000)

t1 = time.time()

pool = Pool(processes=5)
print(pool.map(t, numbers))
"""
for i in range(5):
# proc = Process(target=t, args=(4000,))
proc = Process(target=t, args=(10000,))
procs.append(proc)
proc.start()

for proc in procs:
proc.join()
"""

t2 = time.time()
print('end_time', t2-t1)
Аноним 30/08/19 Птн 17:38:37 1464016370
15278587615460.png (267Кб, 637x360)
637x360
Аноним 30/08/19 Птн 17:44:57 1464026371
>>1463774
Да все не так плохо, хватит PEP'а стандарт оформления кода
Аноним 30/08/19 Птн 17:50:39 1464035372
Хей, ктонить шарит в киви? Такая проблема: dragLabel работает в такой конструкции: FloatLayout: DragLabel, но если layout поместить на что-нить, например так: Screen: FloatLayout: DragLabel то уже драгать нельзя. Чем решать? Спрашиваю тут потому как ленюсь регаться на stackexchange
Аноним 30/08/19 Птн 17:51:05 1464037373
>>1464016
Ну в том, что ты выводишь храниться не HTML код страницы, а ответ с кодом 200 ОК
Это как минимум говорит о том, что ты запрашиваешь неверный метод
Разбираться лень, на секунду глянул в доку по либе, попробуй .data()
Аноним 30/08/19 Птн 17:54:11 1464046374
Вывести на экран все элементы множества A, которых нет в множестве B.

A = set('bqlpzlkwehrlulsdhfliuywemrlkjhsdlfjhlzxcovt')
B = set('zmxcvnboaiyerjhbziuxdytvasenbriutsdvinjhgik')
for x in A:
__if x not in B:
____print(x)


Сделал так, вроде верно все выводит, но меня почему-то не покидает ощущение, что я сделал что-то не так.
Правильно решил задачу или нет, пацаны?
Аноним 30/08/19 Птн 17:54:38 1464048375
>>1464016
если тебе нужно стянуть HTML со страницы, то могу подсказать решение через bs4
Аноним 30/08/19 Птн 17:57:05 1464050376
Аноним 30/08/19 Птн 17:57:55 1464051377
>>1464046
> set.difference(other, ...) или set - other - ... - множество из всех элементов set, не принадлежащие ни одному из other.

А тебе только через цикл допускается или методы множеств тоже можно юзать?
А так вроде правильно.
Аноним 30/08/19 Птн 17:59:41 1464056378
123.PNG (7Кб, 583x174)
583x174
>>1464050
Задача так выглядит пикрелейтед

Мне твою функцию в цикл пихать? Походу я все правильно сделал, шиза накрывает бля
Аноним 30/08/19 Птн 18:02:02 1464058379
>>1464056
если обязательно использовать итератор, то все верно, если можно без него, то встроенный метод
Аноним 30/08/19 Птн 18:03:46 1464059380
Аноним 30/08/19 Птн 18:25:22 1464069381
>>1464048
>если тебе нужно стянуть HTML со страницы, то могу подсказать решение через bs4

Я разные методы изучаю, и просто так и не могу понять почему он не хочет выдавать теги. Уже крутился с методами и так и сяк
Аноним 30/08/19 Птн 18:26:46 1464072382
>>1464069
здесь >>1464037 объяснил, ты этим методом получаешь код ответа, а не сами данные
Аноним 30/08/19 Птн 19:55:54 1464147383
>>1463931
Shift + f10 может и быстрее, но если ты захочешь прописать какие-то дополнительные параметры к запуску, добавить переменные окружения, перенаправить вывод скрипта на вход другой утилите (грепнуть например), то в графическом интерфейсе это займет гораздо больше времени. Более того, часто графический интерфейс не предоставляет всех возможностей, (подумай, например, почему люди пользуются консольным клиентом гита, а не графическим, который используется только для визуализации).

Для части прогерского софта в принципе нет графического интерфейса - докер отличный тому пример.

Да и вообще, если ты изучаешь питон для бэкенд-разработки, то пора начинать учиться пользоваться терминалом, т.к. 99% процентов машин, на которых будут вертеться твои сайты, будут работать именно на линуксе, а единственным способом взаимодействия с ними будет ssh


Аноним 30/08/19 Птн 20:06:57 1464154384
>>1463944
Скинь код там ясно будет. Но вообще результат довольно ожидаемый: на создание процесса тратится довольно много времени (в питоне 3.8 обещают сделать быстрее), т.к. процесс - это запущенная программа, со своим адрессным пространством, стеком, набором файловых дескрипторов, со своими регистрами и т.д. То есть при создании нового процесса создается полная копия процесса родителя (там, конечно, всё немного хитрее, но суть от этого не меняется). Плюс есть ещё большие накладные расходы из-за того, что приходится делать системный вызов. Поэтому процессы будут выигрывать только на долгих дистанциях (то есть, когда выполнение задачи занимает много времени). Также бесполезно создавать процессов больше, чем число потоков твоего процессора (по крайней мере для cpu-bound задач, а для других процессы и не используют обычно)
Аноним 30/08/19 Птн 20:12:35 1464159385
>>1464147
Я умею и не брезгую пользоваться терминалом, но я же не дурак лишний раз использовать текстовое говно вместо няшного гуи-интерфейса, и кукарекать о том что окно терминала слишком чёрное.
Аноним 30/08/19 Птн 20:26:06 1464166386
>>1463966
Ну да у тебя функция слишком быстро выполняется, создание процесса займет больше времени. Во-первых убери вывод в консоль из функции t, во-вторых увеличь аргумент раз в 10 и тогда уже прирост производительности будет очевиден
Аноним 30/08/19 Птн 20:27:49 1464167387
Пацаны, в чём суть декораторов, нахуй они нужны? Никак не врублюсь в какой ситуации это можно применить в коде и нахуя
Аноним 30/08/19 Птн 20:39:19 1464171388
изображение.png (10Кб, 394x360)
394x360
изображение.png (3Кб, 312x174)
312x174
>>1464167
Я просто чёто не могу понять - нахуя мне городить конструкцию на пик.1, вместо конструкции на пик.2? Чтобы применить декоратор - его надо в виде '@декоратор' перед объявлением функции заюзать? Тоесть в коде динамически это селать невозможно?
Аноним 30/08/19 Птн 20:45:00 1464173389
изображение.png (10Кб, 424x334)
424x334
>>1464167
>>1464171
О бля, понял что можно использовать так, что бы целиком не модифицировать функцию, но всё-равно выглядит как юзелес хуета - проще и красивее имхо условия внутри функции прописать, если что-то поменять надо. А конструкция с @декоратор перед объявлением функции - мне до сих пор непонятна и кажется максимум юзелесс хуетой. Поправьте, если не прав.
Аноним 30/08/19 Птн 20:57:56 1464179390
Аноним 30/08/19 Птн 20:58:41 1464180391
>>1464179
ну поясни, если можно с примером
Аноним 30/08/19 Птн 21:01:33 1464183392
>>1464173
Свой декоратор полезен, когда появляется много функций, одинаковых в начале и/или в конце (с одинаковым инфраструктурным кодом).
Например, как-то вынес в декоратор логику, чтобы функция запускалась не в основном потоке.
Аноним 30/08/19 Птн 21:04:44 1464184393
>>1464183
ну я правильно понял, что юзабельная для использования конструкция: декоратор(функция)(значения), а не @декоратор \ def функция?
Аноним 30/08/19 Птн 21:07:43 1464186394
Аноним 30/08/19 Птн 21:08:45 1464187395
>>1464173
И ты будешь каждый раз при вызове функции юзать функцию обертку вместо того, что бы один указать ее в объявлении
Аноним 30/08/19 Птн 21:09:40 1464190396
>>1464184
Когда у тебя будет 20 функций, одинаковым кодом вначале строк на 20. Юзабельнее проще и красивее будет вынести этот код в декоратор. А отдекорированные им функции использовать по просто их именам.

В простых скриптах свои декораторы не нужны, конечно.
Аноним 30/08/19 Птн 21:12:43 1464194397
>>1464190
Вот это нормально объяснил. Хотя даже тут не совсем понятно, что мешает просто из самой функции вызвать другую функцию с нужным кодом, получить от неё вводные данные и работать дальше, зачем именно декорировать
Аноним 30/08/19 Птн 21:19:23 1464198398
>>1464194
Код получается лаконичнее и читабельнее.
И да, понимание этого приходит с опытом.
Аноним 30/08/19 Птн 21:25:42 1464201399
>>1464198
Накидай пожалуйста простенький пример, чтобы две функции например использовали один и тот же декоратор для замены одинакового куска кода
Аноним 30/08/19 Птн 21:28:53 1464202400
>>1464201
Но в простых скриптах свои декораторы и не нужны.
Аноним 30/08/19 Птн 21:30:15 1464203401
>>1464202
да я понял, мне интересно эта конструкция должна выглядеть в сложном скрипте - а то в учебниках объясняется для простых скриптов.
Аноним 30/08/19 Птн 21:30:52 1464204402
wallhaven-zmm72y.jpg (478Кб, 1037x1021)
1037x1021
Столкнулся с проблемой, пишу консольную утилиту и дошел до написания документации.
На данный момент это 3 вызова print() в самом коде, при вызове утилиты с опцией --help
Как грамотнее реализовать доку? Вынести текст в отдельный файл и вызывать его засовывая в print построчно? Или есть какие-то техники, о которых я не знаю?
Не столь важно, но есть примеры хорошего стиле обработки опций? У меня это сравнение входных данных с определенной строкой, что мне кажется довольно уебанским
Аноним 30/08/19 Птн 21:31:35 1464205403
>>1464167
Чтобы модифицировать поведение функций, не изменяя саму эту функцию. Может, эту функцию даже и не ты писал.
В модуле functools есть декаратор с lru_cache, он позволяет кешировать результаты выполнения функций, то есть, если будешь вызывать декорированную функцию несколько раз с одними и теми же параметрами, то вычисляться функция будет только в первый раз, а все остальное время будет извлекаться кэшированное значение, это повышает производительность.
Для классов есть декораторы property, staticmethod, classmethod которые позволяют создавать свойства, статические методы.
В библиотеках и фреймворках любят декораторы, вот, например, во Flask декораторами связывают url адреса страниц и функции, которые эти страницы генерируют, или в Numba декораторами помечают функции, которые надо ускорить.
Декораторы - это здорово, потому что ты одной строчкой добавляешь полезную функциональность.
Аноним 30/08/19 Птн 21:41:25 1464213404
>>1464203
Если ты только читаешь учебник, то декораторы тебе ещё не скоро понадобятся. Просто знай, что они есть. Это способ делать сложный код проще. В чем-то аналог макросов в C/C++.
Потом ты столкнёшься с декораторами при использовании сторонних либ (тот же фласк, например).
Потом ты будешь читать исходники этих либ, чтоб понять, как же работают.
Потом ты будешь рефакторить свой разросшийся код, и поймёшь, что тебе тут нужны свои декораторы.
Аноним 30/08/19 Птн 21:46:23 1464218405
>>1464204
Для консольных утилиток почти всегда лучше держать доки в коде.
Для обработки опций есть либы, начни например со штатной optparse.
Аноним 30/08/19 Птн 21:51:02 1464223406
>>1464213
А можно по подробнее про аналогию с макросами?
В питоне же есть as.
Аноним 30/08/19 Птн 21:55:29 1464225407
>>1464223
as не позволяет заменять кусок кода одним словом.
подробнее — гугли.
Аноним 30/08/19 Птн 22:27:21 1464255408
>>1464173
Конструкция с декоратором
@deco
def func(par):
pass

полностью эквивалентна
def func(par):
pass
func = deco(func)

Просто чуть более и компактная запись. С декораторами просто немного нагляднее.
Аноним 30/08/19 Птн 22:33:29 1464257409
>>1464255
но ведь вторую конструкцию можно использовать в любой момент - тоесть с ней можно пользовать как оригинальную функцию, так и отдекорированую. А если использовать конструкцию с @deco - то функция будет отдекарирована безвозвратно, не?
Аноним 30/08/19 Птн 22:36:19 1464262410
>>1464167
Декораторы - это в первую очередь принцип оборачивания исходной функции в обёртку

func = deco(func)

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

Сама по себе идея обёрток полезна и интересна, но всё-таки бездумно использовать не надо, как минимум это оверхед и вообще несколько кривая архитектура.

Но в каких-то случаях могут быть очень полезны. Кеши, логгеры, контроль возвращаемых и передаваемых значений, вынос какого-то общъего обёрточного функционала в декоратор. Причём в таких случаях именно в таком синтаксисе обычно очень наглядно становится.
Аноним 30/08/19 Птн 22:39:28 1464267411
>>1464257
Да, всё верно. Поэтому декораторы не нужно использовать для всего подряд. Но где-то они реально удобны.

Аноним 30/08/19 Птн 22:58:38 1464291412
>>1463758
А как лучше сделать? Чего добавить, чего убрать. Покажи как у тебя, пожалуйста.
Аноним 30/08/19 Птн 23:28:39 1464308413
>>1464180
Декораторы позволяют следующее:
1. добавить к функции свою логику, которая будет выполняться при импорте этой функции (импорте модуля с функцией) - полезно для добавления функции в какой-нибудь реестр, например декоратор app.route во фласке
2. добавить к функции свою логику, которая будет выполняться перед исполнением самой функции (при этом в этой логике будут доступны аргументы, переданные на вход функции)
3. добавить к функции свою логику, которая будет выполняться после исполнения самой функции (при этом в этой логике будут достпны и аргументы функции и её возвращаемое значение)
4. можно вообще подменить функцию с помощью декоратора

Как видишь, область применения декораторов безграничная. Например, ты можешь написать декоратор, который будет засекать время выполнения самой функции или декоратор, который будет логировать входные и выходные значения или даже кэшировать (такой декоратор уже есть - functools.lru_cache).
Можно написать декоратор, который будет перед выполнением функции объявлять транзакцию, а в конце коммитить её (такой декоратор есть в джанго)
При этом декоратор может быть как универсальным, подходящим любой функции (с помощью args и *kwargs), так и специализированным, который учитывает входные данные.
Можешь ещё глянуть декоратор functools.singledispatch, благодоря которому можно заставить питон изображать перегрузку функции по типу входного аргумента.

Более того, декорировать можно не только функции, но и классы. При сам декоратор также может являться классом. Благодоря этому открываются ещё более широкие возможности.
Аноним 30/08/19 Птн 23:54:31 1464330414
>>1464180
Да, кстати, вот очень годная лекция про метапрограммирование
Я скинул с тайм-кодом на начало объяснения декораторов, но советую посмотреть полностью очень хорошие подача и материал.
https://youtu.be/bt6kU1kuHWA?t=2340
Аноним 30/08/19 Птн 23:56:59 1464333415
Аноним 30/08/19 Птн 23:57:33 1464334416
>>1464308
>Благодоря этому открываются ещё более широкие возможности.
Тут легко свалиться в типичное юниорское "прочитал про технику, полезную для каких-то задач, и начал искать места, куда бы её ещё можно приткнуть". При том, что реальной необходимости в этом нет.

Реально же смысл такой.
Пусть есть функции вида
def g1()
.... some code 1
f1()
some code 2

def g2():
.... some code 1
f2()
some code 2

при этом код some code 1 и some code 2 дублируются. Можно просто вынести этот дублирующийся код в deco, и реализовывать только уникальный функционал в функциях f1, f2
и в итоге год будет
g1 = deco(f1)
g2 = deco(f2)

таким образом мы уходим от дублирующегося кода и получаем большую гибкость.

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

Подчёркиваю, что это идея функции-оболочки, сами декораторы лишь синтаксический сахар.
Аноним 31/08/19 Суб 00:57:07 1464389417
>>1464204
а что мешает циклом сделать?
for i in range(3): print("")
print("help")
а case самое простое опять же через импут и циклы
Аноним 31/08/19 Суб 01:00:21 1464390418
>>1464389
аа вьебал че ты хочешь - чтобы с новой строки писать просто в строку добавляешь \n, так одним принтом все будет
Аноним 31/08/19 Суб 01:24:39 1464402419
Кто что скажет на счет платных онлайн курсов, есть ли смысл или тоже самое из книг можно узнать и в интернете найти?
31/08/19 Суб 01:44:09 1464408420
Аноним 31/08/19 Суб 06:13:04 1464451421
Кто в tkinter шарит? Мне надо разместить в сетке 5х14 70 виджетов Entry, чтобы по событию выхода курсора из текстового поля все эти Entry разом посылали свое содержимое в двумерный список типа
list [
[ent01, ent02, ent03, ent04, ent05],
[ent11, ent12, ent13, ent14, ent15], ...
]
Причем пустые поля должны посылать нули. Подскажите плз, как это реализовать.
Аноним 31/08/19 Суб 11:37:50 1464518422
Когда пользователь наследуется от класса надо звать метод класса-потомка (очевидно полиморфная логика - в родителе). Как это сделать? С декоратором класса? Но декоратор класса жи нихуя не вызовет тупо при наследовании.
Аноним 31/08/19 Суб 12:31:21 1464553423
>>1464518
У классов есть __new__, который вызывается перед __init__ и ответственен за создание объекта, есть __init_subclass__, который вызывается всякий раз при создании класса-наследника, а еще для сложных и необычных случаев есть темная магия метаклассов. Честно говоря, я нихера не понял, что тебе нужно, но, похоже, ты хочешь вмешаться в стандартные механизмы создания и наследования классов.
Аноним 31/08/19 Суб 14:54:42 1464644424
>>1459370 (OP)
Как в одну строку реализовать такое: возвращаем значение по ключу в словаре если такой ключ есть в словаре иначе возвращаем сам ключ.
Аноним 31/08/19 Суб 14:58:30 1464646425
>>1464644
>иначе возвращаем сам ключ.
Так ключа нет в словаре, что возвращать?
Аноним 31/08/19 Суб 14:58:59 1464647426
31/08/19 Суб 15:03:46 1464649427
>>1464644
dictionary = {}
dictioinary.get('zalupa', 'zalupa') # == 'zalupa'
Аноним 31/08/19 Суб 15:06:35 1464650428
>>1464644
dict[key] ? dict[key] : key

это правда джс но в питоне это примерно так же
Аноним 31/08/19 Суб 15:08:00 1464651429
>>1464650
спс что надо
dict.get(i,i)
Аноним 31/08/19 Суб 15:10:37 1464655430
>>1464651
var = 'c'
x = {'a':1, 'b':2}
print(x['b']) if var in x else print(var)
Аноним 31/08/19 Суб 16:21:23 1464690431
>>1464553
Merci.
__init_subclass__ - то что надо
Аноним 31/08/19 Суб 17:00:52 1464709432
изображение.png (9Кб, 368x374)
368x374
>>1464334
> Можно просто вынести этот дублирующийся код в deco, и реализовывать только уникальный функционал в функциях f1, f2
Да блять, больше всего напрягает в данной ситуации, что это можно сделать и без изобретания всяких конструкция аля декораторов - вынести общий код можно просто в отдельную функцию, и вызывать эту функцию так же в одну строчку, пикрелейтед - просто отдельная функция с общим кодом для двух других функций, и зачем для этого декоратор?

>>1464330
Видео сейчас глянул, поясняет всё хорошо, стало понятнее как всё работает. Но область применения по-прежнему под вопросом - из адекватного для меня сейчас видится декорирование чужих функций из модулей например...
Аноним 31/08/19 Суб 17:03:57 1464710433
Всем привет!
Есть пару вопросов по telegram bot api.
1) Как грамотно обойти блокировку? Тк у меня на компе стоит vpn, то проблем как таковых не возникает.
До тех пор пока я не захочу запустить его бота без vpn.
Документацию чекал - не вышло. Мб что не так делал?
2) Я реально не понимаю заморочек с chat_id и message_id!!
Когда нужно отправить сообщение пользователю бота, или в канал, где бот участник - окей.
Но что если я хочу, допустим, сделать бота-поисковика по рэндомному каналу??
Как я могу получить id этого канала или id сообщений? Есть что почитать по этому поводу?

Заранее спасибо за адекватные ответы!
Аноним 31/08/19 Суб 17:13:00 1464719434
Снимок.PNG (11Кб, 286x507)
286x507
аноны поясните почему он блять выводит числа с 0 а не с 7 блять че за хуйня нюфаня не понимает.
>>1462775 - кун
Аноним 31/08/19 Суб 17:15:50 1464723435
изображение.png (12Кб, 285x507)
285x507
>>1464719
Потому что ты его просишь распечатать числа от 0 до 10.
Ты какой-то неадекватный, сколько тебе лет?
Аноним 31/08/19 Суб 17:23:11 1464730436
>>1464723
25 вот вчера настало...
спасибо анон разобрался
Аноним 31/08/19 Суб 17:24:55 1464731437
>>1464730
end = '\n' - идёт по дефолту, и указывать врчную не надо!
Аноним 31/08/19 Суб 17:26:54 1464737438
>>1464723
А как-нибудь сделать, чтобы а было не 0, а числом которое пришло с инпута можно?

Мимо ньуб
Аноним 31/08/19 Суб 17:28:35 1464738439
>>1464737
Мне кажется пограмирование - не твоё
a = input('введите А')
b = input('введите Б')
for i in range(a, b+1): #для i в диапазоне(от a до b+1)
print(i)
Аноним 31/08/19 Суб 17:39:22 1464748440
>>1464709
>из адекватного для меня сейчас видится декорирование чужих функций из модулей например...
А, ну да, кеширование забыл - тут вабще без вопросов - тоесть если надо иметь доступ и к вводу и к выводу функции - декоратор незаменим
Аноним 31/08/19 Суб 17:41:33 1464750441
>>1464738
>программирование не твое
с паскалем у меня в for никаких траблов не было
>>1464737 - этот анон не я
>>1462775 - кун
Аноним 31/08/19 Суб 17:47:29 1464753442
>>1464748
Отчего ж незаменим?
Кешируй внутри функции, у тебя там есть и ввод и вывод.
Аноним 31/08/19 Суб 17:53:40 1464758443
сложно.webm (1029Кб, 640x360, 00:00:12)
640x360
>>1464753
Ну получается что с декоратором можно присрать кеширование в одну строку, а без него придётся расписывать if else конструкцию внутри функции, и если функций много - придётся делать это много раз... С другой стороны для разных функций должен быть разный кеш, т.к. операции разные, и одним декоратором обойтись сложна... В общем хз, сложна, нипанятна
Аноним 31/08/19 Суб 17:56:37 1464761444
>>1464758
> одним декоратором обойтись сложна
Значит тебе рано еще об этом думать. Поиграй в замыкания, во вложенные функции, тогда все поймешь.
Аноним 31/08/19 Суб 17:58:57 1464764445
>>1464761
Не, ну если одна функция делает умножение, а вторая функция делает деления - один декоратор-кеш к ним не присрёшь. Тоесть тут должны быть разные функции делающие одно и то же просто под разным углом, чтобы их можно было отдекорировать одним хеширующим декоратором, или расписывать кучу условий в декораторе - что так же не айс. Ну мне пока так понимается
Аноним 31/08/19 Суб 18:05:24 1464770446
>>1464758
Карина пися богиня жамкать чепубель! Андрюха это ее дядя они не ебутся
Секретчики долбоебы, особенно эмпати и черкаш
меня из конфы кикнули, суки, но я молчуном был
Аноним 31/08/19 Суб 18:07:23 1464774447
>>1464750
Да у тебя и не должно быть проблем, просто запомни, как работает range
range(начальный элемент(по дефолту 0), конечный элемент(не включительно), шаг(по дефолту 1)
Аноним 31/08/19 Суб 18:11:47 1464779448
>>1459748
Яблоко это строковая переменная, следовательно должна быть помещена в кавычки. В противном случае python воспринимает это как переменную и сообщает тебе что переменная not defined.
Аноним 31/08/19 Суб 18:12:21 1464782449
>>1464764
> один декоратор-кеш к ним не присрёшь
> или расписывать кучу условий в декораторе
Какие условия? Где? http://ideone.com/q6rhHN
Аноним 31/08/19 Суб 18:28:05 1464790450
снимок 228.PNG (5Кб, 471x112)
471x112
аноны почему блять не переходит на другой столбец нахуй
>>1464750 - кун
Аноним 31/08/19 Суб 18:38:46 1464801451
>>1464790
Потому что нет никаких столбцов блять, построчный вывод ёбаныйрот
Аноним 31/08/19 Суб 18:48:19 1464809452
> Мне кажется пограмирование - не твоё
Рейндж понятно, будет равен б, пусть б равно 100. Теперь я пишу
а = 50
б = 101
for a in range(б):
print(a)


Бля, сейчас проверил, действительно начинается с нуля. А если я с 50 хочу, как сделать? В паскале и плюсах работало иначе.
Аноним 31/08/19 Суб 18:48:27 1464810453
>>1464790
Слушай, давай так, расскажи мне в ответ на этот пост, что делают параметры sep и end, и какие у них значения по умолчанию. Только погугли немного, чтобы никакую хуйню не написать.
Аноним 31/08/19 Суб 18:55:19 1464813454
изображение.png (17Кб, 570x760)
570x760
>>1464790
Как то так ты можешь запилить столбцы сам. Скачай книжку AByteofPython 2.0 на русском и сиди читай, выполняй все задания. Она тебе даст базу по пайтону. Ты сейчас занимаешься какой-то хуитой непонятно откуда высратой, да ещё и не слушаешь никого. Тебе уже говорили что конструкция хуйня, тебе уже говорили что 'end' по дефолту равен '\n' и указывать этого вручную не надо, зачем ты это делаешь?
Аноним 31/08/19 Суб 19:04:10 1464822455
>>1464813
Пиздос ты жёсткий конечно, а если три столбца то три списка лишних надо? Сейчас он погуглит и изменит аргументы print'ов так, что всё будет работать
Аноним 31/08/19 Суб 19:21:38 1464834456
>>1464710
Отвечу по первой части. Вариант хостить вне РФ, как поступил я. Другой вариант использовать зарубежные прокси.
По второму вопросу могу ошибаться, но вроде как он (бот и апи) не умеет в принципе.
Аноним 31/08/19 Суб 19:42:31 1464850457
Пиздец. Глядя на таких вкатывальщиков, за своё будущее можно быть спокойным. Без работы не останусь.
Аноним 31/08/19 Суб 20:34:03 1464873458
Так. У меня ОГРОМНАЯ проблема с пониманием ООП. Делаю задачи, но не вкуриваю, как обращаться к методам класса. Да и как их вообще писать. В книгах сложно написано. Можете погуглить за меня дать како-нибудь внятной инфы?
Аноним 31/08/19 Суб 22:01:48 1464900459
Прохожу курс pyneng (python для сетевых инженеров) и чёт не могу вкурить задание 4.4.

Нужно из двух строк получить список вланов, которые есть и в первой строке и во второй, затем вывести список этих вланов.

command1 = 'switchport trunk allowed vlan 1,3,10,20,30,100'
command2 = 'switchport trunk allowed vlan 1,3,100,200,300'

Засплитил я строки, в отдельном индексе у меня строка с вланами. Далее я опять засплитил эту строку и теперь у меня список с вланами в виде строки.

В условии говорится, что нужно вывести в виде [1,3,100], т.е. чтобы элементы были не строкой, а числом.

Проблема в том, что нужно использовать минимальное количество средств, а точнее те, что были в курсе (строковые методы, .join, .append, .extend, .pop, . remove, .index, .insert, .sort, .add, .discard, .clear, .union)

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

https://pastebin.com/aCQ4cPVm

Спасибо.
Аноним 31/08/19 Суб 22:24:26 1464909460
>>1464900
Нужно целое число, сделай его целым числом. Есть функция int, она пытается превратить свой аргумент в целое число, есть map, она применяет функцию к каждому элементу коллекции, есть функция sorted, она принимает коллекцию и возвращает отсортированный список.
просто используй
vlans = sorted(map(int, set(vlan1) & set(vlan2)))
вместо
vlans = list(set(vlan1) & set(vlan2))
Аноним 31/08/19 Суб 22:27:54 1464911461
изображение.png (26Кб, 694x800)
694x800
>>1464822
Не, ну я косякнул конечно запилив списки слишком громоздким циклом, можно более просто - перегнав range в list или запилить генератором списка.
Но в остальном, поясни, что ты имеешь ввиду? Как тут можно это сделать обыграв только аргументы принтов? Мне на ум приходит только способ с итератором range, чтобы потом можно было элементы одного диапазона перебирать поочерёдно в цикле перебирающим элементы другого диапазона - вариант 3 на пикрил - но это сложновато для ньюфага его уровня - на его уровне он сможет понять максимум варианты с перебором элементов двух других списков в цикле for или while, и тут уже аргументы принта мало роляют, только формат строки вывода.
В общем если есть более простой вариант - предложи
Мимо-так-же-ньюфаг
Аноним 31/08/19 Суб 23:25:43 1464933462
>>1464909
Спасибо большое за ответ, map действительно выручает. Дело в том, что в условиях задачи указано использовать только пройденные в курсе инструменты. Можно было бы map заменить на цикл for, но даже его ещё не прошли.

Есть ещё способ как это реализовать? Или это опечатка в задаче?
Аноним 31/08/19 Суб 23:47:04 1464937463
>>1464933
Нужен подробный список изученного.
Аноним 31/08/19 Суб 23:57:17 1464939464
Аноним 31/08/19 Суб 23:59:59 1464941465
>>1464937
https://pyneng.readthedocs.io/ru/latest/book/04_data_structures/index.html

Все, начиная от чисел и кончая множествами. Там ещё в каждом пункте есть подпункт, например, методы.

Почти завершил смотреть лекцию по множествам, но тут загвоздка не в них скорее всего...
Аноним 01/09/19 Вск 00:01:51 1464943466
>>1464939
Но у тебя вышла полная хуита, посмотри на вывод результата - это не два диапазона в две колонки нихуя
Аноним 01/09/19 Вск 00:08:31 1464947467
>>1464943
Я его >>1464790 код исправил, какие тебе два диапазона нужны? Ты можешь что угодно так вывести, не заделывая это в два списка. Хотя и списки можно, корочк, объясни, чего тебе надо,
Аноним 01/09/19 Вск 00:30:50 1464953468
>>1464947
Я так понял, что ему надо числа с а по б и числа с ц по д вывести в два столбца.
Аноним 01/09/19 Вск 00:32:22 1464954469
Аноним 01/09/19 Вск 00:56:20 1464955470
>>1464953
ideone.com/Xm9YLo
Некрасиво, зато без всякой памяти лишней и очень по простому

ideone.com/f0qblj
С памятью, но красивее.

Оба варианта, в отличие от твоих, не зависят от длины последовательностей. Мб какой-то библиотекой делается в одну строчку, хз.
Аноним 01/09/19 Вск 01:07:56 1464961471
>>1464955
Хотя я вот сейчас отредачил и убрал флаги из первого, которые там лишние были и получилось красиво
Аноним 01/09/19 Вск 01:42:12 1464967472
>>1464955
А чем тебе мои конструкции не нравятся?
>>1464911
range занимает минимум памяти (вариант 3, без списков), и код супер-простой. Можно добавить небольшое условие уравнивающее длину списков пробелами, просто цели такой не стояло
Аноним 01/09/19 Вск 02:45:53 1464974473
>>1464941
Ну так там в дополнительных материалах циклами пользуются, лол. В любом случае без цикла не выйдет перебрать элементы ИМХО.
Тоесть можно так:

vlans = set(vlan1) & set(vlan2)
vlansint = []
for i in vlans:
vlansint.append(int(i))
print(vlansint)

или так:

vlans = set(vlan1) & set(vlan2)
vlansint = [int(i) for i in vlans]
print(vlansint)
Аноним 01/09/19 Вск 02:52:22 1464976474
>>1464967
Ну там из-за for не уравнишь, а так способ нормальный, нужно просто два итера вести в while. Это по сути там внутри мой первый вариант, только не велосипедный.
Аноним 01/09/19 Вск 03:11:03 1464981475
изображение.png (20Кб, 644x892)
644x892
>>1464976
Да не, там можно всего пару условий добавить, и скомпенсировать уменьшение ширины столбца при переходе от однозначных чисел к двухзначным, и разную длинну списков, лол
Аноним 01/09/19 Вск 04:32:13 1464986476
>>1464981
1. Оно не будет, как я вижу, работать, если второй промежуток намного больше первого, там цикл нужен, а не условие, во втором цикле тоже будет трай экцепт, иначе словишь ошибку пиздец ты даже не можешь разные диапазоны погонять, прежде чем постить
2. Подравниваешь ты хуево, только на один знак, дай питону табуляцию и он сам подравняет знака на три
3. Выглядит у тебя как-то хуево.
Вот как можно ideone.com/7APYXI
Но просто с циферками тут, конечно, немного проще и удобнее
Аноним 01/09/19 Вск 07:30:05 1464993477
101.png (39Кб, 622x781)
622x781
>>1464981
Ребят, пользуйтесь стандартными инструментами из itertools и форматированием.
https://ideone.com/ymSo38
Аноним 01/09/19 Вск 09:25:48 1465017478
>>1464974
Дай линк, пожалуйста. Я чёт не нашел в четвертой главе это, мб плохо искал.
Аноним 01/09/19 Вск 10:36:52 1465039479
>>1464993
Да с итертулс всё понятно - это был своеобразный трайхард на тему вывести в 2 столбца без списков, лол.

>>1465017
В дополнительные материалы перейди - more on sets, more on dicts - везде используют циклы
Аноним 01/09/19 Вск 10:40:19 1465041480
>>1464900
Ты невнимательно прочитал условие. Точнее, ты смешал задачу 4.3 и 4.4.

В задаче 4.4 не требуется получать список vlan из строки, там тебе уже дан список, и подразумевается, что это числа, а не строки.

Всё проще, не придумывай себе задачи, которые нельзя решить.
Аноним 01/09/19 Вск 14:13:59 1465159481
>>1464993
А без затрат по памяти итертулс может это сделать
Аноним 01/09/19 Вск 14:14:37 1465160482
Аноним 01/09/19 Вск 18:01:51 1465331483
>>1465159
Модуль itertools реализован на C и продумано.

zip_longest работает с итератерами и не создаёт в памяти лишних промежуточных массивов, перерасхода памяти нет.

Аноним 01/09/19 Вск 18:25:20 1465344484
>>1465331
Он хотел сказать - что сами списки, с которыми работает инетртулс - занимают место в памяти.
Аноним 01/09/19 Вск 18:56:29 1465358485
>>1465344
А зачем там вообще преобразование в списки, если itertools нормально с итераторами работает?
Аноним 01/09/19 Вск 19:55:09 1465383486
>>1465358
Для наглядности. Можно подставить просто итераторы, но это смотрится чаще как непонятный синтетический пример. Обычно такие вещи нужны, когда ты работаешь с готовыми списками.
Аноним 01/09/19 Вск 21:45:25 1465440487
Постов сегодня совсем мало, питонисты решили устроить выходной сегодня? Я вот посмотрел "Красное солнце" и очень доволен.
Аноним 01/09/19 Вск 22:22:37 1465458488
>>1465440
Я сегодня ходил дневник выбирать
Аноним 01/09/19 Вск 22:31:01 1465464489
>>1465458
Ты вроде бы взрослый мужик, детей в школу отправляешь, а всё равно распиздяй. Это ответственный софт можно кодить в ночь перед дедлайном, а вот тетрадки детям надо заранее покупать. А не в воскресенье 1 сентября. Тьфу на тебя. Уходи в тред к жавасктиптерам.
Аноним 01/09/19 Вск 22:36:58 1465466490
>>1465440
Отмечали сегодня с семьёй поступление младшего брата, мне стало грустно и я занимался весь вечер тем, чем и вместо учёбы в его возрасте играл в линейку на первом попавшемся серваке с интерлюдом
Аноним 01/09/19 Вск 23:37:24 1465487491
Аноним 02/09/19 Пнд 00:35:29 1465499492
>>1465440
Посмотрел Джона Уика третьего. Всё такой же бред, но смотрится хорошо.
Аноним 02/09/19 Пнд 00:36:48 1465500493
>>1465499
Анон, ну это классический боевичёк, без навязанных штампов, тупорылых шуток, сложного сюжета. Киану просто берёт и делает - в этом прикол этого фильма.
Аноним 02/09/19 Пнд 11:27:13 1465626494
>>1465500
Да я без претензий, просто убил два часа. а мог бы код писать
Аноним 02/09/19 Пнд 11:40:25 1465640495
Хай, подскажите ньюфагу как поменять в джанге отдаваемый статус с 500 на кастомный, прописанный в экспешенах. https://repl.it/repls/PutridDarkblueVolume
Аноним 02/09/19 Пнд 11:40:32 1465641496
>>1463234
Отличное описание, все понятно и хорошо запоминается, вот бы официальная дока была такой же.
Аноним 02/09/19 Пнд 13:53:40 1465700497
1.png (144Кб, 1011x495)
1011x495
1Bzp1.jpg (32Кб, 500x323)
500x323
Почему? почему он не может импортировать?
Аноним 02/09/19 Пнд 14:07:32 1465705498
Есть серьезный вопрос, очень люблю математику, а именно дифференциальное и интегральное исчисления. Есть ли какие то углубленные применение этих мат знаний в python, а именно тесное взаимодействие. Просто часто слышу что типа в программировании математику нужно знать на минималках
Аноним 02/09/19 Пнд 14:11:41 1465711499
>>1465705
Я ньюфаг, но слышал, что именно пайтон использют в математических целях. И слышал, что анаконда для этого подходит
Аноним 02/09/19 Пнд 14:20:49 1465720500
>>1465700
Так зайди в файл, может там нет url?
Аноним 02/09/19 Пнд 14:28:04 1465729501
1.png (35Кб, 724x327)
724x327
2.png (202Кб, 1280x993)
1280x993
Аноним 02/09/19 Пнд 14:31:33 1465732502
>>1465720
>>1465729
И почему оно пишет ошибку на второй линии, в то время как во второй линии никакого url не было импортировано - оно в третьей, и по факту выводит ошибку на третьей же
Аноним 02/09/19 Пнд 15:21:10 1465758503
Ну что же вы, джангисты
Аноним 02/09/19 Пнд 16:40:08 1465841504
>>1465700
>>1465729
>>1465732
>>1465758
А забейте, я походу по мурзилке которая строится на версии до 1.9 пытаюсь вкатиться.
Аноним 02/09/19 Пнд 17:29:19 1465883505
zarabotalo.jpg (44Кб, 581x466)
581x466
Всего то 2 часа пердолинья по могаческим рунам джанги, блядь, и готово, нахуй. Три туплес ис нот суппортед используй джва туплес, блядь, охуеть нахуй.
Используйте гугл, не пытайтесь разбираться в джанге на начальной стадии изучения, особенно если учите эту поебень по устаревшим мурзилкам.

>Начиная с Django 1.9, старый способ включения URL-адресов администратора устарел. Вы должны передать admin.site.urls непосредственно в url(), без вызова include():
Аноним 02/09/19 Пнд 17:49:10 1465892506
>>1465883
Никогда не понимал людей, которые учат что-то по несоответствующей документации, тратят на попытки понять, что не работает огромные количество нервов, причем винят не себя, а сложнойсть фреймворка. Пиздец. Хорошо, что таких долбоебов максимум на стажера возьмут, а потом нахуй выкинут.
Аноним 02/09/19 Пнд 18:09:52 1465903507
>>1465892
Ну что непонятного? Кто не может в англ мануалы, тот обречен подъедать объедки из мусорки переводчиков
Аноним 02/09/19 Пнд 18:23:35 1465920508
>>1465729
еще и Slime пидорский. хуже слайма только Microsoft Studio
Аноним 02/09/19 Пнд 18:24:20 1465922509
>>1465920
сублим тоже, ну пидоское иде
Аноним 02/09/19 Пнд 18:30:10 1465929510
Аноним 04/09/19 Срд 03:29:30 1466704511
>>1463802
Друг, а ты питон учишь что ли?
Аноним 04/09/19 Срд 03:29:59 1466705512
Аноним 04/09/19 Срд 11:55:48 1466792513
>>1466704
>>1466705
Нет, чекаю нравится - не нравится эта ваше погромирование.
Аноним 05/09/19 Чтв 12:39:56 1467698514
Hi 2ch, такой трабл, я когда сохраняю в Atom (ctrl+S) выскакивает окно консоли, и когда запускаю (f6) тоже выскакивает пустое окно консоли, а потом консоль с выполняемой программой. Что за дичь пацаны?
Аноним 25/09/19 Срд 18:35:42 1481644515
Анончики, это правда, что в пайтоне для передачи аргумента по ссылке надо заворачивать переменную в мьютабл тип вроде списка? Что за костыль обоссаный, есть более вменяемый способ?
Аноним 26/09/19 Чтв 01:23:02 1481865516
>>1481644
Во-первых, в питоне все - ссылки, в том числе и аргументы, но сама ссылка передается по значению. Во-вторых, глупо хотеть передавать по ссылке что-то иммутабельное, когда ты можешь просто вернуть новое значение. Т.е. вместо res = do_smth(var) ты можешь res, var = do_smth(var).
Аноним 02/10/19 Срд 19:15:09 1487347517
Ку. НАчал тут про ООП курить. Мне обязательно перед методом в классе писать декоратор @classmethod?
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов