24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
ебать оно срёт как буйвол вся эта живность, котики-собачки там мимикательные, даже сраные змеи - и всё с говном блядь. кто в своём уме будет заводить живность что бы за ней говно убирать? нахуй оно надо? фу блядь
а теперь по теме треда: хочу написать эдакую ленту новостей. добавлять штук 20-30 источников - страниц веб-сайтов с новостями и что бы оно всё вместе выгребало из них и складировало. Что порекомендуете под эти цели?
>>874671 интересует именно чем парсить/выгребать заголовки и как/куда/когда их проще складировать
бек буду делать на джанго, тексты статей - мне newspapper понравился, ну или во всяком случае мне его функционала хватит пока.
>>874676 >brain это ORM какая-то? ну на реквестах и ре можно конечно, но чёт это муторно как-то звучит. особенно если редизайнут. мне бы что бы по x-path'у или типа того указать что за элементы на странице искать и пусть дальше само как-то.
пытаюсь проптимизировать вьюхи в джангоподелии на запросы к бд. Три модели, Book, Author, Genre. В Book соответсвенно автору и жанру добавлены по одному ForeignField'у. В Genre и Author такой еболы нет. Есть вьюха, которая
т.е одним запросом вытягивает все прицепленное к конкретной книге. Есть еще 2 вьюхи которые выдают книги по Genre и по Author. Но там фокус с select_related не прокатывает, в итоге у меня вот такая срань
>1) Заходим на пашка.com/docs >2) Вводим в поиске или >дату(20161112) или стандартный >префикс для фото( DCIM, SRC и >тд) >3) Просматриваем найденное >4) Находим интересные фоточки >и кидаем в тред >4) PROFIT!
>Как узнать id человека по >найденному документу:
>Адрес ссылки: >doc386641432_439078355 id - >386641432
А теперь внимание, вопрос - на питоне можно ли написать программу, которая будет сохранять имена файлов, которые находит по всем возможным запросам, в базу. А в ней уже искать по айди. То есть реально ли спарсить базу имен доков в вк?
Повторю вопрос из предыдущего треда Как юзать cython? Чем больше читаю, тем меньше понимаю, примеров кода что забавно, дохуя, но что с ним делать? Этот код запускать через сам питон? Его компилировать чем то? Код генерится из питоновского, или учить новый синтаксис? Нихуя не понятно, помогай анон
>>874753 Вот я и хотел узнать может есть какой-то уже подход к этому всему, что бы я не заёбывался лишний раз. Так-то конечно можно и на re + requests написать было бы, но заебусь же.
>>874754 CPython - реализация языка Python на Си. То самое, что можно скачать с python.org. Дефолтная версия. Cython - надмножество Python, которое компилируется в код на CPython C API. Позволяет мешать типизированный код на Си (или С++) и обыкновенный код на питоне. Результат можно скомпилировать в библиотеку для CPython. Так, например, написан numpy. CPython C API - библиотека на Си для работы с интерпретатором CPython. Может то же самое, что и собственно Python. Используется, когда нужна скорость - можно написать важные места на Си или С++, обернуть их при помощи апи в питоний модуль и вызывать из интерпретатора. Jython - реализация Python для JVM. IronPython - реализация Python для .NET
>>874784 UPD PyPy - JIT-компилируемая реализация Python на CPython. Позволяет получать прирост производительности из ничего. Из минусов - возникают проблемы с популярными библиотеками CPython (нужно портировать). Часто это не стоит того, поскольку скорость CPython в основном всех устраивает.
>>874739 В двух словах так. 0. Ты не начинаешь с Cython. 1. Ты начинаешь с того, что изучаешь написание расширений на Python C API (https://docs.python.org/3.6/c-api/). Пишешь на Си какую-нибудь дурацкую функцию, типа подсчета суммы элементов массива или там среднего значения массива. Оформляешь ее в модуль для питона при помощи API. Если Си тебя не привлекает, то дальше идти не имеет смысла - Cython подразумевает что ты знаешь Си. 2. Изучаешь компиляцию модулей и подводные камни, такие как необходимость под виндой компилировать модули тем же компилятором, что был использован для компиляции интерпретатора. 3. Охуеваешь от замороченности процесса. Начинаешь понимать, какие проблемы решает Cython (инбифо убирает 80% заморочек).
В двух словах на вопросы > Этот код запускать через сам питон? Его компилировать чем то? Компилировать в Си при помощи отдельной программы, затем компилировать Си в питоний модуль при помощи обычного компилятора. Питоний модуль вызывать из питоньего модуля при помощи import.
> Код генерится из питоновского, или учить новый синтаксис? Учить синтаксис Си, учить как синтаксис Си превращается в синтаксис Python. Действительно, простой питоний код можно пропустить через Cython и компилятор Си, но никаких бонусов это не даст. Грубо говоря, нужно сначала простой питоний код наполнить информацией о типах данных, тогда Cython начнет делать нормальные оптимизации и ускорит код.
Питоняч, поясни долбоёбу import random a = random.randint(0,1) b = random.randint(0,1) if a == 0 else b = 0 c = 1 if a == b == 0 else c = 1 print (a) print (b) print (c) Ругает пикрил. Чяднт?
Аноны, помогите. http://pastebin.com/2LBAH15P list - список чисел в строковом виде, максимальная длина элемента в списке известна. Как распарсить полученный бинарник, для получения исходных данных?
>>874877 Если не ошибаюсь, твой вариант слепит все биты вместе и потом ты хрен поймешь, где какое число. Почему бы не попробовать bitstring.Bits(int=int(list), length=MAX_LIST_INT_LENGTH)?
>>874903 >Почему бы не попробовать bitstring.Bits(int=int(list), length=MAX_LIST_INT_LENGTH)? Избыточность в записи. Мне нужно как можно меньше битов потратить для записи, поэтому и записываю в бинарник.
Питоняч, на связи снова >>874838-кун Внезапно оказалось что мой говнокод - хуйня и распределяет еденицу между а,б и с с вероятностью 50:25:25. В связи с чем вопрос: назначить еденицу одной из трёх переменных чтобы вероятности для каждой из переменных были равными?
>>874925 Это понятно, но у тебя каждый раз получается разная длина. [len(bitstring.Bits(bin=bin(i))) for i in (1, 64, 1023)] # [1, 7, 10] Как ты потом будешь определять, где у тебя одно число закончилось, а другое началось? Лично я вижу несколько вариантов: 1. Какая-то стоп-последовательность, при достижении которой парсер будет понимать, что текущее число закончилось. [биты_числа]{EOD}[биты_другого_числа]{EOD} 2. Префикс фиксированной длины (>= максимальной длине твоих int), в котором будет указано, какой длины следующее за ним значение. {PREFIX:7}[bitstring.Bits(bin=bin(64))]{PREFIX:10}[bitstring.Bits(bin=bin(1023))] 3. Не ебать мозг, а прогнать результат bitstring.Bits(int=int(list), length=MAX_LIST_INT_LENGTH) через какой-нибудь алгоритм сжатия.
Disclaimer: Я не битоёб, так что мог знатно обосраться где угодно.
>>874938 >>874943 >1. Какая-то стоп-последовательность, при достижении которой парсер будет понимать, что текущее число закончилось. >[биты_числа]{EOD}[биты_другого_числа]{EOD} В этом случае биты числа надо еще закодировать так, чтобы EOD в них не встречался. См. https://en.wikipedia.org/wiki/Bit_stuffing
С сервера мне приходит такой ответ, как на пикче. А чуть ниже как это должно быть распарсено.
Как видите после каждого слова идет байт, говорящий о его уровне вложенности. Причем фишка в том что иногда уровни могут повторятся. Мне нужно распарсить это, и обойти все возможные значения.
Я уверен что они использовали уже что-то готовое для сериализации/десериализации.
Вопрос как может называться эта хуйбола?
Пишу на питоне, я думаю должна быть либа для этого или еще что. Не руками же они так делают.
>>874958 >Я уверен что они использовали уже что-то готовое для сериализации/десериализации. На 99% уверен, что нет. Как будет парсится строка 'Humans2Man3Hui12cm2Woman3IQ653Tits4Size' ? Возможны , конечно, эскейп-символы всякие. Но зачем, если есть JSON или MessagePack
Соответсвенно уровень вложенности, где-то до символа пробела с кодом 0x20, потому что дальше уже начинаются печатаемые символы, которые могут быть использованы
>>874975 cgi интерфейсы. orm и sql, хотя бы git и уметь в virtualenv, хорошо понимать как работает что-то в пайтоне. Напишешь callable декоратор - уже хорошо.
>>875084 Хех, только что-то глянул вакансии моего города(картохо-дс), и такого набора не хватит. з.ы. хотя для фриланса - самое то. мимо-другой-пистонист
>>875104 Мне приходит бинарный блоб, который нужно распарсить, выкинуть не нужное, а потом построить граф всех возможных путей. Сразу скажу что на серверную часть я повлиять никак не могу.
Вот распарсил таким быдлокодом, но мне пойдет.
Вначале просто генерирую список всех возможных путей, вставляя символ '>' между нодами. Но пока неизвестно может ли имя ноды содержать этот знак. Надо тут что-то по-умнее придумать.
На выходе у меня просто лист всех возможных значений, типа: Food>Fruit>Apple Food>Fruit>Banana Food>Vegetable>Carrot
И это хорошо, потому что я могу дальше регэкспом убрать все ненужное.
>>875117 Почитай про hexdump, может поможет тебе(с парсингом). С а с этим...попробуй подумать над словарём, в который будут вводится значения на соответствующий "уровень"(уровень определяется цифрой после слова), и в ключи к этому слову гонит всё что имеет "ранг" пониже, если встречает такой же уровень - создаёт новый элемент и т.д. и т.п.
Привет, аноны. Пишу программу для себя. Так вот, как мне сделать так, чтобы я в консоли вводил функцию один раз, а программа потом подставляла в нее аргументы? программа должна работать с любыми мат функциями, понятными питону.. А то не хочется каждую новую функцию в самом коде менять.
Аноны,хочу написать бот для клиентской ммо на питоне,в интренете нашел лишь библиотеку Ghost ,для эмуляции работы пользователя. Может кто сталкивался или интересовался подобным?
Вот есть у меня готовый сайт на джанге, который с темплейтами работает, то есть фронт генерит сам. Теоретически, чтобы перевести его на django-rest-framework мне надо будет переделать только вьюхи и заняться фронтом на жс, так ведь? Просто мне надо освоить rest и я думаю насколько сложно это будет сделать на основе моего текущего тестового проекта.
>>875268 Я диванный, но думаю да. Достаточно возвращать вместо рендерреспонса json с контекстом. Дальше клиентсайд будет парсить это дело. В lightweight django было немного про SPA на ресте и AJAX.
>>875268 Еще тебе надо будет написать некоторое количество сериализаторов. У django rest framework (далее DRF) есть годная фича, называется рендереры. Среди них есть TemplateHTMLRenderer - рендерит в HTML, используя стандартный механизм Джанго. Можешь на первых порах его использовать, если не хочешь сразу лезть в JS.
>>874631 (OP) Посоны, есть небольшое приложение на cgi скриптах. Фронтенд на javascript, backend собственно питон и постгрес. Ну так вот, делаю запрос к базе и мне в консоль браузера приходит строка в escaped unicode
>>875493 'ОШИБКА: повторяющееся значение ключа нарушает ограничение уникальности "polygons_geom_key"\nDETAIL: Ключ "(geom)=(0103000020E6100000010000000500000001000080AECD4240D8F2D8F65DDD4B40010000007 CCB42403D54684298DA4B4001000080BCCE42403CF478FEF0DA4B40010000002DCF42404F1E9642DFDC4B4001000080AECD4240D8F2D8F65DDD4B40)" уже существует.\n' Если в консоль браузера, то тебе в js тред.
учу djangо, polls app официальной документации. подтупливаю на строчке: from . import views анон, что за . после Import? для чего служит .? Я с импортами разобрался, но что за точка и какие функции выполняет разобраться не могу.
Сап, питонач, нуб в треде. Нужно резко вкатиться в питон, т.к. надо для проекта написать поисковик. С кодом разберусь, но нужно как-то запилить локальный веб сервер. В гугле нормальной инфы не нашёл. Объясните аутисту как запилить локальный веб-сервер, который бы исполнял питоновский код и поддерживал БД
Анон, объясни про пердолинг с двумя версиями питона. Дано: я учу джангу и одновременно перекатываюсь под линукс, есть 2.7 и 3.5, вся работа с джангой проходит в виртуальном окружении (там стоит 3.5). Для удобства через -update-alternatives поставил дефолтной третью версию питона может это и есть причина происходящего?. При попытке установки некоторых пакетов (Weasyprint) pip сыпет ошибками, а вот под 2.7 ставиться все нормально. 1) Я правильно понимаю, что у меня сейчас два стула: или мучиться с установкой нужных пакетов под 3.5 или переходить на 2.7? 2) Исходя из такой поддержки 3.5, получается, большинство джангопроектов пишутся на 2.7?
>>875607 Проще говоря, в папках есть файл '__init__.py', преобразующий папку в "пакет", из которого можно импортировать файлы, не пердолясь через 'sys.path.append('. . .')'.
>>876514 >>876515 Господа прошу не бомбить. Гуглом я пользоваться умею, но видимо задавать вопросы не способен чтоб выразить желаемое. Имелся в виду не поток, а вообще - всё происходящее в консоли. Т.е. все выражения, утверждения, трейсбеки, ошибки - весь консольный текст. С потоками давно разобрался. Т.е. есть дохуя способов записывать вывод в файл - через логгер, через всякие модули типа code, через перенаправление потоков. Это всё есть в гуглах и книжках. НО
В качестве подзадачи я хочу логгировать строки, которые посылаются интерпретатору. В том числе - неправильные выражения. Пишу import msvcrt - и это выражение чтоб записать в строку. Пишу impoooort Chlen - чтоб это тоже сначала писалось в строку, а потом уже выполнялось интерпретатором. Причем ошибку которую он выдаст я перехватывать умею.
Я пробовал копаться в _io библиотеке, но пока не хватает сноровки разбираться что там к чему. Пробовал получить доступ к буфферу StringIO и к буферам потока - но тоже не вышло нихуя. Одно из решений - организовать REPL типа
иф __нэйм__ = "__мэин__" вайл тру консол_инпут=инпут(">>>>>") exec(консол_инпут) эксепшены всякие чтоб не слетел цикл если выражение я ввёл неправильно
Но интересует - есть ли другой способ через получение доступа к функционалу самого интерпретатора?
Вот сука есть "файл" <stdin> - я не понимаю как устроена работа с этим потоком. Читаю Лутца - он приводит кучу способов перенаправления потоков. Т.е. можно в стдин запихать строки из файла, аутпут из другого процесса. По умолчанию в стдин пихается поток символов с клавиатуры. А КАК МНЕ, не создавая полноценный кейлоггер, писать в файл подчеркнутую Оранжевым хуйню?
>>876522 Почитай про tee. Простой вариант решать твою проблему - написать скрипт, который будет работать аналогично tee. и вставить в поток stdin и stdout+stderr. it -> tee(1) -> process (join stderr with stdout) -> tee(2) -> stdout Ну или сделай класс потока, который помимо основной задачи ещё и логирует, и заверни в него потоки stdin и stdout.
Изначально есть строка вида: 00000000: 15 03 03 00 30 69 9C 7F FA 5C B7 31 8C 5E 48 D3 ....0i...\.1.^H. /n 00000010: 45 20 4C 8A 9B DB 84 8F 7F 2F 47 3E 6B E4 16 D9 E L....../G>k... /n 00000020: A0 92 6E AB A2 00 72 72 BD E0 DC 4B 64 C2 C2 CA ..n...rr...Kd... /n 00000030: 68 90 30 2C 39 h.0,9 Затем я записываю её в БД и при извлечении получаю строку типа: 00000000: 15 03 03 00 30 69 9C 7F FA 5C B7 31 8C 5E 48 D3 ....0i...\.1.^H. /n00000010: 45 20 4C 8A 9B DB 84 8F 7F 2F 47 3E 6B E4 16 D9 E L....../G>k... /n00000020: A0 92 6E AB A2 00 72 72 BD E0 DC 4B 64 C2 C2 CA ..n...rr...Kd... /n00000030: 68 90 30 2C 39 h.0,9 Опять таки, форматирование сохраняется, всё чотко, НО когда вставляю эту строку в HTML таблицу на сайте - всё идёт по пизде. Неужели придётся парсить строку,делить её на строки поменьше и выводить их по очереди(или какой-нибудь ещё йобо-метод), неужели нельзя сохранить кашерное форматирование и в вебе? python 3, flask.
Петян, немного не пойму про скоп. вот пишу я некоторое говно и замечаю, что шапка у половины скриптов одна и таже, то есть нужно как-то там инициализироваться, сделать препроцессинг и всё такое короче. и решаю, что всю эту хуйню можно было бы вывести в отдельный файл, а потом делать импорт всего этого.
так вот есть два файла: vsja_huina.py - будет выведенный предпроцессинг work_work.py - а тут чисто со скоряка ебашить.
vsja_huina.py содержит функцию init() и в ней уже в переменные, которые были объявлены раньше в vsja_huina.py должны заполняться правильными ништяками. допустим выглядит так:
foobar = [] def init(): foobar=[1,2,3]
а вот в work_work.py я хочу делать вот так
from vsja_huina import * init()
и уже чисто тут ебашить дальше по хардкору. мне не нужна всякая ебатьня с классами, у меня императивно функциональный подход. но возникает такой конфуз, что я в workwork.py после вызова init() список foobar ещё пустой. я уже пробовал и global, но что-то не работает оно через импорт.
>>874631 (OP) Аноны, меня немного отталкивает отсутствие явной декларации переменных в питоне, есть ли что-нибудь вроде линтера, который будет кидать ошибку, если не увидит переменную в коментарии типа # variables some_value ?
>>874631 (OP) Как сделать чтобы ОНО : {{ a = input("a = " ); b = input("b = " ); c = (a + b); print(a, b, c) }} считало значение "С", а не тупо выдавало "AB" подряд?
Сап, пишу корявый генератор случайных чисел методов серединных квадратов. То есть: есть например число 0,6311, мы узнаем его квадрат (0,39828721), и берем у него средину - 0,39828721 . Это и будет наше случайное число. ну и так дальше, отталкиваясь от предыдущего числа. Я тут немножко наговнокодил http://pastebin.com/vc7pvRxR , и всё работает нормально, но если генерировать больше тысячи чисел, то начинают вылазить какие-то экстеншены, непонятные мне как новичку. Помогите разобраться пожалуйста.
>>876786 Ты превышаешь лимит на глубину рекурсии. Это значение можно изменить, но лучше переписать код так, чтобы от рекурсии вообще избавиться. Использовать цикл, например http://pastebin.com/Jfr92nwj
>>876786 >RecursionError: maximum recursion depth exceeded while getting the str of an object Что непонятного? Когда ты вызываешь функцию, текущие значения переменных сохраняются, потому что предполагается что ты сюда ещё вернёшься. Поэтому ты не можешь вызвать функцию, из неё ещё одну, из той ещё одну и так до бесконечности - память закончится. Поэтому введено ограничение на глубину рекурсивных вызовов. Используй цикл вместо рекурсии, или пиши yield.
>>876898 Нигде Олимпиадки можешь порешать на питонтутор, поиграться в однострочники на кодварс Но лучше наверни стандартные укус+синк пайтон и потребность в твоем запросе отпадет
>>876916 Я учился на двойке, а писал только на тройке. Двойка с тех пор ни разу не пригодилась, но и мук перехода я не испытывал ни единого раза. Синк - охуенная и одна из самых полезных книг для вката в питон. Хочешь понять где его использовать и как - читай. А на версию похую.
>>876751 Вообще, суть фалкона - это какая-то альтернатива сервлетам из джавы, где ты создаёшь ресурсы, биндишь их на какой-либо урл и обрабатываешь с них определенные запросы по интерфейсу (on_post, on_get, on_delete, етц). Причем все это одна большая абстракция.
Для Питона есть батарейка, реализующая маршалинг/анмаршалинг JSON как в Go? Ну, указал для каждого поля соответствующий элемент JSON-объекта — и всё дальше автоматически парсится без промежуточного словаря, не отжирая миллионы лишней памяти на больших документах. Вижу примерно, как это на ijson построить, но боюсь велосипед сгородить.
Сап анон, нужно авторизироваться на сайте через стим. Как это вообще происходит? Тебя перенаправляет на стимовскую авторизацию, там ты авторизируешь, затем тебе приходит токен, и этот токен ты передаешь сайту?
>>874631 (OP) Аноны, я девелопер с 5+ опыта и появилось время для изучения 1 нового языка чисто для общего развития. Сижу сейчас на 1 стэке технологий и в принципе python для моих задач в мобильной разработке не подходит но есть желание узнать почему этот язык так хорошо набрал популярность за последние 10 лет ну и вообще расскажите в каких отраслях и сферах python применяется(кроме математики) PS: в Java стэк ебал я в рот вкатываться
Есть решение этой задачи. В начале года это решение мне дали в одной из питон тредов, кажется. Но я сейчас нихуя не понимаю, в чем суть этого решения и что вообще происходит. Может кто-нибудь объяснить ?
>>877374 съеби зелень каждый инструмент для своих задач Теоретически все можно описать и 1-м ЯП но на каких-то языках различные задачи будут реализованы изящнее и читабельнее Меня этот момент интересует. Что python умеет делать лучше других и в чем конкретно
>>877382 не знаю как насчет лучше остальных, так как знаю только питон, а вот для вкатывания идеален из-за своей простоты и распространенности. могу ошибаться. трогал js, perl, pascal.
>>877415 Почему не сделать наследование классов, но вместо этого ебаться с двумя подключаемыми модулями ? Просто чем дальше в лес тем охуеешь ты NN модулей для простых функций делать, вместо того что бы уже создать КласНейм(БейзКласс): хочешь те же функции из БейзКласса, хочешь можешь их же переиначить, хочешь можешь через даже после подкрутки вызвать исходную функцию c помощью returnsuper . Просто спрашиваю. Я бомж если что .
>>877447 А как оно должно быть ? Написал from ... import ... И вауля, пустая функция без объявления данных извне должна дать результат ? Ну сам посуди что нужно как минимум два модуля импортировать, значит проще все это написать в одном в через банальные классы.
Суть такова есть стража дворца : есть массив в котором лежат математически операторы в виде строки. Как так сделать, что бы их можно было использовать в качестве операторов? Пусть будет список вида [1, '/' , 2], как мне поделить один на два, создавать функции для каждого оператора или есть более компактное решение?
>>877469 это у тебя ификсная запись, привычная человекам, но ты можешь использовать постфиксную [2,2,'+'] или префиксную ['+',2,2] запись. и просто идти по массиву выполняя операции
>>877472 ну да, так конечно оно будет работать. но меня просто удивило такое поведение. хотелось бы, конечно, иметь возможность вызывать инициализацию по своему усмотрению, иначе можно б было и не заворачивать всё в отдельную фукнцию, а так побросать, хули, не жалко.
>>877524 >я ему это еще вчера кинул А, я не увидел. >он сейчас закукарекает что не хочет импорт ххх Ну вообще-то в PEP8 написано, что стоит избегать импортов со звездами. Так что это решение не только работает, как нужно, но еще и PEP8 соответсвует. Что вообще заебись. https://www.python.org/dev/peps/pep-0008/#imports >Wildcard imports (from <module> import *) should be avoided, as they make it unclear which names are present in the namespace, confusing both readers and many automated tools.
Джанго-аноны, что такое Class based views и для чего они нужны, простым языком? Дошел в учебнике до этих самых вьюшек, а там просто фразочки типа "скопируйте код, вставьте, вот у нас и получилось )000". Во всяких видео и статьях там подразумевается, что я уже должен был настолько задолбаться без них, что благодарить бога за их существование.
>>877795 Не вздумай читать это говно.Сейчас уже 1.9 вышла, а там все про 1.6 рассказывают.В Djang'е очень много вещей изменилось, так-что лучше ничего djbook нет и русского
Не могу допереть, как исправить, чтобы не выходил за рамки списка( ясен хуй in range, но где ). Второй вопрос как поместив переменные, которые имеют числовые значения в список - передавать обновленные числовые значения. Очевидно что если есть List = Yv, где Yv = 0.003, то при print(List) он выдаст 0.003. Однако когда я захочу записать List = 0.004, он нихуя не изменит мне значение Yv, а лишь запишет на индекс i - 0.004. Можно наверное словарь использовать, но чет не ебу как тогда с ним матрицу сделать и переходить по нему к следующему элементу.
Ньюфаг вкатился. Решил решить простенькую задачку. В принципе как ее правильно решить я знаю, но интересен вариант при помощи словаря. Условие: вернуть в словах вводимое значение от 0-9. Типа если ввел 1, вывод будет 'один'. Как правильно будет вернут значения ключа словаря?
html = urlopen("https://vc.ru/p/why-no-leave-ny") bsObj = BeautifulSoup(html.read()) allTags = bsObj.findAll("p") print(allTags)
В общем, он выдает мне простыню типа [<p>, 1бла-бла<a href="http://myday.nyc/ya-ne-uezzhayu/" target="_blank"> 2бла-бла</p>, <p>и далее. Как мне убрать все тэги из текста, чтобы осталася сам текст, то есть 1бла-бла 2бла-бла?
Прохожу я codecademy и вижу, что не догадываюсь как решать большинство заданий из тех, что ближе к концу (типо звездочки на маты и всё такое) Надо будет зубрить какую-то книженцию по алгоритмам или как?
>>878089 Спасибо тебе большое. У меня к тебе другой вопрос есть. Используя тот самый, кода как возможно убрать из allTags текст, который находится в div-e, в названии которого фигурирует слово comments? Вот есть такой див class="b-content-w b-content-w-comments Я думаю, что сначала выцепить все названия div-ов в лист, затем уже каждый элемент искать на наличие comments и как-то его вырезать из основного текста
Начал знакомство с "волшебным миром" кодинга с приложухи на телебоне. Худо бедно дочитал до "булева логика", оператор not и тут логика начала сбоить. Как это понять? Комменты почитал, но так и не воткнул. if not True: print("1") elif not (1+1==3): print ("2") else: print("3")
В шапке висит ссылка на потонувший тред, поэтому дублирую: Как в питоне создавать свои методы? Пишу программку на Qt, хочу для кнопки добавить свой метод. Пока что нагородил костыль http://ideone.com/vjXxtl , который вызывает функцию, которая принимает кнопку как аргумент, но хочется оформить все методом
>>878364 создаешь класс-миксин, у которого есть этот метод, потом класс миксин миксуешь с оригинальным классом твоей кнопки, потом создаешь кнопку, которая наследует миксин и оригинальный класс твоей оригинальной кнопки. Наверное как-то так мимо_с_дивана_после_Fluent_Python
>>878364 Наверное, надо создать свой класс, который наследует все от какого-то родительского класса. Ну и создать там свой метод. Может что-то вроде такого http://ideone.com/Vkcpd3
Что из себя представляет типичный рабочий день python (web) разработчика? Какие задачи встречаются наиболее часто и какие технологии приходится чаще всего использовать?
Объясните мне, дауну: что отправляет джанго при аякс-запросе, и что, блять, принимает ебучий аякс-апрос? Я весь день пытаюсь сделать ебучий лайк баттон, но ничего не выходит. Может кто-нибудь дать рабочий пример подобного кода, в гугле какая-то одна непонятная херня.
>>878403 Есть вьюха. Назовем её меин пейдж. Вьюха отображает список объектов - постов. У каждого поста есть возможность поставить лайк. Лайк - это другая вьюха, на которую идет другой урл.
Что мне писать в аяксе в урле? Урл главной страницы, или урл вьюхи лайка? Что мне писать в дате?
>>878413 да там все равно все будет по-другому написано. Мне просто нужна инфа. Что писать в аякс урл, когда у тебя лайк идет через другую вьюху, и как получить дату с сервера.
>>878416 >Что мне писать в аяксе в урле? Урл той вьюхи, которая будет делать лайк. Делаешь POST запрос на этот урл и отправляешь данные (айди поста, действие(лайк/дислайк) или что там у тебя). Во вьюхе делаешь свое дело. Запрашиваешь сегодняшнюю дату и все это дело шлешь обратно. Можешь слать JSON, HTML, plain text. Показываешь на странице.
>>878419 Извини, сложновато разобраться сейчас, плохо соображаю. Что у тебя конкретно не работает? В браузеры открывал инструменты разработчика и отслеживал че происходит вообще?
>>878457 Здесь парадокс в том, что саксесс аякс-запроса проходит, но он не меняет значение класса тотал лайкс даже если вбить какой-нибудь левый аргумент вместо полученной даты. Т.е. я вообще хз, в чем дело.
В смысле должен быть пост? Это просто ссылка, которая запускает вьюху, которая сама по себе меняет значение в БД без поста. Я прикрепял код - там видно, как она работает. Зачем здесь пост?
>>878458 Я хз, обложись принтами и делай console.log(data) в своем жс-скрипте, открывай инcтрументы разработчика и смотри что выводит. Ну или алертами выоди свои данные. Судя по вьюхе, чтобы получить число лайков в шаблоне тебе надо писать data.data. Попробуй просто выводить $('.total-likes).text(data.data)
>>878535 когда ты делаешь x = [x1, x2], то ты добавляешь в список значения переменных, но не сами переменные. Так это работает в питоне. Нужно делать: x1 += 'str' x[0] = x1
>>878723 Внезапно, но заработало вот так. Как же надоедает, что периодически обновления выходят и приходится постоянно заново учить. И логики-то тут особой нет, просто зазубриваешь и всё, ска.
Аноны, прошу вашей помощи. Сам школота, прогал на паскале, немного к нему привык, при переходе на питон начинается катастрофический затуп. Как понять массивы и двумерные списки на питоне? Прочитал кучу информации по этому повод, как то: гайды, главы из учебников и т.д., но не нашёл ничего кроме "мы заполним этот массив таким способом, но вы его так не заполняйте, потому что потом вы не сможете изменить значение, бла-бла-бла...". На паскале всё было довольно просто: ты вводишь две переменных для итерации и по их индексам обращаешься к элементу. В питоне же я АБСОЛЮТНО не понимаю, как обратиться к элементу и, например, задание: "В одну строку вводятся пары чисел i и j, означающие наличие связи между городами i и j, заполните матрицу смежности графа 10х10" вызывает ступор, отчаяние и плач. Как научиться работать с этими массивами и как их понять?
С компьютерами знаком хорошо, с никсами, с сетями, с алгоритмами и протоколами, безопасностью и т.д. Но все это на уровне любителя, урывочно, нету базы. Хочу вкатиться в программирование как сильное хобби, есть СИСП в бумаге, но он сложный, я фейлюсь в первых заданиях и не понимаю, как работает guess в их находителе квадратного корня.
Хочу купить бумажный вариант попроще, но книги сейчас очень дорогие поэтому спрашиваю без задней мысли (пользоваться онлайн-манами я все равно буду, но хочу иметь хорошее в бумаге): покупать Think Python? Или есть вариант лучше по соотношениям Талмуд/Полезность/Практичность? Еще скажу, что школьную математику забыл, но знал на 5. С английским проблем нет.
Алсо, думаю купить Таненбаума по сетям и архитектуре ЭВМ.
>>878808 Синк это чисто понять какие у питона есть применения. Не узнать, типа почитать тредики и прикинуть чё из него делать, а вот прям реально на своей жопе выполняя задания вдуплить какие есть либы, куда их пихают и тд. Короче это самая прикладная книжечка по питону, рекомендую если уже знаком с синтаксисом. Более-менее фундаментальная литература по именно вкату в компьютерные науки это вопрос совсем другого уровня абстракции. Я не знаю что тут рекомендовать, сикп есть и на питоне уже, но его как и Таненбаума можно и не осилить. Потому предлагаю просто начать с синка а там по мере необходимости уже двигаться дальше
>>878814 А писать-то простые скрипты для простой жизни и простые программы (например прилепливатель тэгов к файлам, чтобы их можно было легче искать и сортировать, такая на питоне уже есть) эта книга научит? Или если у меня такие потребности, то лучше не заморачиваться покупкой и просто читать Укус Питона? Очень не хочется читать литературу для домохозяек (или чуть выше).
>>878821 Именно об таких фиговинах она и есть Укус такой себе на самом деле, годится на мой взгляд разве что после кодекадеми не забыть чё учил вообще. Можешь ещё automate the boring stuff with python глянуть, но оно нудное как пиздец и точно не вместо синка
Поцики, у меня тут накопилось за год изучения питона хуева туча отсылок на книги-курсы-туториалы-инструкции-ресурсы и тд и тп для вкатывающихся, но признаться там чуть бардак а разгребать и систематизировать их некогда, и вроде как мне уже не актуально.
Но может кому для вката полезно будет. Это доска в трелло. Пишите мейлы - всех добавлю. В реплаи к этому посту или на [email protected] (ответы от меня могут попадать в спам, имейте ввиду, хотя я просто буду кидать инвайт на доску через мейл с трелло)
>>878912 Есть крутой курс Harvard CS50 - http://cs50.tv/2015/fall/ - на русском версию тоже где-то видел А так держи копипаст кого-то из /pr/ с кем я в целом согласен:
В идеале, если ты хочешь не просто полюбопытствовать, тебе нужен полноценнный курс из нескольких смежных областей:
Базовый матан, на уровне первого курса, чтобы понимать математические формулки, алгоритмы на графах, и подобную хуйню. Используй любую пару вузовских учебников поспрашивай в sci, если хочешь, я рекомендую Ильин-Садовничий-Сендов ч.1 матан и Яблонский дискретная математика, можно читать только про алгебру логики, автоматы и графы. Базовая теория множеств, после первого пункта пойдет на ура. Подойдет Куратовский-Мостовский гл.1-3,6-7, хотя выбор не принципиален, можешь навернуть какой-нибудь видеокурс. Это очень важный пункт, потому что в норм книжках не разжевывают каждую мелочь, а используют терминологию множеств. Поэтому, в частности, ты и охуел от Кнута а от Успенского-Семенова вообще обосрешься. Теперь ближе к делу. Колмогоров-Драгалин, тут без вариантов и от корки до корки. Можешь порешать задачки из Лаврова-Максимовой, это гораздо полезнее, чем просто зубрить теорию. На этом этапе ты уже, вероятно, сам поймешь, чего тебе надо. В любом случае, здесь ты уже без проблем осилишь Кнута, Кормена etc. Если же тебя больше увлекает теоретическая сторона вопроса то бишь, построение новых алгоритмов, а не воспроизведение существующих, то наверни Успенского-Семенова, а затем гугли публикации за последние джвадцать лет. Также неплохо обмазаться методами оптимизации, теорией моделей, ну и по своей предметной области всяким. Такие дела
Есть текстовый файл с 1000 ютьюб каналов, хочу чтобы утилитой их прогоняло и выводило количество подписчиков и дату залива последнего видео. Как сделать?
>>874631 (OP) Время суток анон_программач. Стал изучать python, написал скрипт для закачки контента с треда двача. Оцените код, дайте советов мудрых как его оптимизировать и распараллелить (сейчас работает в один поток) http://pastebin.com/RJjVYGnw
>>874785 На пайпай написана игра тройки геймз - Temple of Elemental Evil, кстати. Т.ч. для риалтайма подходит даже. Хотя консольных игра на питоне я не припомню. Ну, вернее, есть Severance: Blade of Darkness на Xbox Original, но там с производительностью совсем плохо было.
Для тех, кто родился и вырос в Советском Союзе, существовала огромная страна — одна для всех. Никого не удивлял, к примеру, узбек, которого судьба привела в Эстонию, или латыш, живущий в Азербайджане. Вот и Раиль Каспитский уже очень много лет — житель Донбасса. Здесь отработал всю жизнь на государственной службе, в Перевальском районе и областной государственной администрации, в областной инспекции гостехнадзора. Сын солдата Великой Отечественной, он воспитывался на общих для всех ценностях.
— Мой отец стал настоящим примером для подражания, — говорит Раиль Каспитский. — Я и по сей день стараюсь следовать его наставлениям. Он участник Великой Отечественной войны, прошел всю военную компанию с 1937 по 1946 годы, освобождал Сталинград от немецко-фашистских захватчиков и принимал участие во взятии Берлина. Был тяжело ранен, но остался жив.
Многонациональный Донбасс принял Раиля тепло. Он создал здесь дом и семью, нашел друзей. Любимая жена Наиля, две замужних дочери, 16-летняя внучка — все есть, что надо для счастья, и глава семьи всем близким старается уделить внимание.
— Мои родители и родственники были направлены сюда после Великой Отечественной войны, по программе восстановления Донбасса, — рассказывает Раиль Ханяфович. — Наших соотечественников здесь много. По национальности я татарин, но мои корни в Ульяновской области. Когда-то ещё в советские годы Ульяновская область и Донбасс считались самыми развитыми в отношении братских и производственных связей. Из всех регионов постсоветского пространства десятки национальностей плечом к плечу трудились на Донбассе, духовно обогащали и дополняли друг друга.
Но не только работа и семья наполняли жизнь Раиля Ханяфовича. Размышляя о судьбе своих соотечественников, живущих в Донбассе, он понял: им нужна поддержка. — Пятнадцать лет назад, перед о мной встал вопрос о поиске общих интересов своих соотечественников и объединении родственных душ, чтобы совместно решать жизненные проблемы. Здесь я должен сказать большое спасибо покойному имаму г.Алчевска Гирфану Абкадировичу Гильдееву, который посвятил вопросу народного единения значительную часть своей жизни. Мы чтим его память и благодарны ему за все, что он делал для объединения всех народов проживающих в Алчевске и Перевальском районе.
День народного единства Раиль Каспитский считает очень важным праздником — особенно в свете того, что нам довелось пережить за последние годы. — Особенно сейчас стал актуальным вопрос в единстве всех народов, которые проживают на Донбассе, — считает он. — Нужно сплотиться против общей трудности, чтобы пережить это непростое время. Я скажу всем известный афоризм, которому стоит следовать всегда: «Сила — в единстве, единство — в вере». Мудрый человек, немало повидавший на своем веку, Раиль Ханяфович убежден: интернационализм — не в забвении своей истории, не в отказе от своего народа. Он в дружбе и взаимной поддержке представителей разных национальностей.
— Исходя из своего жизненного опыта, хотелось бы пожелать всеобщего братского единения народов проживающих на Донбассе, — говорит он. — Без единства ни одно общество в современных условиях не сможет выжить и чтобы народности процветали, нужно решать все проблемы совместными усилиями.
>>878995 Для начала нужно понять как работать с апи ютуба. Для этого используется гугл. Далее использовать нужно requests и стандартный механизм питона. В зависимости от формата текста, разбивается массив данных по каналам и циклом по каждому каналу используя апи гугла получаешь нужные данные
Я линукс никогда не видел, кто-нибудь может мне объяснить что значит "знание Линукса" в вакансиях, просто встал вопрос переустановки ОС и вот не знаю что выбрать, столько всяких фич как фреймворков джавы...
>>879732 Он под линух вроде как и делался изначально. иде для питона же На винду накатывать раньше было неудобно, была путаница со слешами. И если начинаешь писать, то все возможности Пайчарма тебе пока не нужны. Хватит и Атома\Саблайма.
Так же в настройку окружения входят и тулы для контроля версий, понимание работы веб-серверов, понимание протоколов. Если есть девопс, то об этом думать не надо, но знать как работает HTTP, что такое гит\свн желательно. Имхо, конечно же
Есть лист: list1=[['OP', 'huy'], ['Abu', 'ohuel']] Нужно чтобы он записывался в txt файл. При вызове выводилось что-то вроде 1. OP - huy 2. Abu - ohuel Помогите пожалуйста.
Всем привет. Очень хочу в питон, сделал пару небольших проектов на джанго, чистым питоном улекаюсь, но entry-level вакансий вообще не могу найти, везде нужны сеньеры иди 3 года опыта. Что делать?
Пацаны, кореш попросил написать бот для флуда объявлениями на местном говносайте. Как это реализовать с помощью питона? Подскажите хотя бы в общих чертах. Респектую
Решил вкатиться в пайтон, и тут такая хуйня: >>> a='dick' >>> b='dick' >>> a is b True >>> a='dick dick' >>> b='dick dick' >>> a is b False
Как я понял, этот оператор дает True тогда, когда две переменных ссылаются на один объект в памяти. Вопрос: "дик" и "дик" — это на самом деле один "дик", а "дик дик" и "дик дик" — это уже два совершенно разных "дик дик"?
>>880210 Ну пишешь и на гитхаб выбрасываешь всякий охуенчик А потом говоришь что хочешь быть сеньором помидором, тебе говорят что не тянешь, но записывают в стремящиеся, а потом и берут куда-нибудь
>>880186 Как я понял, "а==b" сравнивает значения a и b, "a is b" проверяет, ссылаются ли a и b на один и тот же объект в памяти.
Я не понимаю, почему в случае со строкой "дик" переменные ссылаются на один объект, а в случае со строкой с пробелом ("дик дик") на два разных. Как по мне, и "дик", и "дик дик" — это просто строки. Почему пайтон так по-разному их фиксирует?
>>880217 да от блога зависит если он во все стороны срёт рестом и мамкешидся через рабитэмкю, авторизирует хоть через ежовуюзалупу_оаутх и свистопердит во все стороны всяким говном - блог так блог, всем похуй
>>880230 магаз бахни, какой-нибудь новостной сайт, имеющий кучу самых разных фич, бахни какую-нибудь хуйню, аккумулирующую контент с других сайтов (парсеры-хуярсеры). Приеблань чат на торнадо ко всему этому. Все вакансии твои.
>>880216 Тоже самое с интами больше 255 вроде. Короче, проверяй изом только на None или в тех ситуациях, когда ты точно знаешь, что ищешь вот этот инстанс вот в этом контейнере, например. Забудь о том, что питон что-то там оптимизирует и у тебя будут одинаковые ссылки на одинаковые объекты.
>>879513 Хули тут понимать. Работает как везде. Есть объекты - обособленные структуры данных +их методы(функции).
Может быть объект - Ононимус. Структура данных, в которой хранится несколько переменных - пол, имя, возраст, любимый раздел на борде.
Может быть объект - парсер. В нем - структура данных (шаблон для собсна парсинга конкретных сайтов) + методы объекта, реализующие сам процесс парсинга.
Что вообще значит - как работает? Задан класс (класс - это тоже "объект", по сути - шаблон для создания объектов, форма для отливки, лекало).
Класс это такой способ создания объектов в памяти компа. В частном случае например класс = тип. допустим есть класс(тип) "строка" или "целые числа". Конкретная переменная типа int - это объект.
"ооп" - по сути некий набор правил для создания сущностей/процессов в рамках написания и работы программы. Ебантяи лепят классы везде где можно, что нихуя не правильно по мнению создателей самого питона. Классы нужны там, где нельзя разумно обойтись тупо функциями. Т.е. нужны они для создания сложных объектов с замороченным поведением. В идеале при создании классов нужно руководствоваться предметной областью/реальными объектами в гештальте юзера. Класс "окно с кнопачками" в интерфейсе, класс "мобилка" или "транзакция" в интернет-магазине. https://habrahabr.ru/post/140581/
в питуне причем ООП реализован не идеально. Лично меня при начале изучения питуна выбесило нерациональное использование лексем при задании класса. Эта ебаная ненужная конструкция "def __init__" , self - выражения и так далее. Но люди привыкли.
Лично я предпочитаю смотреть на классы как на шаблон в коде, а на объекты - как на реально развивающийся процесс в оперативке. Процесс физический и информационный. Объект на уровне физики это некий обособленный набор состояний/"квантов энергии ЭМ-поля" в ячейках оперативной памяти компа.
Додик в треде, нужна помощь анончики. Есть один курсач: программа должна принимать много строчек текста, удалять в нем слова из stopWords и сокращать на -ing , -ed, -ly оставшиеся слова если они не находяться в noStemWords. Потом выводить частоту нахождения слов в тексте в виде: слово : строчка#, строчка#,... http://pastebin.com/aL341xG9 Я осилил создание словаря, но не могу понять как из этого словаря вытянуть каждый лист и повыкидывать из него stopWords и сократить на noStemWords.
>>880579 > Додик в треде, нужна помощь анончики. Есть один курсач: программа должна принимать много строчек текста, удалять в нем слова из stopWords и сокращать на -ing , -ed, -ly оставшиеся слова если они не находяться в noStemWords. Потом выводить частоту нахождения слов в тексте в виде: слово : строчка#, строчка#,... > http://pastebin.com/aL341xG9 > Я осилил создание словаря, но не могу понять как из этого словаря вытянуть каждый лист и повыкидывать из него stopWords и сократить на noStemWords. Очевидно Pandas
Есть список: list1=[['OP', 'huy'], ['Abu', 'ohuel']] Нужно чтобы он записывался в txt файл. При вызове выводилось что-то вроде 1. OP - huy 2. Abu - ohuel Помогите пожалуйста.
Знания на Junior Python DevАноним23/11/16 Срд 11:42:50#424№880747
Двач, помогай. Короче я тот чел который писал что не могу найти вакансию на жуниор питона. Сам написал в пару контор, что мол такой сякой, такое сякое умею, блог вот запилил, апишку на прошлой работе на питоне, с таким работал, возьмите за еду. Так вот, меня тут пригласили на встречу, а я хз что читать. SQL? Django? Требований как таковых нет, я сам написал, вакансий не было. Подскажите, что почитать для такого вот интервью?
>>880747 Джанго: почти наверняка будут спрашивать про generic views, модели, реляции, миддлвари. Питон: magic methods (что делают, как использовать), коллекции, декораторы, генераторы и что-то ещё. SQL: опять реляции, может попросят связать две таблицы many-to-many и т.д.
Полгода назад обошёл очень много контор по Python, но по мидловским вакансиям.
>>880747 Питухон: ООП, декораторы, лямбды, генераторы, списковые включения, что-то из стандартной либы типа итертулс, функтулс и т.п.
Джанго: База: что такое МВЦ, что такое модель, что такое кверисет, через что джанго пропускает запрос. Сигналы, мидлварь, класс-бейсд вьюхи, менеджеры. Что с Джанго-декораторами. Шаришь ли в рест-апи. Как дела с работой с голыми sql запросами. Q, F функции. Каким образом проводишь валидацию форм. Фабрики форм.
SQL: реляции, в чем разница между реляционными и нереляционными базами данных, мб попросят запилить что-нибудь простое.
>>880747 в довесок к вышесказанным советам. Я надеюсь, что ты не оподливишься, если тебя спросят, что такое стек, куча, и про сортировку пузырьком? База есть по алгоритмам и структурам данных?
Пытаюсь использовать генератор кортежа в python 2.7 и ни как не могу понять, почему он не хочет работать. В документации написано, что можно делать кортежи из других последовательностей, но получается херня какая-то.
К сути. Есть список кортежей из которых мне надо вытащить каждое первое значение каждого кортежа в списке.
Делаю вот так: [code lang="python"] >>> s = [(1, 2, 3, 4), (1, 2, 3, 4), (1, 2, 3, 4)] >>> t = (i[0] for i in s) >>> tuple(s) >>> ((1, 2, 3, 4), (1, 2, 3, 4), (1, 2, 3, 4)) [/code] Как так? Я же просил, только первое значение.
Причём для генератора списков всё ок: [code lang="python"] >>> s = [(1, 2, 3, 4), (1, 2, 3, 4), (1, 2, 3, 4)] >>> l = [i[0] for i in s] >>> l >>> [1, 1, 1] [/code]
Что я делаю не так? Почему со списками всё получается, а с кортежами нет? В принципе-то можно и списки использовать конечно, но хотелось бы разобраться.
>>880774 Думаю, анон миддлвари встроенные имеет в виду.
Приватность и инкапсуляцияАноним23/11/16 Срд 14:15:06#440№880821
Аноны, поясните за инкапсуляцию в питоне? Читаю одно - принято что приватные методы и поля называются с двумя нижними подчеркиваниями и все, читаю другое - пишут что инкапсуляция как то может быть реализована через getattr но я так и не понял как. Спасибо.
>>874631 (OP) Использую PyCharm. Сделал два файла, функцию из одного импортирую в другой. После того, как редактирую первый, с функцией, у меня во втором запускается старая функция. Помогает перезапуск PyCharm. Что можно сделать, чтобы изменения сразу вступали в силу ?
контекст процессоры вместо кастом тимплейт тагов - это слишком говнокод? Мне нужны постоянные формочки логина и пароля. Контекст процессор их грузит постоянно, а кастом тэги только при подгрузке в хтмл. Но я вообще не ебу, как это сделать в тэгах, а сделать нужно быстро. Слишком ли говнокод будет, ась?
>>881140 Как обычно сам себе отвечаю. В прокфайле делаем строку web: python manage.py runserver 0.0.0.0:5000 И все работает. и не надо обмазываться линуксами
>>881252 Асинхронщина это конечно хорошо, но для кучи хуйни можно обойтись и без неё. Джанга это способ клепать каштомные обычные сайтики в первую очередь, а уже потом мега-гипер-порталы с 100К посетителей в секунду
>>881263 потому что нода не меньшее заблуждение чем отсутствие встроенной асинхронщины в джанго, например. вон брекетс крутится внутри на ноде - и чё блядь, по-твоему это нормально, так пихать херовенько производительный жс во все дыры? тогда ебашь конечно
>>881272 Может конечно, просто к нам забижал на огонёк восторженный любитель ноды Это только вопрос времени когда он забежит ещё куда-нибудь, в с++ тред спрашивать зачем плюсы если есть божественная ниспосланная самим совершенством нода
>>880892 UP! Использую PyCharm. Сделал два файла, функцию из одного импортирую в другой. После того, как редактирую первый, с функцией, у меня во втором запускается старая функция. Помогает перезапуск PyCharm. Что можно сделать, чтобы изменения сразу вступали в силу ?
Что должно происходить: Есть словарь со значениями, по значениям считается магическое число. Далее вычисляется оптимизированное значение и заменяется в словаре. Если магическое число на предыдущем шаге совпадает с числом на данной итерации - усё приплыли, данное значение не имеет дальнейшей оптимизации и нужно переходить к следующему. То есть делать сдвиг в словаре. Я бы сделал всё через очевидный For, но вся эта хуйня зациклена в While как и должна быть. Идей сука пока ноль.
>>881437 Я вряд ли понял правильно, но попробуй скопировать ключи в кортеж или список и вытаскивать на каждой итерации с помощью pop(), или делай проход по индексу это списка/кортежа.
Я не подорвался. Я просто пошел в PyCharm сделал два файла. В одном функцию написал, во-втором импортировал её. Запустил файл с импортом - Всё заебись. Заменил функцию во-втором не нажимая ctrl+s и запустил первый файл - новый результат. Очевидно дело не в PyCharm.
Шаг 3. Если grad = temp_grad, значит нужно переключится на следующий элемент в словаре(изначально Yv) и начать Шаг 4 с новым элементом, Иначе Шаг 4 со старым элементом.
Шаг 4. temp_grad = grad.
Шаг 5. Оптимизируем 1 элемент в словаре - Yv.
Шаг 6. Повторяем всю поебень заново.
Очевидно что нужно пройти все этапы от 1 элемента словаря до последнего. Очевидно что каждый раз матрица будет меняться, поэтому всё это в цикле While. Очевидно, что если матрица меняется, то и градиент меняется.
>>881515 Как тебя вообще чёрт дёрнул в программинг влазить с таким настроем? ардуинка это копеечная затычка на тысячу дырок, а уж какие дырки ты себе придумаешь и определишь это дело твоё
>>881519 ну да, генильная идея делать включалки кофеварок и выключалки света по хлопку ладоней на рапсберри которое ещё и стоти в разы дороже тех трёх баксов за которые продаются ардуины
>>881525 >>881523 Веб, в моём понимании — сайтики/круды/js/ie6 и тому подобное. Микросервисы не имеют интерфейса (визуального). Это просто относительно разнесённые функциональные узлы, которые обмениваются данными по сети. Если ты и от этого устал, то не знаю.
Делаю одно из первых упражнений из книги Саммерфилда, задача — написать программу, которая будет генерировать компьютерные четверостишия с помощью списков. Вот код (слова в списках заменил на буквы, чтобы не занимать место):
from random import choice first=['a', 'b', 'c'] second=['a', 'b', 'c'] third=['a', 'b', 'c'] fourth=['a', 'b', 'c'] while True: for i in range(4): print (choice(first), choice(second), choice(third), choice(fourth)) choice=input('Enter for another poem, any key to quit: ') if not choice: pass else: break
Первый стих выводится на ура, но когда я нажимаю Enter, программа ломается вот так:
Traceback (most recent call last): File "poem.py", line 25, in <module> print (choice(first), choice(second), choice(third), choice(fourth)) TypeError: 'str' object is not callable
Совершенно не понимаю, что происходит. Добавил после while True строки, которые показывают содержимое и тип first, second, third, fourth, программа нормально показывает содержимое списков и определяет их как class 'list'.
>>881590 Ну, например: локатор, который говорит какой сервис где, менеджер базы данных с управлением блобами данных, воркеры с cpu работой, клиенты/операторы, источники данных да кучу всего ещё можно придумать.
>>881594 Так это вроде не к питону относится вообще. Это просто описание узлов, какой что примерно делает. Просто у питона есть asyncio, который позволяет кайфово общаться по сети, а также куча библиотек для всего. Клиенты, кстати, либо будут веб-мордами, либо десктоп аппами на каких-нибудь шарпах/крестах.
>>881596 >Просто у питона есть asyncio, который позволяет кайфово общаться по сети Что ты имеешь в виду? Полагаю, что для связи всех этих микросервисов в макросервис все равно используют всякие queues и rpc.
>>881601 И как это отрицает, что > Просто у питона есть asyncio, который позволяет кайфово общаться по сети Вместо потоков используются короутины вот и всё отличие. Ну, ещё отсутсвие части проблем с мутабельностью.
>>881652 Все упирается всего-то в предустановленных IDEA плагинах. Пикрелейтед моя профессиональная версия. В принципе, можно напердолить из комьюнити. Поддержка джанго - всего лишь плагин для автокомплита в шаблонизаторе, быстрый переход от вьюхи к шаблону и к маршруту. Поддержка manage.py команд - суть просто надстройка над рантаймом, но только с автокомплитом команд (удобно кстати). Делается самостоятельно в настройках. Поддержка css фреймворков/базовый JS тоже плагинами делается. Хотя, конечно, удобнее прошка. Если так уж хочешь пиратку- активируется в один(!) клик.
Ребят задам платиновый вопрос только не гоните ссаными, я как бы могу в кодинг, давно писал на питоне всякие мелкие штучки, ну нормальные, сложнее чем лаба1.py, иногда и до 3к строк доходило, но все это мелкие системные скрипты были. И вот сейчас я подумал что если попытаться вкатиться на работу? Есть ли перспективы у человека без образования в этом смысле? Где исаиь работу для опыта ибо на хх ни одной вакансии не видел где не было бы "опыт от года"?
Питонач, если мне нужно в Джанге заполнить данными таблицу для тестирования БД и функций вьюхи, можно как нибудь это автоматизировать? Я сейчас захожу в админку, тыкаю на таблицу и ввожу ручками ((((((((
Господа, что навернуть после кодакэдеми? Как перейти от задачек уровня лаб в институте до каких-то полезных вещей? Например, меня интересует изобретение велосипеда в виде Telnet/SSH клиента с нужными мне свистоперделками. Но как его захуячить, имея знания на уровне кодакэдеми, я понятия не имею. Что мне навернуть промежуточного?
>>881905 Очевидную стандартную библиотеку навернуть. Ссх пока что не потянешь написать, но ничего сверхсложного там нету. Научись сначала взаимодействовать с средствами ос, (tcp/ip), фс, процессы-треды, пайпы. Потом прочитай rfc ssh и пиши. Только несмотря на все готовые криптографические функции кое-что все равно надо будет понимать чтоб твой ссх решетом не был, хотя ссх на некомпилируемом языке со сборкой мусора уже слегка решето, если в идеале.
> Научись сначала взаимодействовать с средствами ос, (tcp/ip), фс, процессы-треды, пайпы. Вот, у меня даже нет идей, как этому научиться на практике. Равно как и даже сам интерфейс сделать. Пойду повешусь
>>881930 Чтож ты за аутист блять, ясен хуй что у тебя нет идей если ты не знаешь че это такое. Стивенс - tcp/ip и не благодари. Это если хочешь как батя разобраться. Чтоб простенько воткнуться в протоколы и сокеты можно и какой-нить кратенький гайд на 20 страничек почитать.
>>881938 эмм, прости, но за сетевые протоколы, маршрутизацию, коммутацию, туннели и прочее говно я сам тебе могу пояснить. Вопрос стоит не "что это такое?", а "как с ними взаимодействовать путем написания говнокода (а другого у меня не получится) на питоне"
У меня было 4 миллиона файлов распиханных по 1 миллиону папок. Надо было сделать индекс в памяти. Тупо дерево, повторяющее структуру ФС. Имена папок и файлов не длиннее 20 символов. Задача простая, и я решил дать питону шанс.
В первый раз я охуел когда сделал sys.getsizeof({}). На моей системе пустой дикт занимает 288 байтов. Дикт с 6 элементами уже 480. Затем я потестил пустую строку - sys.getsizeof(u''). 49 байтов. В результате я минимизировал использование диктов в пользу листов, заюзал слоты в объекте, представляющем ноду дерева, и всё равно имею оверхед по памяти в 5-10 раз по сравнению с тем, что имел бы на С. Нахуй так жить, котаны?
>>882739 Нет не жалко. ФС это та же БД, пусть трудится. Запихивать зеркало сайта с кучей контента в один файл противоестественно, потому что иногда хочется докачать новый контент или даже поднять веб-сервер.
Питонач, поясни пожалуйста тупому, а то гугл меня совсем запутал.
Установил я последний питон. Дальше нихуя не понимаю. Одни пишут что надо ставить DE, другие пишут что IDE, другие пишут что перед IDE надо ставить еще что-то (при том каждый своё предлагает установить). Просвятите пожалуйста.
Как собрать архив, в котором будут все питоновские либы, что бы в итоге можно было запустить все это дело на другом компе, как это сделано в sublime или taskcoach? Сирусли, как они это делают, я б мать продал
>>891060 что нравится тебе, то и ставь, не понимаю в чем вопрос. Поставь какой-нибудь pycharm/sublime text - и делов-то. Я вообще обычно копирую из консоли ipython в блокнотик, как дебил.
>>891436 >нравится тебе, то и ставь Спасибо за ответ, но мне пока еще ничего не может нравится так как я нихуя не понимаю в этих IDE и зачем они нужны. Вопрос про это был - какие компоненты и зачем нужны для нормального функционирования питона?
Прошлый: