Этого треда уже нет.
Это копия, сохраненная 12 декабря 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
#2 #874647
>>874631 (OP)
На фото слева: cpython
На фото справа: jython
>>874691
#3 #874650
Обзмеился и вкатился
#4 #874671
ебать оно срёт как буйвол
вся эта живность, котики-собачки там мимикательные, даже сраные змеи - и всё с говном блядь. кто в своём уме будет заводить живность что бы за ней говно убирать? нахуй оно надо? фу блядь

а теперь по теме треда:
хочу написать эдакую ленту новостей. добавлять штук 20-30 источников - страниц веб-сайтов с новостями и что бы оно всё вместе выгребало из них и складировало.
Что порекомендуете под эти цели?
#5 #874676
>>874671
requests
flask
brain
>>874683
#6 #874677
>>874671
Ну и re
#7 #874683
>>874671
интересует именно чем парсить/выгребать заголовки и как/куда/когда их проще складировать

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

>>874676

>brain


это ORM какая-то?
ну на реквестах и ре можно конечно, но чёт это муторно как-то звучит. особенно если редизайнут. мне бы что бы по x-path'у или типа того указать что за элементы на странице искать и пусть дальше само как-то.
>>874735>>874866
#8 #874690
пытаюсь проптимизировать вьюхи в джангоподелии на запросы к бд.
Три модели, Book, Author, Genre. В Book соответсвенно автору и жанру добавлены по одному ForeignField'у. В Genre и Author такой еболы нет. Есть вьюха, которая

params['book'] = Book.objects.select_related().get(id=book_id),

т.е одним запросом вытягивает все прицепленное к конкретной книге.
Есть еще 2 вьюхи которые выдают книги по Genre и по Author. Но там фокус с select_related не прокатывает, в итоге у меня вот такая срань

params['genre'] = Genre.objects.get(id=genre_id)
params['books'] = Book.objects.filter(genre=genre_id).

Мой вывод - Джанга обратную связь не может прохавать. Как быть?
>>874753>>874867
#9 #874691
>>874647
Чем jp хуже cp?
#10 #874731
>>874631 (OP)

Увидел в б такой тред, возник вопрос.

>ДОКУМЕНТОВ ИЗ ВК ТРЕД 2



>1) Заходим на пашка.com/docs


>2) Вводим в поиске или >дату(20161112) или стандартный >префикс для фото( DCIM, SRC и >тд)


>3) Просматриваем найденное


>4) Находим интересные фоточки >и кидаем в тред


>4) PROFIT!



>Как узнать id человека по >найденному документу:



>Адрес ссылки: >doc386641432_439078355 id - >386641432



А теперь внимание, вопрос - на питоне можно ли написать программу, которая будет сохранять имена файлов, которые находит по всем возможным запросам, в базу. А в ней уже искать по айди. То есть реально ли спарсить базу имен доков в вк?
>>874733
#11 #874733
>>874731

>написать


да

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


нет
#12 #874735
>>874683
У новостных сайтов часто RSS есть. Можешь парсить его. https://github.com/kurtmckee/feedparser Или другие либы поищи.
>>874744
#13 #874739
Повторю вопрос из предыдущего треда
Как юзать cython? Чем больше читаю, тем меньше понимаю, примеров кода что забавно, дохуя, но что с ним делать? Этот код запускать через сам питон? Его компилировать чем то? Код генерится из питоновского, или учить новый синтаксис? Нихуя не понятно, помогай анон
#14 #874744
>>874735
про фидпарсер знаю, спасибо, даже использовал разок.
Но парсить к сожалению надо не фиды, их у этих сайтов как правило нету.
>>874753
282 Кб, Webm
#15 #874748
>>874631 (OP)
Вот это господская колбаса! Увожаю! Наверное на джанги кодит!!!

https://gist.github.com/anonymous/96f220c2281c8a9e541d6d313ecf80ee

Зацените чуть более удобный классовый сниппет для Сублима.
>>874865>>875157
#16 #874753
>>874690
params['books'] = Genre.objects.get(id=genre_id).book_set.all()

>>874744
Ну если rss нету и API не предоставляют, то парсить HTML, что еще остается. С помощью BeautifulSoup, например. Придется подзадрочиться.
>>874760
#17 #874754
>>874739
Удваиваю, чет нихуя не врубаюсь в jpython, cpython, pypy какие-то блять, в чем разница, поясни анон
>>874784
#18 #874760
>>874753
Вот я и хотел узнать может есть какой-то уже подход к этому всему, что бы я не заёбывался лишний раз. Так-то конечно можно и на re + requests написать было бы, но заебусь же.

Нашёл вот такую плюшку: http://django-dynamic-scraper.readthedocs.io/en/latest/introduction.html попробую её.
>>874787
#19 #874784
>>874754
CPython - реализация языка Python на Си. То самое, что можно скачать с python.org. Дефолтная версия.
Cython - надмножество Python, которое компилируется в код на CPython C API. Позволяет мешать типизированный код на Си (или С++) и обыкновенный код на питоне. Результат можно скомпилировать в библиотеку для CPython. Так, например, написан numpy.
CPython C API - библиотека на Си для работы с интерпретатором CPython. Может то же самое, что и собственно Python. Используется, когда нужна скорость - можно написать важные места на Си или С++, обернуть их при помощи апи в питоний модуль и вызывать из интерпретатора.
Jython - реализация Python для JVM.
IronPython - реализация Python для .NET
#20 #874785
>>874784
UPD
PyPy - JIT-компилируемая реализация Python на CPython. Позволяет получать прирост производительности из ничего. Из минусов - возникают проблемы с популярными библиотеками CPython (нужно портировать). Часто это не стоит того, поскольку скорость CPython в основном всех устраивает.
>>874793>>879483
#21 #874787
>>874760

>Так-то конечно можно и на re + requests написать было бы


На всякий случай оставлю здесь предупреждение: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags
307 Кб, 873x1200
#22 #874793
#23 #874807
>>874784
Если я правильно понял, то коротко все сводится к тому, что если хочешь скорости, по учи с, затем импортируй этот код в питоновский скрипт?
>>874813>>874815
#24 #874812
>>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 начнет делать нормальные оптимизации и ускорит код.
>>874814
#25 #874813
#26 #874814
>>874812

>Питоний модуль вызывать из питоньего модуля


Питоний модуль вызывать из питоньего кода

>учить как синтаксис Си превращается в синтаксис Python


учить как синтаксис Си превращается в синтаксис Cython
#27 #874815
>>874807

> если хочешь скорости, то учи с.



Внимание на точку где-то вот тут ↑, которая знаменует конец предложения и означает законченность мысли.

мимо
>>874818
#28 #874818
>>874815
Тип того. Cython используется скорее для написания оберток и API к коду на Си, чем для самостоятельных оптимизаций.
120 Кб, 720x1280
#29 #874838
Питоняч, поясни долбоёбу
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)
Ругает пикрил. Чяднт?
>>874839>>874931
#30 #874839
>>874838

> b = random.randint(0,1) if a == 0 else b = 0


b = random.randint(0,1) if a == 0 else 0

>Чяднт?


http://pastebin.com/
>>874843
#31 #874843
>>874839
Спасибо
Понял, исправлюсь.
А если понадобится, допустим,
Если а==0 б=1 иначе с=1, то придется иф...елс строчить, в одну строчку никак?
>>874850
#32 #874850
>>874843

>в одну строчку никак?


locals()['b' if not a else 'c'] = 1
Но лучше конечно никогда так не делать, и if...else написать.
>>874856
#33 #874856
>>874850
Принято. Пойду дальше говнокодить)
#34 #874861
>>874671
Scrapy
36 Кб, 576x432
#35 #874865
>>874748
СХОРОНИЛ!
#36 #874866
>>874683

> x path


Тогда lxml.
Годная вещь, сам использовал.
#37 #874867
>>874690
.prefetch_related
#38 #874874
Как делать циклично вложения в json?
Типа такого:

{
"key" : {
"subkey" : {
"subkey" : {
...
}
}
}

}
>>874880
#39 #874877
Аноны, помогите.
http://pastebin.com/2LBAH15P
list - список чисел в строковом виде, максимальная длина элемента в списке известна.
Как распарсить полученный бинарник, для получения исходных данных?
>>874903
#40 #874880
>>874874
А как ты делаешь, что у тебя не получается? Делаешь дикт с такой структурой, дампаешь в джейсона.
>>874890
#41 #874890
>>874880
Как код нормально вставить сюда?

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

s = {"str" : ""}

sub = {"substr"}

s['str'] = sub

with open('test.json', 'w') as t:
json.dump(s, t, indent=4)
>>874904>>874906
#42 #874903
>>874877
Если не ошибаюсь, твой вариант слепит все биты вместе и потом ты хрен поймешь, где какое число.
Почему бы не попробовать bitstring.Bits(int=int(list), length=MAX_LIST_INT_LENGTH)?
>>874925
#43 #874904
>>874890
ideone, pastebin
#44 #874906
>>874890
https://gist.github.com/anonymous/1958413d178ac4f2732104e0a79e7461

>sub = {"substr"}


Это вообще set. Или конвертируй его в лист, чтобы в джейсона дампать или лучше дампай в пикуля, заодно и читаться быстрее будет.
>>875053
#45 #874925
>>874903

>Почему бы не попробовать bitstring.Bits(int=int(list), length=MAX_LIST_INT_LENGTH)?


Избыточность в записи.
Мне нужно как можно меньше битов потратить для записи, поэтому и записываю в бинарник.
>>874938
#46 #874931
Питоняч, на связи снова >>874838-кун
Внезапно оказалось что мой говнокод - хуйня и распределяет еденицу между а,б и с с вероятностью 50:25:25. В связи с чем вопрос: назначить еденицу одной из трёх переменных чтобы вероятности для каждой из переменных были равными?
#47 #874932
>>874931
как назначить
Быстрофикс
#48 #874935
>>874931
Придумал, уже не надо
>>874959
#49 #874938
>>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: Я не битоёб, так что мог знатно обосраться где угодно.
>>874943>>874954
#50 #874943
>>874938
Спасибо тебе!
>>874954
#51 #874954
>>874938
>>874943

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


>[биты_числа]{EOD}[биты_другого_числа]{EOD}


В этом случае биты числа надо еще закодировать так, чтобы EOD в них не встречался.
См. https://en.wikipedia.org/wiki/Bit_stuffing
18 Кб, 716x388
#52 #874958
Вопрос, с немного байтоебским уклоном.

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

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

Я уверен что они использовали уже что-то готовое для сериализации/десериализации.

Вопрос как может называться эта хуйбола?

Пишу на питоне, я думаю должна быть либа для этого или еще что. Не руками же они так делают.
#53 #874959
>>874931
>>874935
Наверняка какую-нибудь хуйню придумал. Смотри как надо:

https://gist.github.com/anonymous/05e7762ffb2a49c4943008953f1c9df9
>>874987
#54 #874975
Подскажите аутисту плез, какой стек технологий нужно знать, что бы нормально устроится джуном в веб разработку на питоне & Django?
>>874980>>875084
#55 #874980
>>874975
Питон и Джанго.
>>874986
#56 #874986
>>874980
Чтобы выучить стихотворение нужно выучить русские буковы и стихотворение.
#57 #874987
>>874959
Точняк, массивом значительно короче 3 строки вместо моих 10
спасибо, анон!
#58 #874993
>>874958

>Я уверен что они использовали уже что-то готовое для сериализации/десериализации.


На 99% уверен, что нет.
Как будет парсится строка 'Humans2Man3Hui12cm2Woman3IQ653Tits4Size'
? Возможны , конечно, эскейп-символы всякие.
Но зачем, если есть JSON или MessagePack
>>875051
#59 #875027
Интересно, чем пахнет.
#60 #875051
>>874993

>Как будет парсится строка 'Humans2Man3Hui12cm2Woman3IQ653Tits4Size'


>?



Ты внимательно посмотри, там же не числа, а байты. Соответственно твоя строка вообще никак парсится не будет.
Но вот такая будет:

Humans\x02Man\x03Hui12cm\x02Woman\x03IQ65\x03Tits\x04Size

Соответсвенно уровень вложенности, где-то до символа пробела с кодом 0x20, потому что дальше уже начинаются печатаемые символы, которые могут быть использованы
>>875120
#61 #875053
>>874906

Мне не понятно, как это автоматизировать в цикле.
Другими словами, как создать вложенный словарь в цикле с заданной глубиной вложенности?
>>875124
51 Кб, 321x460
#62 #875058
Переписываю примеры из pysdl2 на воображаемый игровой движок с минимумом бойлерплейта. Занятие интересное. Зацените, какая няша:

Хэллоуворлды:
https://gist.github.com/anonymous/3fc21dc051ebcaf68ae7a5c40bd1f1df

Понги:
https://gist.github.com/anonymous/21827ca804f5976c2663ae09b4b54e30

Он такой красивый, удобный, питоничный. Мой манядвижок.
>>879514
#63 #875084
>>874975
cgi интерфейсы. orm и sql, хотя бы git и уметь в virtualenv, хорошо понимать как работает что-то в пайтоне. Напишешь callable декоратор - уже хорошо.
>>875105
#64 #875104
>>874958
Для начала: тебе приходит именно строка в виде 16-ричных значений или как-то иначе?
>>875117
#65 #875105
>>875084
Хех, только что-то глянул вакансии моего города(картохо-дс), и такого набора не хватит.
з.ы. хотя для фриланса - самое то.
мимо-другой-пистонист
23 Кб, 593x619
#66 #875117
>>875104
Мне приходит бинарный блоб, который нужно распарсить, выкинуть не нужное, а потом построить граф всех возможных путей.
Сразу скажу что на серверную часть я повлиять никак не могу.

Вот распарсил таким быдлокодом, но мне пойдет.

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

На выходе у меня просто лист всех возможных значений, типа:
Food>Fruit>Apple
Food>Fruit>Banana
Food>Vegetable>Carrot

И это хорошо, потому что я могу дальше регэкспом убрать все ненужное.

И только потом строить граф.
>>875138
#67 #875119
>>874958
Какому типу данных должен соответствовать узел на этой диаграмме - dict, TreeNode?
Какой тип данных у листьев?

Если всё хуячить диктами, то получается так:
http://pastebin.com/yn4eyYPJ
>>875123>>875124
#68 #875120
>>875051
Да, ты прав. Но наличие ограничения на 31 уровень (до 0x20) уже говорит о велосипедо-костыльности этого протокола.
#69 #875121
>>874958
Короч напиши ожидаемый Json для своего примера.
#70 #875123
>>875119
У тебя все правильно.
Тип данных на усмотрение.
#71 #875124
#72 #875138
>>875117
Почитай про hexdump, может поможет тебе(с парсингом).
С а с этим...попробуй подумать над словарём, в который будут вводится значения на соответствующий "уровень"(уровень определяется цифрой после слова), и в ключи к этому слову гонит всё что имеет "ранг" пониже, если встречает такой же уровень - создаёт новый элемент и т.д. и т.п.
#73 #875149
Вброшу животрепещущий вопрос:
Зачем в питоне кортежи?
>>875153
#74 #875153
>>875149
immutable списки же
#75 #875157

>>8>>874748


Скажите, что за наклонный шрифт?
Я такой-же хочу.
>>875395
#76 #875165
Как сделать так, чтобы число оставалось с 4 знаками после запятой? Даже если их больше или меньше, все равно чтоб было 4
#77 #875166
>>875165
Round тут не подойдет, ведь он именно округляет
#78 #875172
Привет, аноны. Пишу программу для себя. Так вот, как мне сделать так, чтобы я в консоли вводил функцию один раз, а программа потом подставляла в нее аргументы? программа должна работать с любыми мат функциями, понятными питону.. А то не хочется каждую новую функцию в самом коде менять.
>>875200
#79 #875194
>>875165
import re
def solution(n):
pattern = re.compile(",[?!,.]{4}")
if pattern.search(str(n)):
return n
if '<' or '>':
return 4
>>875197
#80 #875196
>>875165
y = float("{0:.4f}".format(x))
>>875197
#81 #875197
>>875196
>>875194
Спасибо =*
#82 #875200
>>875172
func_text = raw_input('Vv3dite Funkciju:')
func = eval('lambda x:' + func_text)
for x in range(0, 10):
print(func(x))
>>875218>>875219
#83 #875216
Здрасте, а в питоне есть возможность управлять отдельными пикселями (или какой-нибудь схожий функционал)? Захотелось заново изобрести велосипед
>>875397
#84 #875218
>>875200
А как мне туда мои аргументы, для которых я решаю функцию, подставить?
>>875219
#85 #875219
>>875218
>>875200
А, вроде разобрался.
#86 #875233
Питон срет как буйвол потому что сред довольно редко.
мимохозяинпитона
>>876467
#87 #875241
Аноны,хочу написать бот для клиентской ммо на питоне,в интренете нашел лишь библиотеку Ghost ,для эмуляции работы пользователя.
Может кто сталкивался или интересовался подобным?
>>875246
#88 #875246
>>875241
И что тебе не нравится? Боты по большей части так и работают.
>>875248
#89 #875248
>>875246
Я довольно зеленый в Python ,кроме веба ничего не делал. Хотел запросить гайдов или примеров подобного .
#90 #875268
Вот есть у меня готовый сайт на джанге, который с темплейтами работает, то есть фронт генерит сам. Теоретически, чтобы перевести его на django-rest-framework мне надо будет переделать только вьюхи и заняться фронтом на жс, так ведь? Просто мне надо освоить rest и я думаю насколько сложно это будет сделать на основе моего текущего тестового проекта.
#91 #875288
>>875268
Я диванный, но думаю да. Достаточно возвращать вместо рендерреспонса json с контекстом. Дальше клиентсайд будет парсить это дело. В lightweight django было немного про SPA на ресте и AJAX.
#92 #875290
>>875268
Погляди Джанго бай экзампл, там было годно о ресте расписано чё к чему
#93 #875304
>>875268
Еще тебе надо будет написать некоторое количество сериализаторов.
У django rest framework (далее DRF) есть годная фича, называется рендереры.
Среди них есть TemplateHTMLRenderer - рендерит в HTML, используя стандартный механизм Джанго.
Можешь на первых порах его использовать, если не хочешь сразу лезть в JS.
>>879522
#94 #875305
>>875268
Существующие вьюхи можно не переделывать. Просто пишешь API на DRF, который будет использовтаь твой фронт на жс.
#95 #875395
>>875157
Consolas это всё. Стандартный виндовый моножир.
#96 #875397
>>875216
pysdl2?
#97 #875469
Отличная шапка, еб вашу мать. Я чуть не блеванул.
>>875473
#98 #875473
>>875469
А что с ней? Или ты не про шапку, а про оппик с говном?
>>875478
#99 #875478
>>875473
про оппик
#100 #875493
>>874631 (OP)
Посоны, есть небольшое приложение на cgi скриптах. Фронтенд на javascript, backend собственно питон и постгрес. Ну так вот, делаю запрос к базе и мне в консоль браузера приходит строка в escaped unicode

b'\xd0\x9e\xd0\xa8\xd0\x98\xd0\x91\xd0\x9a\xd0\x90: \xd0\xbf\xd0\xbe\xd0\xb2\xd1\x82\xd0\xbe\xd1\x80\xd1\x8f\xd1\x8e\xd1\x89\xd0\xb5\xd0\xb5\xd1\x81\xd1\x8f \xd0\xb7\xd0\xbd\xd0\xb0\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xba\xd0\xbb\xd1\x8e\xd1\x87\xd0\xb0 \xd0\xbd\xd0\xb0\xd1\x80\xd1\x83\xd1\x88\xd0\xb0\xd0\xb5\xd1\x82 \xd0\xbe\xd0\xb3\xd1\x80\xd0\xb0\xd0\xbd\xd0\xb8\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd1\x83\xd0\xbd\xd0\xb8\xd0\xba\xd0\xb0\xd0\xbb\xd1\x8c\xd0\xbd\xd0\xbe\xd1\x81\xd1\x82\xd0\xb8 "polygons_geom_key"\nDETAIL: \xd0\x9a\xd0\xbb\xd1\x8e\xd1\x87 "(geom)=(0103000020E6100000010000000500000001000080AECD4240D8F2D8F65DDD4B40010000007CCB42403D54684298DA4B4001000080BCCE42403CF478FEF0DA4B40010000002DCF42404F1E9642DFDC4B4001000080AECD4240D8F2D8F65DDD4B40)" \xd1\x83\xd0\xb6\xd0\xb5 \xd1\x81\xd1\x83\xd1\x89\xd0\xb5\xd1\x81\xd1\x82\xd0\xb2\xd1\x83\xd0\xb5\xd1\x82.\n'

Как её сделать человекочитаемой?
#101 #875496
>>875493
'ОШИБКА: повторяющееся значение ключа нарушает ограничение уникальности "polygons_geom_key"\nDETAIL: Ключ "(geom)=(0103000020E6100000010000000500000001000080AECD4240D8F2D8F65DDD4B40010000007
CCB42403D54684298DA4B4001000080BCCE42403CF478FEF0DA4B40010000002DCF42404F1E9642DFDC4B4001000080AECD4240D8F2D8F65DDD4B40)" уже существует.\n'
Если в консоль браузера, то тебе в js тред.
#102 #875511
>>875493
string.decode('utf-8')
>>875537
10 Кб, 1661x94
#103 #875537
>>875511
pic
>>875493
Попробую, конечно, там спросить. Спасибо.
>>875544
#104 #875544
>>875537
Это питонья инструкция же.
#105 #875607
учу djangо, polls app официальной документации. подтупливаю на строчке:
from . import views
анон, что за . после Import? для чего служит .?
Я с импортами разобрался, но что за точка и какие функции выполняет разобраться не могу.
#106 #875609
Ньюфаг вкатился, как ускорить обработку большого файла? Файл реально большой, >8 гигов.
Аноним #107 #875614
>>875609
goole://python read large file threads
#108 #875616
>>875607

>Я с импортами разобрался


Не разобрался, если у тебя такой вопрос возникает. Иди дальше изучай импорты, особенно в 3-м Питоне.
#109 #875617
>>875609
Порезать на части - Обработать части параллельно - Склеить результат.
>>875619
#110 #875618
>>875607
. - это "отсюда" в никсах
из той же папки имеется ввиду
>>876025
#111 #875619
>>875617
Скорее всего так и сделаю
#112 #875844
Сап, питонач, нуб в треде. Нужно резко вкатиться в питон, т.к. надо для проекта написать поисковик. С кодом разберусь, но нужно как-то запилить локальный веб сервер. В гугле нормальной инфы не нашёл. Объясните аутисту как запилить локальный веб-сервер, который бы исполнял питоновский код и поддерживал БД
>>875852>>875909
Аноним #113 #875852
>>875844
google://python web stack
57 Кб, 670x446
#114 #875899
Анон, объясни про пердолинг с двумя версиями питона.
Дано: я учу джангу и одновременно перекатываюсь под линукс, есть 2.7 и 3.5, вся работа с джангой проходит в виртуальном окружении (там стоит 3.5). Для удобства через -update-alternatives поставил дефолтной третью версию питона может это и есть причина происходящего?.
При попытке установки некоторых пакетов (Weasyprint) pip сыпет ошибками, а вот под 2.7 ставиться все нормально.
1) Я правильно понимаю, что у меня сейчас два стула: или мучиться с установкой нужных пакетов под 3.5 или переходить на 2.7?
2) Исходя из такой поддержки 3.5, получается, большинство джангопроектов пишутся на 2.7?
>>875910>>876063
#115 #875909
>>875844
фласк глянь
#116 #875910
>>875899
Гугли пакеты, которые ошибками стреляют. Почти на все есть форк под 3.х.
#117 #876025
>>875618
не понял
#118 #876063
>>875899
pip3 install
422 Кб, 900x596
#119 #876095
Анончик, как с помощью 'python' можно заморозить/приостановить процесс (windows,linux)?
>>876163
#120 #876101
>>875607
Проще говоря, в папках есть файл '__init__.py', преобразующий папку в "пакет", из которого можно импортировать файлы, не пердолясь через 'sys.path.append('. . .')'.
#121 #876163
>>876095
дрочи os из либы питона и windows hooks для винды. Для пинукса не знаю как там это устроено
#122 #876465
Как записать в файл поток ввода?
т.е. как писать в файл то, что я ввожу в командную строку?
>>876507
#123 #876467
>>875233
Гвидо, ты?
#124 #876468
asdasdasd
#125 #876507
>>876465
виз опен("файл.ткст", "в") эс ф: ф.врайт(инпут())
>>876513
#126 #876513
>>876507
Не не.
Не чтоб записать нечто один раз в файл.
А чтоб перенаправить весь поток ввода в файл.
#127 #876514
>>876513
Тебя гуглу не научили?
>>876522
#128 #876515
>>876513
http://ru.stackoverflow.com/questions/495848/Перенаправление-sys-stdout-в-файл
Заебали блять немощные. Вы бы хоть перед тем как спросить сходили в гугл.
>>876522
#129 #876518
>>876513

Под винду есть модуль msvcrt. Под линух есть альтернативы этому модулю.

виз опен("файл.ткст", "в") эс ф: вайл Тру: ф.врайт(мсвцрт.гетч())
12 Кб, 833x286
321 Кб, 1229x1024
78 Кб, 862x695
#130 #876522
>>876514
>>876515
Господа прошу не бомбить.
Гуглом я пользоваться умею, но видимо задавать вопросы не способен чтоб выразить желаемое.
Имелся в виду не поток, а вообще - всё происходящее в консоли.
Т.е. все выражения, утверждения, трейсбеки, ошибки - весь консольный текст. С потоками давно разобрался. Т.е. есть дохуя способов записывать вывод в файл - через логгер, через всякие модули типа code, через перенаправление потоков. Это всё есть в гуглах и книжках. НО

В качестве подзадачи я хочу логгировать строки, которые посылаются интерпретатору. В том числе - неправильные выражения.
Пишу import msvcrt - и это выражение чтоб записать в строку.
Пишу impoooort Chlen - чтоб это тоже сначала писалось в строку, а потом уже выполнялось интерпретатором. Причем ошибку которую он выдаст я перехватывать умею.

Я пробовал копаться в _io библиотеке, но пока не хватает сноровки разбираться что там к чему.
Пробовал получить доступ к буфферу StringIO и к буферам потока - но тоже не вышло нихуя.
Одно из решений - организовать REPL
типа

иф __нэйм__ = "__мэин__"
вайл тру
консол_инпут=инпут(">>>>>")
exec(консол_инпут)
эксепшены всякие чтоб не слетел цикл если выражение я ввёл неправильно

Но интересует - есть ли другой способ через получение доступа к функционалу самого интерпретатора?

Вот сука есть "файл" <stdin> - я не понимаю как устроена работа с этим потоком.
Читаю Лутца - он приводит кучу способов перенаправления потоков.
Т.е. можно в стдин запихать строки из файла, аутпут из другого процесса.
По умолчанию в стдин пихается поток символов с клавиатуры.
А КАК МНЕ, не создавая полноценный кейлоггер, писать в файл подчеркнутую Оранжевым хуйню?
12 Кб, 833x286
321 Кб, 1229x1024
78 Кб, 862x695
#130 #876522
>>876514
>>876515
Господа прошу не бомбить.
Гуглом я пользоваться умею, но видимо задавать вопросы не способен чтоб выразить желаемое.
Имелся в виду не поток, а вообще - всё происходящее в консоли.
Т.е. все выражения, утверждения, трейсбеки, ошибки - весь консольный текст. С потоками давно разобрался. Т.е. есть дохуя способов записывать вывод в файл - через логгер, через всякие модули типа code, через перенаправление потоков. Это всё есть в гуглах и книжках. НО

В качестве подзадачи я хочу логгировать строки, которые посылаются интерпретатору. В том числе - неправильные выражения.
Пишу import msvcrt - и это выражение чтоб записать в строку.
Пишу impoooort Chlen - чтоб это тоже сначала писалось в строку, а потом уже выполнялось интерпретатором. Причем ошибку которую он выдаст я перехватывать умею.

Я пробовал копаться в _io библиотеке, но пока не хватает сноровки разбираться что там к чему.
Пробовал получить доступ к буфферу StringIO и к буферам потока - но тоже не вышло нихуя.
Одно из решений - организовать REPL
типа

иф __нэйм__ = "__мэин__"
вайл тру
консол_инпут=инпут(">>>>>")
exec(консол_инпут)
эксепшены всякие чтоб не слетел цикл если выражение я ввёл неправильно

Но интересует - есть ли другой способ через получение доступа к функционалу самого интерпретатора?

Вот сука есть "файл" <stdin> - я не понимаю как устроена работа с этим потоком.
Читаю Лутца - он приводит кучу способов перенаправления потоков.
Т.е. можно в стдин запихать строки из файла, аутпут из другого процесса.
По умолчанию в стдин пихается поток символов с клавиатуры.
А КАК МНЕ, не создавая полноценный кейлоггер, писать в файл подчеркнутую Оранжевым хуйню?
>>876590
#131 #876561
еще есть вариант с pyreadline
Но это ебаный костыль.

Нужно значит кейлогер ебашить.
#132 #876590
>>876522
Почитай про tee.
Простой вариант решать твою проблему - написать скрипт, который будет работать аналогично tee. и вставить в поток stdin и stdout+stderr.
it -> tee(1) -> process (join stderr with stdout) -> tee(2) -> stdout
Ну или сделай класс потока, который помимо основной задачи ещё и логирует, и заверни в него потоки stdin и stdout.
>>876598
#133 #876598
>>876590
А ещё есть такая штука как logging.StreamHandler.
Возможно проще всего будет её навесить на потоки.
#134 #876665
Изначально есть строка вида:
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.
>>876676>>876677
#135 #876676
>>876665
string.replace('\n', '<br>') или <pre>...</pre>
а вообще стыдно должно быть такие вопросы задавать
>>876948
#136 #876677
#137 #876733
Петян, немного не пойму про скоп.
вот пишу я некоторое говно и замечаю, что
шапка у половины скриптов одна и таже, то
есть нужно как-то там инициализироваться,
сделать препроцессинг и всё такое короче.
и решаю, что всю эту хуйню можно было бы
вывести в отдельный файл, а потом делать
импорт всего этого.

так вот есть два файла:
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, но что-то не работает
оно через импорт.

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

так вот есть два файла:
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, но что-то не работает
оно через импорт.

помогай!
#138 #876745
>>876733
import a

print(a.foobar)
a.init()
print(a.foobar)
#139 #876746
>>876733>>876745
foobar = []
def init():
global foobar
foobar=[1,2,3]
>>876953>>877524
269 Кб, 880x960
#140 #876751
Сап питонач
Есть ли тут falcon guru??

очень нужен адекватный применр несложного, но красивого RESTful api, написаного на этом ЧУДО-фреймворке. всем плюсы в карму и звезды на гитхабе
>>876771>>877084
#141 #876763
>>874631 (OP)
Аноны, меня немного отталкивает отсутствие явной декларации переменных в питоне, есть ли что-нибудь вроде линтера, который будет кидать ошибку, если не увидит переменную в коментарии типа
# variables some_value
?
#142 #876771
>>876751

> несложного, но красивого RESTful api


У них тутор есть на сайте
#143 #876785
>>874631 (OP)
Как сделать чтобы ОНО : {{ a = input("a = " ); b = input("b = " ); c = (a + b); print(a, b, c) }} считало значение "С", а не тупо выдавало "AB" подряд?
>>876792
#144 #876786
Сап, пишу корявый генератор случайных чисел методов серединных квадратов. То есть:
есть например число 0,6311, мы узнаем его квадрат (0,39828721), и берем у него средину - 0,39828721 . Это и будет наше случайное число. ну и так дальше, отталкиваясь от предыдущего числа. Я тут немножко наговнокодил http://pastebin.com/vc7pvRxR , и всё работает нормально, но если генерировать больше тысячи чисел, то начинают вылазить какие-то экстеншены, непонятные мне как новичку. Помогите разобраться пожалуйста.
>>876830>>876831
#145 #876792
>>876785
Нужно строки перевести в числа

>a = int(input("a = " ))

>>876794
#146 #876794
>>876792
Спасибо!
30 минут почитал самоучитель и решил сам что-нибудь налепить, но видимо надо еще вникать.
#147 #876830
>>876786
Ты превышаешь лимит на глубину рекурсии. Это значение можно изменить, но лучше переписать код так, чтобы от рекурсии вообще избавиться. Использовать цикл, например http://pastebin.com/Jfr92nwj
>>876833
#148 #876831
>>876786

>RecursionError: maximum recursion depth exceeded while getting the str of an object


Что непонятного?
Когда ты вызываешь функцию, текущие значения переменных сохраняются, потому что предполагается что ты сюда ещё вернёшься. Поэтому ты не можешь вызвать функцию, из неё ещё одну, из той ещё одну и так до бесконечности - память закончится. Поэтому введено ограничение на глубину рекурсивных вызовов.
Используй цикл вместо рекурсии, или пиши yield.
>>876833
#149 #876833
>>876830
>>876831
Понял, не знал даже что есть такое. Спасибо вам
#150 #876898
Прошел КодАкадемию и собственно подскажите где или что читать, чтобы можно было делать практику и можно было так же её проверить ?
>>876903
#151 #876903
>>876898
Нигде
Олимпиадки можешь порешать на питонтутор, поиграться в однострочники на кодварс
Но лучше наверни стандартные укус+синк пайтон и потребность в твоем запросе отпадет
>>876907>>876913
#152 #876907
>>876903
Спасибо.
#153 #876913
>>876903
think для 2.x или только его и стоит дрочить ? или все-таки 3.0 из хипстерского, превратился в рабочую лошадку ?
>>876915
#154 #876915
>>876913
Да пиши сразу на тройке, там разницы не дофига
(Честно не помню на 2 или 3 синк, я думал 3)
>>876916
#155 #876916
>>876915
С другой то и то может понадобиться, все равно спасибо.
>>876924
#156 #876924
>>876916
Я учился на двойке, а писал только на тройке. Двойка с тех пор ни разу не пригодилась, но и мук перехода я не испытывал ни единого раза.
Синк - охуенная и одна из самых полезных книг для вката в питон. Хочешь понять где его использовать и как - читай. А на версию похую.
>>876983
#157 #876948
>>876676
Ну, я не особо силён в этом.
Но раз вы сильны, тогда ласт вопрос: он ещё и пробелы съедает, что делать?
Условия те же.
#158 #876953
>>876746
нет, так не работает.

>>876745
так работает, но я не хочу неймспейс а,
надо по хардкору так ебашить, без имени.
>>877415
#159 #876983
>>876924

> мук перехода


Хули там сложного, если тебе легаси не нужно поддерживать?
>>877027
#160 #877027
>>876983
Именно
#161 #877084
>>876751
Вообще, суть фалкона - это какая-то альтернатива сервлетам из джавы, где ты создаёшь ресурсы, биндишь их на какой-либо урл и обрабатываешь с них определенные запросы по интерфейсу (on_post, on_get, on_delete, етц).
Причем все это одна большая абстракция.

Вообще мне в этом плане больше бутылка нравится.
#162 #877167
Для Питона есть батарейка, реализующая маршалинг/анмаршалинг JSON как в Go? Ну, указал для каждого поля соответствующий элемент JSON-объекта — и всё дальше автоматически парсится без промежуточного словаря, не отжирая миллионы лишней памяти на больших документах. Вижу примерно, как это на ijson построить, но боюсь велосипед сгородить.
>>877251
#163 #877251
>>877167
Можешь расширить
https://docs.python.org/2/library/json.html#json.JSONDecoder
А так наверняка кто-то уже написал подобное.
#164 #877276
Сап анон, нужно авторизироваться на сайте через стим. Как это вообще происходит?
Тебя перенаправляет на стимовскую авторизацию, там ты авторизируешь, затем тебе приходит токен, и этот токен ты передаешь сайту?
#165 #877295
Аноны, как считать из файла первые несколько бит и удалить их оттуда?
#166 #877297
А есть ли Пистон Джуны ?
>>877328
#167 #877328
>>877297
а есть
>>877354
993 Кб, 500x272
#168 #877354
>>877328
Ну как приложение к JS, может быть, сдается мне что кто-то тут "врете" провоцирует.
#169 #877360
>>874631 (OP)
Аноны, я девелопер с 5+ опыта и появилось время для изучения 1 нового языка чисто для общего развития. Сижу сейчас на 1 стэке технологий и в принципе python для моих задач в мобильной разработке не подходит но есть желание узнать почему этот язык так хорошо набрал популярность за последние 10 лет ну и вообще расскажите в каких отраслях и сферах python применяется(кроме математики)
PS: в Java стэк ебал я в рот вкатываться
>>877374>>877411
#170 #877374
>>877360

>я девелопер с 5+ опыта


>А защем пистон то нужен, хлопцы ?

>>877382
117 Кб, 673x536
117 Кб, 673x536
#171 #877376
Есть решение этой задачи. В начале года это решение мне дали в одной из питон тредов, кажется. Но я сейчас нихуя не понимаю, в чем суть этого решения и что вообще происходит. Может кто-нибудь объяснить ?
>>877379
17 Кб, 464x768
#172 #877379
>>877376
Проебалось само решение. Два принта внутри функции я сам написал, чтобы понять что происходит
>>877464>>877740
#173 #877382
>>877374
съеби зелень
каждый инструмент для своих задач
Теоретически все можно описать и 1-м ЯП но на каких-то языках различные задачи будут реализованы изящнее и читабельнее
Меня этот момент интересует. Что python умеет делать лучше других и в чем конкретно
323 Кб, 1434x1008
147 Кб, 651x564
#174 #877387
"не является внутренней или внешней командой, исполняемой программой или пакетным файлом"
Не пойму, как фиксить.
>>877397
#175 #877388
>>877382

>Что python умеет делать лучше других и в чем конкретно


Ничего. Раскручен Гуглом.
>>877401
#176 #877397
>>877387
%SystemRoot%\System32
%SystemRoot%
%SystemRoot%\System32\Wbem
в path-e прописал помимо пути к самому питону та же хуета
#177 #877401
>>877388
ясно понятно.
Увидел множественное наследование и отсутствие дженериков - убежал в ужасе.
#178 #877402
>>877382
Учи Хачкелл или С/С++ подобные, лучше чем такой же ОПП-шный пистон.
>>877785
#179 #877404
>>877382
не знаю как насчет лучше остальных, так как знаю только питон, а вот для вкатывания идеален из-за своей простоты и распространенности. могу ошибаться. трогал js, perl, pascal.
#180 #877411
>>877360
ебашь Си, хули ты тут жмёшься, как вошь?
>>877785
#181 #877415
>>876953
>>876733

Петян, помогай.
>>877435
#182 #877435
>>877415
Почему не сделать наследование классов, но вместо этого ебаться с двумя подключаемыми модулями ? Просто чем дальше в лес тем охуеешь ты NN модулей для простых функций делать, вместо того что бы уже создать КласНейм(БейзКласс): хочешь те же функции из БейзКласса, хочешь можешь их же переиначить, хочешь можешь через даже после подкрутки вызвать исходную функцию c помощью return super . Просто спрашиваю. Я бомж если что .
>>877437>>877447
#183 #877437
>>877435
вот писал и забыл экранированый \ впаять, тю.
#184 #877447
>>877435
ну это куча системных скриптов, старая школа, ебашу императивно по хардкору, нахуй мне классы, не одноклассники же.

пока работает так, что нужно делать импорт всего, вызывать init() и опять импортировать всё. ну не пиздец ли?
>>877451
#185 #877451
>>877447
А как оно должно быть ?
Написал from ... import ...
И вауля, пустая функция без объявления данных извне должна дать результат ? Ну сам посуди что нужно как минимум два модуля импортировать, значит проще все это написать в одном в через банальные классы.
#186 #877454
>>876733
Че-то я нихуя не понял в чем у тебя проблема, анончик, но функция же должна возвращать что-то, правильно?

типа
def init():
....foobar=[1,2,3]
....return foobar

и в workwork.py ты типа делаешь
from vsja_huina import *
foobar = init()

не?
>>877461
#187 #877461
>>877454
нет, функция инициализации, она накидает там в глобальные переменные то, что нужно.

есть файл xxx.py:
foobar = []
def init():
global foobar
foobar = [1,2,3,4]

если теперь импортировать всё
из ххх вот что получается:

>> from xxx import


>> foobar


[]

>> init()


>> foobar


[]

>> from xxx import


>> foobar


[1,2,3,4]

видишь, только при повторном импорте у меня фубар не пустой.
>>877463>>877472
#188 #877463
>>877461
ох ты бля, звёздочки проебались

from xxx import *
#189 #877464
>>877379
Светлая тема? Ебать ты изващенец
#190 #877469
Суть такова есть стража дворца : есть массив в котором лежат математически операторы в виде строки. Как так сделать, что бы их можно было использовать в качестве операторов? Пусть будет список вида [1, '/' , 2], как мне поделить один на два, создавать функции для каждого оператора или есть более компактное решение?
105 Кб, 1769x346
#191 #877470
Что не так? Как пользоваться этим импортом поцоны?
>>877474
#192 #877472
>>877461
А, кажется понял тебя.
Тогда может быть вот так?

foobar = []
def init():
....global foobar
....foobar = [1,2,3,4]
init()

Во время импорта всей хуйни из модуля, вызывается функция init(). Таким образом, тебе будет доступна уже измененная переменная foobar.
>>877488
#193 #877474
>>877470
.py удоли
>>877475
150 Кб, 1769x346
#194 #877475
>>877474
ты про это?
>>877478>>877498
#195 #877478
>>877475
Не заметил сразу. Все в одной папке лежит? Только чоо проверил, у меня работает
>>877479>>877485
48 Кб, 671x419
#196 #877479
>>877478

>> Все в одной папке лежит?


да
>>877481
#197 #877480
>>877469
это у тебя ификсная запись, привычная человекам, но ты можешь использовать постфиксную [2,2,'+'] или префиксную ['+',2,2] запись. и просто идти по массиву выполняя операции
>>877484
#198 #877481
>>877479
постой - постой
"всё" - это...?
#199 #877484
>>877480
Не понял, как мне этот лисп поможет совершить операцию, при помощи строки содержащей операцию? Можно примерчик?
>>877504
#200 #877485
>>877478
в чем хоть причина может быть?
>>877492>>877496
#201 #877486
>>877469
Создавать функции безопаснее и эффективнее, но если ты любишь погрязнее то есть функция eval
>>877491
#202 #877488
>>877472
ну да, так конечно оно будет работать. но меня просто удивило такое поведение. хотелось бы, конечно, иметь возможность вызывать инициализацию по своему усмотрению, иначе можно б было и не заворачивать всё в отдельную фукнцию, а так побросать, хули, не жалко.
>>877520
#203 #877491
>>877486
{op: eval('lambda a, b: a' + op + 'b') for op in ['+', '-', '*', '/']}
>>877499
#204 #877492
>>877485
Покажи что ли код скрипта из которого ты вызываешь script1
#205 #877494
>>877469
Я написал для тебя охуенный калькулятор. Вот он - https://ideone.com/TVusa5
Остальные операции сам добавь.
>>877497
#206 #877496
>>877485

>если запустить интерактивный сеанс работы


То есть написать python и нажать enter
>>877502
#207 #877497
>>877494
А ты хорош
>>877499
#208 #877498
>>877475

> Kirill


> import script1


> python import script1


Блядь, в голос проиграл на всю квартиру.
Показал бате, тот тоже ржет сидит.
>>877500>>877503
#209 #877499
>>877501
#210 #877500
>>877498
До меня только сейчас дошло. Я смеюсь и краснею от своей тупости(я анон который пытался ему помочь)
>>877503>>877505
#211 #877501
>>877499
Ну нахуй ваш лямбда-фанатизм
37 Кб, 456x367
#212 #877502
>>877496
спасибо, няша!
#213 #877503
>>877500
>>877498
да я не тот кирилл, посоны((
просто так получилось((((9
#215 #877505
>>877500
впрочем, что такого что бы помочь КИРИЛЛУ?
#216 #877520
>>877488
Смотри, вот так работает:

#xxx.py
foobar = []
def init():
....global foobar
....foobar = [1,2,3,4]

#work.py
import xxx
xxx.init()
print(xxx.foobar)
>>877524
#217 #877524
>>877520
я ему это еще вчера кинул, >>876745 >>876746
он сейчас закукарекает что не хочет импорт ххх
>>877535>>877702
#218 #877535
>>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.

>>877700
#219 #877700
>>877535
Избегать не значит не использовать.
С неймспейсами всё предельно ясно,
мне нужен один глобальный.

Хули в Пистоне без изъябств нельзя
нормальное поведение как source в
баше нарулить? Заебали эти ООП
ужимки пидерские.
>>877710
#220 #877702
>>877524
Да обосрался ты вчера, ещё не подсохло.
>>877708
#221 #877708
>>877702
гнида неблагодарная
>>877823
#222 #877710
>>877700
уйди нахуй олень
>>877823
#223 #877740
>>877379

>Замазал имя пк


Ору, деванон по названию папки, это нечто новое
>>877744
#224 #877744
>>877740
может быть у него там никнейм, по которму его можно в соцсетях пробить.
>>877750>>877764
#225 #877747
Ребят, не подскажете библиотеки для работы со звуком?
Чтобы можно было считать файл, воспроизвести наоборот или как-то изменить сигнал?
>>877764
#226 #877750
>>877744
Да кому он нахуй нужен
#227 #877764
>>877747
gstreamer для проигрывания, ffmpeg для редактирования
>>877744

> никнейм


Ставлю, что это Kirill
>>877781
#228 #877781
>>877764
udvaivau
#229 #877785
>>877402
>>877411
уйдите, сектанты
#230 #877790
Прочитал "Укус Питона", дальше пошел на сайт Джанго читать документацию, и как-то сложно очень. Есть ли что-то по фреймворку для новичков?
>>877792>>877813
#231 #877792
>>877790
Книжку Адриана Головатого попробуй.
>>877795
#232 #877795
>>877792
Спасибо, пойду смотреть
>>877826
107 Кб, 670x725
#233 #877801
Джанго-аноны, что такое Class based views и для чего они нужны, простым языком?
Дошел в учебнике до этих самых вьюшек, а там просто фразочки типа "скопируйте код, вставьте, вот у нас и получилось )000". Во всяких видео и статьях там подразумевается, что я уже должен был настолько задолбаться без них, что благодарить бога за их существование.
>>877807
#234 #877807
#235 #877813
>>877790

> 2016


> укус питона


Ну ты даешь! Надо было Луца один раз прочитать и все.
#236 #877823
>>877708
>>877710
вся суть невежды.
#237 #877826
>>877795
Не вздумай читать это говно.Сейчас уже 1.9 вышла, а там все про 1.6 рассказывают.В Djang'е очень много вещей изменилось, так-что лучше ничего djbook нет и русского
20 Кб, 463x773
#238 #877830
Есть хуйня на пикче.
Есть код: http://pastebin.com/rwwx8qzV

Не могу допереть, как исправить, чтобы не выходил за рамки списка( ясен хуй in range, но где ). Второй вопрос как поместив переменные, которые имеют числовые значения в список - передавать обновленные числовые значения. Очевидно что если есть List = Yv, где Yv = 0.003, то при print(List) он выдаст 0.003. Однако когда я захочу записать List = 0.004, он нихуя не изменит мне значение Yv, а лишь запишет на индекс i - 0.004. Можно наверное словарь использовать, но чет не ебу как тогда с ним матрицу сделать и переходить по нему к следующему элементу.
#239 #877846
>>877830
почему не так?
print([Elem_list[count+1] for count, value in enumerate(Elem_list) if value != 5000])
#240 #877849
>>877830
Elem_list = [Yv, Y1, C1, C2, C3, L1]
это не список со ссылками на твои переменные, а список со значениями, которые лежат в твоих переменных
>>877936
#241 #877883
>>877830
Ваще не врубаю о чем разговор, чем тебе List.insert(i, val) не подходит?
>>877884
#242 #877884
>>877883
pop(i) предварительно, естесно
#243 #877887
>>877830
while i < len(Elem_list):
calc = Elem_list + 1
Elem_list.pop(i)
Elem_list.insert(i, calc)
i +=1

не то?
>>877891
#244 #877891
>>877887
перепеп8 какой-то
#245 #877936
>>877849
окей. как мне получить список со ссылками на переменные?
20 Кб, 270x326
#246 #877954
Ньюфаг вкатился. Решил решить простенькую задачку. В принципе как ее правильно решить я знаю, но интересен вариант при помощи словаря.
Условие: вернуть в словах вводимое значение от 0-9. Типа если ввел 1, вывод будет 'один'.
Как правильно будет вернут значения ключа словаря?
>>877961
#247 #877961
>>877954

>Как правильно будет вернут значения ключа словаря


d[1] ?
>>877963>>877967
#248 #877963
>>877961
блять точно, это же очевидно. пиздец затупок.
#249 #877967
>>877961
лучше так d.get(number, default_value)
#250 #878007
Юзаю bs4

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бла-бла?
>>878011>>878089
#251 #878008
Прохожу я codecademy и вижу, что не догадываюсь как решать большинство заданий из тех, что ближе к концу (типо звездочки на маты и всё такое)
Надо будет зубрить какую-то книженцию по алгоритмам или как?
>>878197
#252 #878011
>>878007
Pandas
#253 #878089
>>878007
.get_text()

allTags - список. Значит,

for tag in allTags:
...print(tag.get_text())
>>878234
#254 #878197
>>878008

>звездочки на маты и всё такое


>Надо будет зубрить какую-то книженцию по алгоритмам или как?


Ещё один "чтец книг".
>>878261
#255 #878209
Аноны, есть словарь вида:
{'a': int(), ...., 'z': int()}
И переменная int().
Как найти ближайшее к этой переменной значение из словаря?
>>878214
#256 #878214
>>878209
Pandas
>>878217
#257 #878216
P A N D A S
A
N
D
A
S
#258 #878217
>>878214
Что именно оттуда?
>>878219
#259 #878219
>>878217
методы: как итерировать словарь, как делать вычитание, как делать сравнение переменных, как присваивать переменной значение.
sage #260 #878220
Шел сегодня по по питон треду и случайно наступил в говно. Пригляделся по-лучше, оказалось что это pandas.
#261 #878221
>>878220
Шел сегодня по по питон треду и случайно наступил в говно. Пригляделся по-лучше, оказалось что это django.
>>878231>>878655
#262 #878231
>>878221
>>878220
поднял и съел ^_^
#263 #878234
>>878089
Спасибо тебе большое. У меня к тебе другой вопрос есть. Используя тот самый, кода как возможно убрать из allTags текст, который находится в div-e, в названии которого фигурирует слово comments?
Вот есть такой див class="b-content-w b-content-w-comments
Я думаю, что сначала выцепить все названия div-ов в лист, затем уже каждый элемент искать на наличие comments и как-то его вырезать из основного текста
>>878236>>878304
#264 #878236
>>878234
*тот самый кусок кода
#265 #878261
>>878197
Ну я хочу научиться думать как программистер. Сам не тупой, но чёт сложно без подсказок решать такое
#266 #878296
Начал знакомство с "волшебным миром" кодинга с приложухи на телебоне. Худо бедно дочитал до "булева логика", оператор not и тут логика начала сбоить. Как это понять? Комменты почитал, но так и не воткнул.
if not True:
print("1")
elif not (1+1==3):
print ("2")
else:
print("3")
>>878314
#267 #878304
>>878234
Если тебе нужен только текст статьи без лишней херни, то ищи тег <article>

http://pastebin.com/Kvw3GsyP
#268 #878314
>>878296
if not True - False

(1+1==3) - False
not (1+1==3) - True

Значит,
если не True, пишем 1
или если 1+1 не равно 3 (это True), пишем 2
во всех остальных случаях пишем 3

Но вообще, это хуета какая-то. Тут вообще есть только 2 варианта(True/False) и print('3') не выполнится никогда и потому нахуй не нужен.

Можно было просто
if (1+1==3):
....print('1')
else:
....print('2')

Анон, правильно рассуждаю или у меня тоже логика сбоит?
>>878341
#269 #878341
>>878314
Что именно то тебе не понятно?
>>878522
#270 #878364
В шапке висит ссылка на потонувший тред, поэтому дублирую:
Как в питоне создавать свои методы? Пишу программку на Qt, хочу для кнопки добавить свой метод. Пока что нагородил костыль http://ideone.com/vjXxtl , который вызывает функцию, которая принимает кнопку как аргумент, но хочется оформить все методом
#271 #878386
>>878364
создаешь класс-миксин, у которого есть этот метод, потом класс миксин миксуешь с оригинальным классом твоей кнопки, потом создаешь кнопку, которая наследует миксин и оригинальный класс твоей оригинальной кнопки. Наверное как-то так
мимо_с_дивана_после_Fluent_Python
#272 #878391
>>878364
Наверное, надо создать свой класс, который наследует все от какого-то родительского класса. Ну и создать там свой метод.
Может что-то вроде такого http://ideone.com/Vkcpd3
>>878402
#273 #878399
Что из себя представляет типичный рабочий день python (web) разработчика? Какие задачи встречаются наиболее часто и какие технологии приходится чаще всего использовать?
#274 #878402
>>878391
ТО что надо, спасибо
#275 #878403
Объясните мне, дауну: что отправляет джанго при аякс-запросе, и что, блять, принимает ебучий аякс-апрос? Я весь день пытаюсь сделать ебучий лайк баттон, но ничего не выходит. Может кто-нибудь дать рабочий пример подобного кода, в гугле какая-то одна непонятная херня.
#276 #878411
>>878403
Есть вьюха. Назовем её меин пейдж. Вьюха отображает список объектов - постов. У каждого поста есть возможность поставить лайк. Лайк - это другая вьюха, на которую идет другой урл.

Что мне писать в аяксе в урле? Урл главной страницы, или урл вьюхи лайка? Что мне писать в дате?
#277 #878413
>>878403
Завтра ищешь в интернете книжку Django By Example..
Страница 154 - Adding AJAX actions with jQuery. Там как раз пример про кнопку "Лайк"
>>878416
#278 #878416
>>878413
да там все равно все будет по-другому написано. Мне просто нужна инфа. Что писать в аякс урл, когда у тебя лайк идет через другую вьюху, и как получить дату с сервера.
>>878437
#279 #878419
>>878403
JS http://pastebin.com/EFGAqyuY
HTML http://pastebin.com/Jar8b5pe
Вьюха http://pastebin.com/hAdztNyt (не орите с + - - знаю, что можно через бул, но я тренировался с использованием чоисов)
>>878437
#280 #878437
>>878416

>Что мне писать в аяксе в урле?


Урл той вьюхи, которая будет делать лайк. Делаешь POST запрос на этот урл и отправляешь данные (айди поста, действие(лайк/дислайк) или что там у тебя). Во вьюхе делаешь свое дело. Запрашиваешь сегодняшнюю дату и все это дело шлешь обратно. Можешь слать JSON, HTML, plain text. Показываешь на странице.

>>878419 Извини, сложновато разобраться сейчас, плохо соображаю.
Что у тебя конкретно не работает? В браузеры открывал инструменты разработчика и отслеживал че происходит вообще?
>>878447
#281 #878447
>>878437
Я использую GET реквест, пост здесь не нужен.

Не меняется значение количества лайков после клика.

переписал аякс реквест вот так вот http://pastebin.com/96ZNkfeH Ничего не изменилось.

Хз, в девтулсах копался - он вообще ни на что не ругается. Я тупой пиздец, я ничего не понимаю.
>>878457
#282 #878457
>>878447
Если своим запросом изменяешь базу данных, то это, все таки, должен быть post.
Если выложишь на гитхаб, то попробую поковырять
>>878458
#283 #878458
>>878457
Здесь парадокс в том, что саксесс аякс-запроса проходит, но он не меняет значение класса тотал лайкс даже если вбить какой-нибудь левый аргумент вместо полученной даты. Т.е. я вообще хз, в чем дело.

В смысле должен быть пост? Это просто ссылка, которая запускает вьюху, которая сама по себе меняет значение в БД без поста. Я прикрепял код - там видно, как она работает. Зачем здесь пост?
>>878461>>878488
#284 #878461
>>878458
Без аякса с пейдж-рефрешем лайки обновляются нормально
#285 #878488
>>878458
Я хз, обложись принтами и делай console.log(data) в своем жс-скрипте, открывай инcтрументы разработчика и смотри что выводит. Ну или алертами выоди свои данные.
Судя по вьюхе, чтобы получить число лайков в шаблоне тебе надо писать data.data.
Попробуй просто выводить $('.total-likes).text(data.data)

Насчет post vs get
https://ru.wikipedia.org/wiki/POST_(HTTP)#.D0.92.D0.BB.D0.B8.D1.8F.D0.BD.D0.B8.D0.B5_.D0.BD.D0.B0_.D1.81.D0.BE.D1.81.D1.82.D0.BE.D1.8F.D0.BD.D0.B8.D0.B5_.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.B0
>>878495>>878497
#286 #878495
>>878488
проблема была в том, что this находился в success аякса. вынес за его пределы - все заработало нормально.
#287 #878497
>>878488
энивей, большое спасибо за помощь
#288 #878522
>>878341
Можно так перевести?

если не верно:
пиши 1
илиесли не верно (1+1==3):
пиши 2
иначе:
пиши 3

Т.е. задача найти неверность, она во второй строке, почему тогда 2 а не 1?
>>878556>>878630
#289 #878535
Аноны уже 2 час туплю есть код:
'' - пустая строка
....
x1 = ''
x2 = ''
x = [x1, x2]
....
тут операции, изменяющие x1 и x2
x1 += 'str'
....
print (x)
Результат - ['', '']
Какого хуя?
>>878552
#290 #878552
>>878535
когда ты делаешь x = [x1, x2], то ты добавляешь в список значения переменных, но не сами переменные. Так это работает в питоне.
Нужно делать:
x1 += 'str'
x[0] = x1
#291 #878556
>>878522
(1+1==3) - это ложь - False

То есть, логика такая:
if not True:
print("1")
elif not False:
print ("2")
else:
print("3")
#292 #878630
>>878522
Два Хауди Хо тебе
#294 #878656
>>878364

>В шапке висит ссылка на потонувший тред


Бля... а ты ожидал …?
#295 #878657
>>878364
Бля, там ещё верблюд, нахуй, не читал.
>>878718
#296 #878663
Кто такая Екатерина Поршнева?
>>878694>>878697
#297 #878694
>>878663
Ламповая JS-няша, одна из лучших в украине, которая никогда не даст воняющему говном джангисту.
Мимо-ебарь-задавай свои ответы
69 Кб, 371x300
#298 #878695
>>878694

>Ламповая JS-няша


спасибо, не надо.
>>879982
#299 #878697
>>878663
Звучит как псевдоним для хорошего такого хуястого трансвестита
А >>878694 только подтверждает мою догадку
28 Кб, 672x175
#300 #878709
>>874631 (OP)
Django.
Я что-то неправильно написал? Вроде всё по мануалу делаю.
>>878712
#301 #878712
>>878709
напиши from . import models
>>878723
#302 #878718
>>878657
Верблюд? Ах да, верблюд, ну да. Ну, слон вашему дому
18 Кб, 567x151
#303 #878723
>>878725
#304 #878725
>>878723
Внезапно, но заработало вот так.
Как же надоедает, что периодически обновления выходят и приходится постоянно заново учить. И логики-то тут особой нет, просто зазубриваешь и всё, ска.
>>878726>>878744
11 Кб, 333x128
#305 #878726
>>878725
Отклеилось
#306 #878737
Аноны, прошу вашей помощи. Сам школота, прогал на паскале, немного к нему привык, при переходе на питон начинается катастрофический затуп. Как понять массивы и двумерные списки на питоне? Прочитал кучу информации по этому повод, как то: гайды, главы из учебников и т.д., но не нашёл ничего кроме "мы заполним этот массив таким способом, но вы его так не заполняйте, потому что потом вы не сможете изменить значение, бла-бла-бла...". На паскале всё было довольно просто: ты вводишь две переменных для итерации и по их индексам обращаешься к элементу. В питоне же я АБСОЛЮТНО не понимаю, как обратиться к элементу и, например, задание: "В одну строку вводятся пары чисел i и j, означающие наличие связи между городами i и j, заполните матрицу смежности графа 10х10" вызывает ступор, отчаяние и плач. Как научиться работать с этими массивами и как их понять?
>>878742
#307 #878738
PyCharm professional поддерживает js ?
#308 #878742
>>878737
arr = [[1,2,3],[4,5,6],[7,8,9]]
for i, x in enumerate(arr):
for j, y in enumerate(x):
print('item [{},{}]'.format(str(i), str(j)), '=', y)
#309 #878743
two column primary key with auto-increment можно в джанге нативно сделать, без sql?

http://stackoverflow.com/questions/5416548/mysql-two-column-primary-key-with-auto-increment
>>878745
#310 #878744
>>878725
А, не, нихуя, он снова перестал работать. Я начал сомневаться в адекватности Pylint'а.
#311 #878745
>>878743
Может быть что-то типа такого http://stackoverflow.com/a/28712960/5201699
12 Кб, 806x58
#312 #878801
Flask, Pyston 2.
ЧЯДНТ?
>>878806
#313 #878806
>>878801
import sys

reload(sys)
sys.setdefaultencoding('utf8')
12 Кб, 500x500
#314 #878808
С компьютерами знаком хорошо, с никсами, с сетями, с алгоритмами и протоколами, безопасностью и т.д. Но все это на уровне любителя, урывочно, нету базы. Хочу вкатиться в программирование как сильное хобби, есть СИСП в бумаге, но он сложный, я фейлюсь в первых заданиях и не понимаю, как работает guess в их находителе квадратного корня.

Хочу купить бумажный вариант попроще, но книги сейчас очень дорогие поэтому спрашиваю без задней мысли (пользоваться онлайн-манами я все равно буду, но хочу иметь хорошее в бумаге): покупать Think Python? Или есть вариант лучше по соотношениям Талмуд/Полезность/Практичность?
Еще скажу, что школьную математику забыл, но знал на 5. С английским проблем нет.

Алсо, думаю купить Таненбаума по сетям и архитектуре ЭВМ.
>>878814>>881153
#315 #878814
>>878808
Синк это чисто понять какие у питона есть применения. Не узнать, типа почитать тредики и прикинуть чё из него делать, а вот прям реально на своей жопе выполняя задания вдуплить какие есть либы, куда их пихают и тд. Короче это самая прикладная книжечка по питону, рекомендую если уже знаком с синтаксисом.
Более-менее фундаментальная литература по именно вкату в компьютерные науки это вопрос совсем другого уровня абстракции. Я не знаю что тут рекомендовать, сикп есть и на питоне уже, но его как и Таненбаума можно и не осилить.
Потому предлагаю просто начать с синка а там по мере необходимости уже двигаться дальше
>>878821
#316 #878821
>>878814
А писать-то простые скрипты для простой жизни и простые программы (например прилепливатель тэгов к файлам, чтобы их можно было легче искать и сортировать, такая на питоне уже есть) эта книга научит? Или если у меня такие потребности, то лучше не заморачиваться покупкой и просто читать Укус Питона? Очень не хочется читать литературу для домохозяек (или чуть выше).
>>878823
#317 #878823
>>878821
Именно об таких фиговинах она и есть
Укус такой себе на самом деле, годится на мой взгляд разве что после кодекадеми не забыть чё учил вообще.
Можешь ещё automate the boring stuff with python глянуть, но оно нудное как пиздец и точно не вместо синка
>>878825
#318 #878825
>>878823
Ну тогда покупаю.
>>878826
#319 #878826
>>878825
на русском есть пдфка кем-то давно переведённая, это чисто FYI
#320 #878827
Пацаны, возникла проблема с установкой модуля numarray.libnumarray , погуглил, но ничего нужного не нашел, может кто сталкивался с такой проблемой?
>>878829
#321 #878829
>>878827
Зависимости посмотри, может (скорее всего) там нужна какая-нибудь ебала типа пакетов python-dev и тд
697 Кб, 3930x534
#322 #878836
Поцики, у меня тут накопилось за год изучения питона хуева туча отсылок на книги-курсы-туториалы-инструкции-ресурсы и тд и тп для вкатывающихся, но признаться там чуть бардак а разгребать и систематизировать их некогда, и вроде как мне уже не актуально.

Но может кому для вката полезно будет. Это доска в трелло.
Пишите мейлы - всех добавлю. В реплаи к этому посту или на m:#?osANUSopV!wenmailboxPUNCTUM\K/org (ответы от меня могут попадать в спам, имейте ввиду, хотя я просто буду кидать инвайт на доску через мейл с трелло)

Ну и не баловаться на доске особо.
>>878912>>879197
#323 #878869
Как вкатиться в торнадо? Если вообще не шаришь во всей этой асинхронной херне и т.п. С чего начать?
>>878884
#324 #878884
>>878869
псомотри примеры асинкио, там на пальцах показывается как работать севентлупом
#325 #878912
>>878836

Говно все эти ваши курсы-хуюрсы, дайте нормальной литературы по фундаменталу для погромиста. Чему там в ВУЗах учат.
>>878919>>878924
#326 #878919
>>878912
нахуя тебе? кормен Алгоритмы: потсороение и анализ + язык, наиболее подходящий для области, куда ты хочешь вкатиться
>>879039
#327 #878924
>>878912
Есть крутой курс Harvard CS50 - http://cs50.tv/2015/fall/ - на русском версию тоже где-то видел
А так держи копипаст кого-то из /pr/ с кем я в целом согласен:

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

Базовый матан, на уровне первого курса, чтобы понимать математические формулки, алгоритмы на графах, и подобную хуйню. Используй любую пару вузовских учебников поспрашивай в sci, если хочешь, я рекомендую Ильин-Садовничий-Сендов ч.1 матан и Яблонский дискретная математика, можно читать только про алгебру логики, автоматы и графы.
Базовая теория множеств, после первого пункта пойдет на ура. Подойдет Куратовский-Мостовский гл.1-3,6-7, хотя выбор не принципиален, можешь навернуть какой-нибудь видеокурс. Это очень важный пункт, потому что в норм книжках не разжевывают каждую мелочь, а используют терминологию множеств. Поэтому, в частности, ты и охуел от Кнута а от Успенского-Семенова вообще обосрешься.
Теперь ближе к делу. Колмогоров-Драгалин, тут без вариантов и от корки до корки. Можешь порешать задачки из Лаврова-Максимовой, это гораздо полезнее, чем просто зубрить теорию.
На этом этапе ты уже, вероятно, сам поймешь, чего тебе надо. В любом случае, здесь ты уже без проблем осилишь Кнута, Кормена etc. Если же тебя больше увлекает теоретическая сторона вопроса то бишь, построение новых алгоритмов, а не воспроизведение существующих, то наверни Успенского-Семенова, а затем гугли публикации за последние джвадцать лет. Также неплохо обмазаться методами оптимизации, теорией моделей, ну и по своей предметной области всяким. Такие дела
#328 #878938
Суп двощ, как на пихтоне подсчитать сумму чисел между первым и вторым отрицательными элементами в листе.
>>878955>>879025
#329 #878955
>>878938
находишь индекс отрицательного числа
делаешь проход от этого числа до индекса первого попавшегося отрциальетного числа

суммируешь, не?
#330 #878995
Есть текстовый файл с 1000 ютьюб каналов, хочу чтобы утилитой их прогоняло и выводило количество подписчиков и дату залива последнего видео. Как сделать?
#331 #879025
>>879141
#332 #879039
>>878919

Основы я не втыкаю. Систематизации знаний у меня нет.
>>879075
#333 #879075
>>879039
у меня тоже нет. не помешало вкатиться джуном в 27 лет без образования и опыта работы
>>879199
#334 #879141
>>879025

>Pandas


Как с этим добиться этого >>878995 ?
#335 #879197
>>878836

>moVH)sANUSoaR&penmailboxPUNCTUMoSQkrg


Добавь меня.
justmiz4_accANUSgmcr2ailPUNCTUMc"XCom
>>879207
#336 #879199
>>879075
Когда же вы, толстячки, помрете уже.
>>879218>>879271
#337 #879207
>>879197
Добавил
>>881491
0 Кб, 512x512
#338 #879218
>>879199
Никогда :3
#339 #879234
>>874631 (OP)
Время суток анон_программач. Стал изучать python, написал скрипт для закачки контента с треда двача. Оцените код, дайте советов мудрых как его оптимизировать и распараллелить (сейчас работает в один поток)
http://pastebin.com/RJjVYGnw
>>879240
#340 #879240
>>879234
pep8 сука

> formatStr = "{0:." + str(decimals) + "f}"


"{argooment:.{decimals}f}"

> int(round


> sys.stdout.write


print

> os.mkdir/os.chdir


pathlib

> url.split


urlparse

> soup.find_all('div', {'class': 'image-link'}, 'a')


soup.select("div.image-link a")

> list(range


> len(sys.argv)


docopt
Короче, всё плохо.

> распараллелить


asyncio, threading
>>879247
#341 #879247
>>879240
Спасибо Бро. Буду курить
#342 #879271
>>879199
Сам ты толстячок. Правда, у меня было еще за плечами 4 немаленьких проекта на гитхабе, которые я пилил, пока сидел на шее у мамки :3
>>879443
22 Кб, 200x300
sage #343 #879443
>>879456
#344 #879456
>>879443
Ты неосилятор с профильным во, который не может вкатиться? Ору с таких немощей.
#345 #879483
>>874785
На пайпай написана игра тройки геймз - Temple of Elemental Evil, кстати.
Т.ч. для риалтайма подходит даже.
Хотя консольных игра на питоне я не припомню.
Ну, вернее, есть Severance: Blade of Darkness на Xbox Original, но там с производительностью совсем плохо было.
389 Кб, 883x421
#346 #879484
>>878694

>в украине


Уже нет.
http://alchevsk.su/
#347 #879486
Для тех, кто родился и вырос в Советском Союзе, существовала огромная страна — одна для всех. Никого не удивлял, к примеру, узбек, которого судьба привела в Эстонию, или латыш, живущий в
Азербайджане. Вот и Раиль Каспитский уже очень много лет — житель Донбасса. Здесь отработал всю жизнь на государственной службе, в Перевальском районе и областной государственной администрации, в областной инспекции гостехнадзора. Сын солдата Великой Отечественной, он воспитывался на общих для всех ценностях.

— Мой отец стал настоящим примером для подражания, — говорит Раиль Каспитский. — Я и по сей день стараюсь следовать его наставлениям. Он участник Великой Отечественной войны, прошел всю военную компанию с 1937 по 1946 годы, освобождал Сталинград от немецко-фашистских захватчиков и принимал участие во взятии Берлина. Был тяжело ранен, но остался жив.

Многонациональный Донбасс принял Раиля тепло. Он создал здесь дом и семью, нашел друзей. Любимая жена Наиля, две замужних дочери, 16-летняя внучка — все есть, что надо для счастья, и глава семьи всем близким старается уделить внимание.

— Мои родители и родственники были направлены сюда после Великой Отечественной войны, по программе восстановления Донбасса, — рассказывает Раиль Ханяфович. — Наших соотечественников здесь много. По национальности я татарин, но мои корни в Ульяновской области. Когда-то ещё в советские годы Ульяновская область и Донбасс считались самыми развитыми в отношении братских и производственных связей. Из всех регионов постсоветского пространства десятки национальностей плечом к плечу трудились на Донбассе, духовно обогащали и дополняли друг друга.

Но не только работа и семья наполняли жизнь Раиля Ханяфовича. Размышляя о судьбе своих соотечественников, живущих в Донбассе, он понял: им нужна поддержка.
— Пятнадцать лет назад, перед о мной встал вопрос о поиске общих интересов своих соотечественников и объединении родственных душ, чтобы совместно решать жизненные проблемы. Здесь я должен сказать большое спасибо покойному имаму г.Алчевска Гирфану Абкадировичу Гильдееву, который посвятил вопросу народного единения значительную часть своей жизни. Мы чтим его память и благодарны ему за все, что он делал для объединения всех народов проживающих в Алчевске и Перевальском районе.

День народного единства Раиль Каспитский считает очень важным праздником — особенно в свете того, что нам довелось пережить за последние годы.
— Особенно сейчас стал актуальным вопрос в единстве всех народов, которые проживают на Донбассе, — считает он. — Нужно сплотиться против общей трудности, чтобы пережить это непростое время. Я скажу всем известный афоризм, которому стоит следовать всегда: «Сила — в единстве, единство — в вере».
Мудрый человек, немало повидавший на своем веку, Раиль Ханяфович убежден: интернационализм — не в забвении своей истории, не в отказе от своего народа. Он в дружбе и взаимной поддержке представителей разных национальностей.

— Исходя из своего жизненного опыта, хотелось бы пожелать всеобщего братского единения народов проживающих на Донбассе, — говорит он. — Без единства ни одно общество в современных условиях не сможет выжить и чтобы народности процветали, нужно решать все проблемы совместными усилиями.
#347 #879486
Для тех, кто родился и вырос в Советском Союзе, существовала огромная страна — одна для всех. Никого не удивлял, к примеру, узбек, которого судьба привела в Эстонию, или латыш, живущий в
Азербайджане. Вот и Раиль Каспитский уже очень много лет — житель Донбасса. Здесь отработал всю жизнь на государственной службе, в Перевальском районе и областной государственной администрации, в областной инспекции гостехнадзора. Сын солдата Великой Отечественной, он воспитывался на общих для всех ценностях.

— Мой отец стал настоящим примером для подражания, — говорит Раиль Каспитский. — Я и по сей день стараюсь следовать его наставлениям. Он участник Великой Отечественной войны, прошел всю военную компанию с 1937 по 1946 годы, освобождал Сталинград от немецко-фашистских захватчиков и принимал участие во взятии Берлина. Был тяжело ранен, но остался жив.

Многонациональный Донбасс принял Раиля тепло. Он создал здесь дом и семью, нашел друзей. Любимая жена Наиля, две замужних дочери, 16-летняя внучка — все есть, что надо для счастья, и глава семьи всем близким старается уделить внимание.

— Мои родители и родственники были направлены сюда после Великой Отечественной войны, по программе восстановления Донбасса, — рассказывает Раиль Ханяфович. — Наших соотечественников здесь много. По национальности я татарин, но мои корни в Ульяновской области. Когда-то ещё в советские годы Ульяновская область и Донбасс считались самыми развитыми в отношении братских и производственных связей. Из всех регионов постсоветского пространства десятки национальностей плечом к плечу трудились на Донбассе, духовно обогащали и дополняли друг друга.

Но не только работа и семья наполняли жизнь Раиля Ханяфовича. Размышляя о судьбе своих соотечественников, живущих в Донбассе, он понял: им нужна поддержка.
— Пятнадцать лет назад, перед о мной встал вопрос о поиске общих интересов своих соотечественников и объединении родственных душ, чтобы совместно решать жизненные проблемы. Здесь я должен сказать большое спасибо покойному имаму г.Алчевска Гирфану Абкадировичу Гильдееву, который посвятил вопросу народного единения значительную часть своей жизни. Мы чтим его память и благодарны ему за все, что он делал для объединения всех народов проживающих в Алчевске и Перевальском районе.

День народного единства Раиль Каспитский считает очень важным праздником — особенно в свете того, что нам довелось пережить за последние годы.
— Особенно сейчас стал актуальным вопрос в единстве всех народов, которые проживают на Донбассе, — считает он. — Нужно сплотиться против общей трудности, чтобы пережить это непростое время. Я скажу всем известный афоризм, которому стоит следовать всегда: «Сила — в единстве, единство — в вере».
Мудрый человек, немало повидавший на своем веку, Раиль Ханяфович убежден: интернационализм — не в забвении своей истории, не в отказе от своего народа. Он в дружбе и взаимной поддержке представителей разных национальностей.

— Исходя из своего жизненного опыта, хотелось бы пожелать всеобщего братского единения народов проживающих на Донбассе, — говорит он. — Без единства ни одно общество в современных условиях не сможет выжить и чтобы народности процветали, нужно решать все проблемы совместными усилиями.
>>879487
#348 #879487
>>879486
нахуя ты это говно в питонотред принёс, болезненный? попроси модератора пусть удалит
>>879489
#349 #879489
>>879487
Почему не зарепортил?
Репорт на тебя за это.
>>879491
#350 #879491
>>879489
А чё такое? Мультикультурализм. Всё как на Западе.
375 Кб, 1024x607
#351 #879513
Врываюсь.

Подскажите тему, чтобы можно было написать, чтобы: понять как работает ООП в Пайтоне, как-нибудь реализовать присылание СМСок.

По возможности какие-нибудь годные либы, УРОКИ, етц.

Так же хайли интерестед в разных примерах\гайдах\идеях для скриптов.

А то я только Джанго-макака с 0.5 проектами
>>879529>>880382
#352 #879514
>>875058
Уважаемый, а можешь скинуть на гитхаб свой мвнядвижок, мне интересно
#353 #879522
>>875304

>Далее "DRF"


Нигде не использовал
>>879660
#354 #879523
>>875609
Yield yopta
#355 #879529
>>879513
Программа для рассылки смс спама.
Либа - Twillio

Создавай свои классы типа ПартияСпама, наследуйся, автоматизируй. Короче простор для фантазера йоп
>>879606
#356 #879571
>>878995
Для начала нужно понять как работать с апи ютуба. Для этого используется гугл.
Далее использовать нужно requests и стандартный механизм питона.
В зависимости от формата текста, разбивается массив данных по каналам и циклом по каждому каналу используя апи гугла получаешь нужные данные
333 Кб, 800x2818
#357 #879606
>>879529
Только вот эта либа? Ничего такого, но за неё платить надо, чтобы отображался номер, как я понял. Аналогов нету?
>>879634
#358 #879634
>>879606
Жаль, но для нормального использования нужно платить
Хотя по-моему бесплатно смс можно отправлять.

Смотри курс на Udacity, называется Python Foundation (в одном из уроков они юзают его)
#359 #879660
>>879522
Должен тебя поздравить, ворнинги типа "переменная объявлена, но нигде не используется" твой организм генерирует отлично.
#360 #879667
Я линукс никогда не видел, кто-нибудь может мне объяснить что значит "знание Линукса" в вакансиях, просто встал вопрос переустановки ОС и вот не знаю что выбрать, столько всяких фич как фреймворков джавы...
>>879670>>879725
#361 #879670
>>879667

>знание Линукса


bash, shell script
>>879697
#362 #879697
>>879670
Душевно благодарю, cударь.
#363 #879725
>>879667
Умение работать с дистрибутивом - с УБУНТОЙ, в основном. Чтобы ты мог сам себе развернуть окружение, настроить
>>879731>>879732
#364 #879731
>>879725
Арихато, милейший
#365 #879732
>>879725
я на убунте пайчарм поставил. я ахуенен?
>>879739>>879749
#366 #879739
>>879732
Умочка!
#367 #879749
>>879732
Он под линух вроде как и делался изначально. иде для питона же На винду накатывать раньше было неудобно, была путаница со слешами. И если начинаешь писать, то все возможности Пайчарма тебе пока не нужны. Хватит и Атома\Саблайма.

Так же в настройку окружения входят и тулы для контроля версий, понимание работы веб-серверов, понимание протоколов. Если есть девопс, то об этом думать не надо, но знать как работает HTTP, что такое гит\свн желательно. Имхо, конечно же
>>879756
#368 #879756
>>879749
я на гит из пайчарма коммиты и пуши делаю. Я уже скилованный чувак?
>>879757>>879758
#369 #879757
>>879756
Ты умочка!
#370 #879758
>>879756

сколько способов добавить коммит знаешь? Назови, деструктивный… итт
>>879769
#371 #879769
>>879758
чет сложна. я жму commit and push - оно само приезжает на гитхаб. Я понял, буду изучать глубже
#372 #879824
думал схожу в питонотред PANDAS раздать, захожу, а тут... всем PANDAS
>>879828
#373 #879828
>>879824
P A N D A S
A
N
D
A
S
7 Кб, 704x298
#375 #879947
ВНЕЗАПНО: Как последовательно удалить какое-то количество элементов из списка? И почему на пикрелейтед выходит такая залупа?
>>879948
#376 #879948
>>879947
Выведи на экран A после каждого удаления.
>>879950
#377 #879950
>>879948
Всё понял, спасибо.
#378 #879982
>>878695
Воняющий говном джангист порвался
67 Кб, 640x426
#379 #880043
Есть лист:
list1=[['OP', 'huy'], ['Abu', 'ohuel']]
Нужно чтобы он записывался в txt файл.
При вызове выводилось что-то вроде
1. OP - huy
2. Abu - ohuel
Помогите пожалуйста.
#380 #880055
>>880043
Pandas
>>880064>>880433
#381 #880064
>>880055
A можно пожалуйста что-нибудь по конкретнее, а то решение нужно прямо сейчас, а библиотеку изучать займет слишком много времени.
#382 #880066
>>880043

[code]
with open('list.txt', 'w') as f:
for k,v in list1:
f.write("{} - {}\n".format(k, v))

[/code]
#383 #880068
>>880066

Бля, проебал разметку. Там на второй строчке(где for) один отступ, а на третьей - два
#384 #880089
>>880066

A как это нужно читать, чтобы вывод как тут >>880043 был?
#385 #880151
>>880066

> {} - {}

>>880172
Везде нужны сеньеры #386 #880156
Всем привет. Очень хочу в питон, сделал пару небольших проектов на джанго, чистым питоном улекаюсь, но entry-level вакансий вообще не могу найти, везде нужны сеньеры иди 3 года опыта. Что делать?
>>880170
#387 #880170
>>880156
слать везде, даже на сеньора. или в пхп укатываться, там куча вакансий для джунов
>>880210
#388 #880172
>>880151
>>880066
зачем там там это вместо запятой ?
#389 #880174
Пацаны, кореш попросил написать бот для флуда объявлениями на местном говносайте. Как это реализовать с помощью питона? Подскажите хотя бы в общих чертах. Респектую
>>880431
#390 #880182
Решил вкатиться в пайтон, и тут такая хуйня:

>>> a='dick'


>>> b='dick'


>>> a is b


True

>>> a='dick dick'


>>> b='dick dick'


>>> a is b


False

Как я понял, этот оператор дает True тогда, когда две переменных ссылаются на один объект в памяти. Вопрос: "дик" и "дик" — это на самом деле один "дик", а "дик дик" и "дик дик" — это уже два совершенно разных "дик дик"?
>>880186>>880373
#391 #880186
>>880182
почитай, в чем различие между == и is
>>880216
#392 #880210
>>880170
отличный совет от питониста, укатываться в пхп. Я имею ввиду, почему такая ситуация вообще сложилась? Откуда тогда беруться сеньеры?
>>880212
#393 #880212
>>880210
Ну пишешь и на гитхаб выбрасываешь всякий охуенчик
А потом говоришь что хочешь быть сеньором помидором, тебе говорят что не тянешь, но записывают в стремящиеся, а потом и берут куда-нибудь
>>880214
#394 #880214
>>880212
понял, попробую. На гитхабе пока простой блог на джанго и контрибьютинг в API на прошлой работе. Но да, я пиздец стремящийся.
>>880217
#395 #880216
>>880186
Как я понял, "а==b" сравнивает значения a и b, "a is b" проверяет, ссылаются ли a и b на один и тот же объект в памяти.

Я не понимаю, почему в случае со строкой "дик" переменные ссылаются на один объект, а в случае со строкой с пробелом ("дик дик") на два разных. Как по мне, и "дик", и "дик дик" — это просто строки. Почему пайтон так по-разному их фиксирует?
>>880352
#396 #880217
>>880214
Простым блогом можно подтереться. Надо что-то более серьезное.
>>880219>>880230
#397 #880219
>>880217
да от блога зависит
если он во все стороны срёт рестом и мамкешидся через рабитэмкю, авторизирует хоть через ежовуюзалупу_оаутх и свистопердит во все стороны всяким говном - блог так блог, всем похуй
>>880222
#398 #880222
>>880219
это уже не простой блог
#399 #880230
>>880217
например? у меня просто идей совсем нет.
>>880234
#400 #880234
>>880230
магаз бахни, какой-нибудь новостной сайт, имеющий кучу самых разных фич, бахни какую-нибудь хуйню, аккумулирующую контент с других сайтов (парсеры-хуярсеры). Приеблань чат на торнадо ко всему этому. Все вакансии твои.
>>880236
#401 #880236
>>880234
надо попробовать, спасибо.
#402 #880237
>>874631 (OP)
чо питон так обосраться может?
>>880334
#403 #880257
можно, плес, перекат, только без гавна и прочей ссанины
sage #404 #880334
>>880237
Это питон-двачер.
#405 #880352
>>880216
Тоже самое с интами больше 255 вроде. Короче, проверяй изом только на None или в тех ситуациях, когда ты точно знаешь, что ищешь вот этот инстанс вот в этом контейнере, например. Забудь о том, что питон что-то там оптимизирует и у тебя будут одинаковые ссылки на одинаковые объекты.
>>880455
#406 #880373
>>880182
Ну типа в Пистоне кешируютсяв результате получается один объект короткие строки, в длинные нет.
>>880455
#407 #880382
>>879513
Хули тут понимать.
Работает как везде.
Есть объекты - обособленные структуры данных +их методы(функции).

Может быть объект - Ононимус. Структура данных, в которой хранится несколько переменных - пол, имя, возраст, любимый раздел на борде.

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

Что вообще значит - как работает?
Задан класс (класс - это тоже "объект", по сути - шаблон для создания объектов, форма для отливки, лекало).

Класс это такой способ создания объектов в памяти компа. В частном случае например класс = тип. допустим есть класс(тип) "строка" или "целые числа". Конкретная переменная типа int - это объект.

"ооп" - по сути некий набор правил для создания сущностей/процессов в рамках написания и работы программы.
Ебантяи лепят классы везде где можно, что нихуя не правильно по мнению создателей самого питона. Классы нужны там, где нельзя разумно обойтись тупо функциями. Т.е. нужны они для создания сложных объектов с замороченным поведением.
В идеале при создании классов нужно руководствоваться предметной областью/реальными объектами в гештальте юзера. Класс "окно с кнопачками" в интерфейсе, класс "мобилка" или "транзакция" в интернет-магазине.
https://habrahabr.ru/post/140581/

в питуне причем ООП реализован не идеально. Лично меня при начале изучения питуна выбесило нерациональное использование лексем при задании класса. Эта ебаная ненужная конструкция "def __init__" , self - выражения и так далее. Но люди привыкли.

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

мимо-ньюфажина в программировании
#408 #880387
Че тут за ботаны сидят? Нихуя непонятно вообще.
#409 #880390
>>880387
Нет, ёбта, хуя ты затупь ваще васян, структур данных и паттернов не понимаешь, пизда рулю
86 Кб, 1218x341
#410 #880391
>>880387
Читай пикрил станет понятней
#411 #880426
>>880387
ну ты лох внатуре епте бля
#412 #880431
>>880174
urllib + несколько потоков. как обойти капчу хуй знает. найми двачера лучше
#413 #880433
>>880055
ты еблан что-ли? такая хуйня делается очень просто на нативном питоне.
#414 #880455
>>880373
>>880352
Понял, спасибо.
#415 #880579
Додик в треде, нужна помощь анончики. Есть один курсач: программа должна принимать много строчек текста, удалять в нем слова из stopWords и сокращать на -ing , -ed, -ly оставшиеся слова если они не находяться в noStemWords. Потом выводить частоту нахождения слов в тексте в виде: слово : строчка#, строчка#,...
http://pastebin.com/aL341xG9
Я осилил создание словаря, но не могу понять как из этого словаря вытянуть каждый лист и повыкидывать из него stopWords и сократить на noStemWords.
#416 #880585
>>880579

> Додик в треде, нужна помощь анончики. Есть один курсач: программа должна принимать много строчек текста, удалять в нем слова из stopWords и сокращать на -ing , -ed, -ly оставшиеся слова если они не находяться в noStemWords. Потом выводить частоту нахождения слов в тексте в виде: слово : строчка#, строчка#,...


> http://pastebin.com/aL341xG9


> Я осилил создание словаря, но не могу понять как из этого словаря вытянуть каждый лист и повыкидывать из него stopWords и сократить на noStemWords.


Очевидно Pandas
>>880589
#417 #880589
>>880585
Тут проблема:
Я только могу использовать split() и strip(),
и стандартные методы для листов и словарей.
#418 #880619
>>880579
Бля, ну ты ебанутый. For использовать религия не позволяет?
>>880671
#419 #880671
>>880619
Религию сменил, все равно не пашет (дрисня в последнем вложенном цикле)
http://pastebin.com/NtCwsRhK
#420 #880672
>>880718
6 Кб, 200x133
#421 #880683
Есть список:
list1=[['OP', 'huy'], ['Abu', 'ohuel']]
Нужно чтобы он записывался в txt файл.
При вызове выводилось что-то вроде
1. OP - huy
2. Abu - ohuel
Помогите пожалуйста.
>>880708>>881200
#423 #880718
>>880672
Эксперт в треде, я спокоен.
Знания на Junior Python Dev #424 #880747
Двач, помогай.
Короче я тот чел который писал что не могу найти вакансию на жуниор питона. Сам написал в пару контор, что мол такой сякой, такое сякое умею, блог вот запилил, апишку на прошлой работе на питоне, с таким работал, возьмите за еду. Так вот, меня тут пригласили на встречу, а я хз что читать. SQL? Django? Требований как таковых нет, я сам написал, вакансий не было. Подскажите, что почитать для такого вот интервью?
#425 #880758
>>880747
Джанго: почти наверняка будут спрашивать про generic views, модели, реляции, миддлвари.
Питон: magic methods (что делают, как использовать), коллекции, декораторы, генераторы и что-то ещё.
SQL: опять реляции, может попросят связать две таблицы many-to-many и т.д.

Полгода назад обошёл очень много контор по Python, но по мидловским вакансиям.
>>880768
#426 #880759
>>880747
Питухон: ООП, декораторы, лямбды, генераторы, списковые включения, что-то из стандартной либы типа итертулс, функтулс и т.п.

Джанго: База: что такое МВЦ, что такое модель, что такое кверисет, через что джанго пропускает запрос. Сигналы, мидлварь, класс-бейсд вьюхи, менеджеры. Что с Джанго-декораторами. Шаришь ли в рест-апи. Как дела с работой с голыми sql запросами. Q, F функции. Каким образом проводишь валидацию форм. Фабрики форм.

SQL: реляции, в чем разница между реляционными и нереляционными базами данных, мб попросят запилить что-нибудь простое.
#427 #880760
>>880759
А, еще наверняка поебут мозг с Json и Ajax
#428 #880767
>>880759
>>880747
еще почитай про мени-ту-мени, каким образом происходит сохранение объекта с такой привязкой, и как избежать ошибок при сохранении.
#429 #880768
>>880758
>>880759

спс, почитаю.
#430 #880769
Сап Питонч, есть два крайне похожих блока сравнения.
http://pastebin.com/C2prDXz3
Подскажи пожалуйста как сделать вместо них одну функцию/декорацию.

Я только вкатываюсь в питон, и не совсем понимаю как сделать чтобы он брал разные аргументы и подставлял их в эту функцию.
>>880789
#431 #880774
>>880759

>через что джанго пропускает запрос


а кстати и правда, через что? Вот есть кверисет у нас, как работает?
>>880805
#432 #880779
>>880747
в довесок к вышесказанным советам. Я надеюсь, что ты не оподливишься, если тебя спросят, что такое стек, куча, и про сортировку пузырьком? База есть по алгоритмам и структурам данных?
>>880787
#433 #880786
Очень нубский вопрос.

Пытаюсь использовать генератор кортежа в 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]

Что я делаю не так? Почему со списками всё получается, а с кортежами нет? В принципе-то можно и списки использовать конечно, но хотелось бы разобраться.
#434 #880787
>>880779
стек куча скажу, ну есть мало мальская.
sage #435 #880788
>>880786
Обосрался с разметкой.
Простите.
#436 #880789
>>880769
Всё, спасибо, разобрался.
#437 #880790
>>880786
Ужас. Мне стыдно.
Только отправив увидел свою ошибку. Всё работает же, но я (криворукое создание) не ту переменную дёргаю.
#438 #880792
>>880786

>tuple(s)

#439 #880805
>>880774
Думаю, анон миддлвари встроенные имеет в виду.
Приватность и инкапсуляция #440 #880821
Аноны, поясните за инкапсуляцию в питоне? Читаю одно - принято что приватные методы и поля называются с двумя нижними подчеркиваниями и все, читаю другое - пишут что инкапсуляция как то может быть реализована через getattr но я так и не понял как. Спасибо.
>>880830
#441 #880830
>>880821
Пожалуйста.
>>880871
#442 #880871
>>880830
пожалуйста
#443 #880892
>>874631 (OP)
Использую PyCharm. Сделал два файла, функцию из одного импортирую в другой. После того, как редактирую первый, с функцией, у меня во втором запускается старая функция. Помогает перезапуск PyCharm. Что можно сделать, чтобы изменения сразу вступали в силу ?
>>881428
#444 #881008
контекст процессоры вместо кастом тимплейт тагов - это слишком говнокод? Мне нужны постоянные формочки логина и пароля. Контекст процессор их грузит постоянно, а кастом тэги только при подгрузке в хтмл. Но я вообще не ебу, как это сделать в тэгах, а сделать нужно быстро. Слишком ли говнокод будет, ась?
>>881045
#445 #881045
>>881008
Оставь так, если срочно. Потом перепишешь.

>Но я вообще не ебу, как это сделать в тэгах


Inclusion tags же, там все просто https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/#inclusion-tags
#446 #881140
Есть способ работать с Gunicorn из под винды?
ImportError: No module named 'fcntl'
пытаюсь работать с heroku
>>881144
#447 #881144
>>881140
Как обычно сам себе отвечаю. В прокфайле делаем строку
web: python manage.py runserver 0.0.0.0:5000
И все работает.
и не надо обмазываться линуксами
>>881145>>881588
91 Кб, 260x295
#448 #881145
>>881166
#449 #881153
>>878808
Что за СИСП?
p.s. Нет, не нагуглил.
>>881162
#450 #881162
>>881275
#451 #881166
>>881145
Да ты охуел.
#452 #881200
>>880683
А правда, что Столлман - коммунист?
#453 #881252
Куча чуваков учат джангов 2016
Фреймворк, который без костылей не может в асинхронность.
>>881257
#454 #881257
>>881252
Асинхронщина это конечно хорошо, но для кучи хуйни можно обойтись и без неё.
Джанга это способ клепать каштомные обычные сайтики в первую очередь, а уже потом мега-гипер-порталы с 100К посетителей в секунду
>>881259
#455 #881259
>>881257
Щас бы в наше время не писать асинхронные сайты. Если в 2.0 не завезут нормальную поддержку этого дела - фреймворк сдохнет, фиксируйте.
>>881261
#456 #881261
>>881259
да сдохнет и хуй с ним, появится что-то другое, я хз на кой чёрт ты вообще об универсальном инструменте на все случаи жизни мечтаешь
>>881263
#457 #881263
>>881261
зачем нужен джанго, когда есть нода, которая может во все?
>>881270
#458 #881270
>>881263
потому что нода не меньшее заблуждение чем отсутствие встроенной асинхронщины в джанго, например.
вон брекетс крутится внутри на ноде - и чё блядь, по-твоему это нормально, так пихать херовенько производительный жс во все дыры? тогда ебашь конечно
#459 #881272
а разве джанго не может в асинхронщину через сторониие батарейки?
>>881273
#460 #881273
>>881272
Может конечно, просто к нам забижал на огонёк восторженный любитель ноды
Это только вопрос времени когда он забежит ещё куда-нибудь, в с++ тред спрашивать зачем плюсы если есть божественная ниспосланная самим совершенством нода
#461 #881275
>>881162
Спасибо, нашёл.
#462 #881370
Анон, на чём ещё пишешь на работе из статически типизированных языков?
Есть свободное время, хочется потратить с пользой.
>>881430>>881505
#463 #881428
>>880892
UP!
Использую PyCharm. Сделал два файла, функцию из одного импортирую в другой. После того, как редактирую первый, с функцией, у меня во втором запускается старая функция. Помогает перезапуск PyCharm. Что можно сделать, чтобы изменения сразу вступали в силу ?
>>881439
#464 #881430
>>881370
На прошлой писал на си. На этой только питончик, к счастью.
>>881490
#465 #881437
Сука. Как по человечьи написать это говно. http://pastebin.com/kxgC2a6m

Что должно происходить: Есть словарь со значениями, по значениям считается магическое число. Далее вычисляется оптимизированное значение и заменяется в словаре. Если магическое число на предыдущем шаге совпадает с числом на данной итерации - усё приплыли, данное значение не имеет дальнейшей оптимизации и нужно переходить к следующему. То есть делать сдвиг в словаре. Я бы сделал всё через очевидный For, но вся эта хуйня зациклена в While как и должна быть. Идей сука пока ноль.
>>881448>>881452
#466 #881439
>>881428

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



Перестать быть ебланом.
>>881471
133 Кб, 1024x768
#467 #881448
>>881437

>gradientDescent


>магическое число



>Fr_g[0]


>в словаре

>>881474
#468 #881452
>>881437
Я вряд ли понял правильно, но попробуй скопировать ключи в кортеж или список и вытаскивать на каждой итерации с помощью pop(), или делай проход по индексу это списка/кортежа.
>>881477
#469 #881471
>>881439
Ну чего ты, братишь, ты чего так подорвался ?
>>881476
#470 #881474
>>881448
Fr_g[0] не словарь, а лист. И лист со значениями градиента.

Словарём является очевидный Elems. В Elem_list находятся названия ключей.

Очевидно до ахуения.
#471 #881476
>>881471

Я не подорвался. Я просто пошел в PyCharm сделал два файла. В одном функцию написал, во-втором импортировал её. Запустил файл с импортом - Всё заебись. Заменил функцию во-втором не нажимая ctrl+s и запустил первый файл - новый результат. Очевидно дело не в PyCharm.
#472 #881477
>>881452

Elems = {'Yv':0.00033, 'Y1':0.001, 'C1':3e-6, 'C2':6e-6, 'C3':8e-6, 'L1':5000}
temp_grad = 0

Шаг 1. Строим матрицу используя эту залупу.

Шаг 2. Находим градиент.

Шаг 3. Если grad = temp_grad, значит нужно переключится на следующий
элемент в словаре(изначально Yv) и начать Шаг 4 с новым элементом, Иначе Шаг 4 со старым элементом.

Шаг 4. temp_grad = grad.

Шаг 5. Оптимизируем 1 элемент в словаре - Yv.

Шаг 6. Повторяем всю поебень заново.

Очевидно что нужно пройти все этапы от 1 элемента словаря до последнего. Очевидно что каждый раз матрица будет меняться, поэтому всё это в цикле While. Очевидно, что если матрица меняется, то и градиент меняется.
>>881482
#473 #881482
>>881477

Как всегда вы нихуя не помогли, но спасибо.

http://pastebin.com/DvnF5Uzr
#474 #881484
А это норм, что когда я пишу код, я иногда кончаю от того, как мне это нравится? Прям в труханы спускаю, потом отмывать приходится.
>>881487
#475 #881487
>>881484
Если так сильно нравится какое-либо дело - то тебя ждет в нем успех
#476 #881490
>>881430
Почему к счастью? Шагом назад не считаешь?
>>881496
#477 #881491
>>879207
Благодарою.
#478 #881496
>>881490
Нет.
>>881498
#479 #881498
>>881496
Так почему же? Сложно?
Я просто мечтаю отойти от веба в любую сторону.
>>881499
#480 #881499
>>881498
Так я не вебом занимаюсь.
>>881520
#481 #881505
>>881370
ардуинками играйся, это весело
>>881509
#482 #881509
>>881505
говно без задач
>>881510
#484 #881515
>>881510
Хоть одна из этих штук позволит что-то реальное сделать, что будет дешевле/лучше, чем покупное на нормальном оборудовании?
>>881517
#485 #881517
>>881515
Как тебя вообще чёрт дёрнул в программинг влазить с таким настроем?
ардуинка это копеечная затычка на тысячу дырок, а уж какие дырки ты себе придумаешь и определишь это дело твоё
>>881519
#486 #881519
>>881517
Ну, ващет если взять распбери, то это гуд. А вот этот весь ардуино-хлам просто для другой аудитории.
>>881522
#487 #881520
>>881499
А чем?
>>881521
#488 #881521
>>881520
В данный момент микросервисы на asyncio.
#489 #881522
>>881519
ну да, генильная идея делать включалки кофеварок и выключалки света по хлопку ладоней на рапсберри которое ещё и стоти в разы дороже тех трёх баксов за которые продаются ардуины
>>881534
#490 #881523
>>881521
что такое микросервисы?
>>881536
#491 #881525
>>881521
Дык это и есть веб.
>>881527>>881536
#492 #881527
>>881525
Не тот веб, который интернет магазины на джанго, но в широком смысле тоже веб.
#493 #881534
>>881522
Кто сказал, что эту хуйню? Распбери, в отличие от этого говна может делать реальные задачи, потому что линукс есть.
>>881570
#494 #881536
>>881525
>>881523
Веб, в моём понимании — сайтики/круды/js/ie6 и тому подобное. Микросервисы не имеют интерфейса (визуального). Это просто относительно разнесённые функциональные узлы, которые обмениваются данными по сети. Если ты и от этого устал, то не знаю.
#495 #881570
>>881534
ок, кодь малинку
#496 #881576
Здарова петоны, помогите ньюфажине.

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

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'.

Что это за ошибка?
#496 #881576
Здарова петоны, помогите ньюфажине.

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

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'.

Что это за ошибка?
>>881577
#497 #881577
>>881576

> from random import choice


> choice=

>>881579
#498 #881579
>>881577
Какой же я, блять, тупорылый. Спасибо.
234 Кб, 1600x1200
#499 #881588
>>881144

>Под виндой не работает gunicorn


>Зато работает python manage.py runserver


Проиграл
#500 #881590
>>881521
Напиши примеры задач, будь добр. Просто не могу понять, что же это за в-каждой-бочке-микросервис-затычки
>>881592
#501 #881592
>>881590
Ну, например: локатор, который говорит какой сервис где, менеджер базы данных с управлением блобами данных, воркеры с cpu работой, клиенты/операторы, источники данных да кучу всего ещё можно придумать.
>>881594
#502 #881594
>>881592
мне дико стыдно но я за год изучения питона с твоего поста и четверти не понял
чё почитать по теме?
>>881596
#503 #881596
>>881594
Так это вроде не к питону относится вообще. Это просто описание узлов, какой что примерно делает. Просто у питона есть asyncio, который позволяет кайфово общаться по сети, а также куча библиотек для всего.
Клиенты, кстати, либо будут веб-мордами, либо десктоп аппами на каких-нибудь шарпах/крестах.
>>881601
#504 #881601
>>881596

>Просто у питона есть asyncio, который позволяет кайфово общаться по сети


Что ты имеешь в виду? Полагаю, что для связи всех этих микросервисов в макросервис все равно используют всякие queues и rpc.
>>881607
#505 #881602
Прочитал "Укус Питона", прошел весь курс на Codecademy, справляюсь с задачками на check.io. Что дальше?
#506 #881603
>>881602
Всё. Ты прошёл жизнь, поздравляю.
#507 #881604
>>881602
Работу ищи, хватит уже саморазвиваться.
>>881613
#508 #881605
>>881602
синк пайтон наверни и дальше смотри чё есть
>>881613
#509 #881607
>>881601
И как это отрицает, что

> Просто у питона есть asyncio, который позволяет кайфово общаться по сети


Вместо потоков используются короутины вот и всё отличие. Ну, ещё отсутсвие части проблем с мутабельностью.
>>881619
#510 #881613
>>881604
Мне мамка так же говорит...

>>881605
Шпасибо.
36 Кб, 597x579
#511 #881619
>>881607
Не нервничай, просто не вполне понятно, что ты имеешь в виду под

>кайфово общаться по сети


применительно к asyncio
>>881620
#512 #881620
>>881619
Я имею ввиду, что я делаю await и не блокирую всё остальное.
>>881626
# OP #513 #881622
Пилите перекат или это сделаю я.
>>881632
#514 #881626
>>881620
Ок, понял.
#515 #881632
>>881622
пошел нахуй. Опять говна навалишь в шапку.
#516 #881646
Питонщик, а какую иде используешь ты? Просто хочу уйти в веб, но не хочу платить за пайчарм :^)
>>881647
#517 #881647
>>881646
Не плати, есть бесплатная версия.
>>881648
#518 #881648
>>881647
Так с неё же в веб нельзя
>>881649
#519 #881649
>>881648
Что значит "в веб нельзя"?
>>881652
20 Кб, 728x296
#520 #881652
>>881649
Вот, написано же, что с покупкой про версии открывается доступ к веб девелопменту
>>881659>>881664
#521 #881659
>>881652
Это как донат в ммо-дрочильнях. Труъ-задроты качаются прокачиватся до вебдевелопмента сами.
46 Кб, 746x492
#522 #881664
>>881652
Все упирается всего-то в предустановленных IDEA плагинах. Пикрелейтед моя профессиональная версия.
В принципе, можно напердолить из комьюнити. Поддержка джанго - всего лишь плагин для автокомплита в шаблонизаторе, быстрый переход от вьюхи к шаблону и к маршруту. Поддержка manage.py команд - суть просто надстройка над рантаймом, но только с автокомплитом команд (удобно кстати). Делается самостоятельно в настройках. Поддержка css фреймворков/базовый JS тоже плагинами делается. Хотя, конечно, удобнее прошка.
Если так уж хочешь пиратку- активируется в один(!) клик.
>>881666
63 Кб, 789x456
#523 #881666
>>881664
О, кстати у них сегодня как раз биг апдейт прилетел.
#524 #881672
https://www.jetbrains.com/pycharm/whatsnew/

>Terminal with Virtualenv pre-activated


>Database Improvement: Edit many cells at once


Вот это куль.
>>881763
#525 #881683
Седня решил изучать питон, ничего до этого не изучал, и статьи в интернете почти не нахожу/не понимаю, может что читать надо? Я же вообще полный ноль
>>881687>>881688
#526 #881687
>>881683
Зачем тебе изучать питон? Зачем?
#527 #881688
>>881683
кодекадеми наверни
5 Кб, 334x151
#528 #881693
Господа, для питона есть модули для 3d, чтобы заебца было?
>>881697
#529 #881697
>>881693
blender
>>881700
#530 #881700
>>881697
Про blender слышал. К нему можно прикрепить уже готовую программу на питоне без сильного мозгоебства?
>>881706
#531 #881706
>>881700
типа того, погляди блендер питон апи
#532 #881725
https://pymotw.com/3/index.html какой же ахуенный чувак. Я просто обмазываюсь его сайтом, 10 из 10
>>881754
#533 #881754
>>881725
Если не смотрел еще, глянь Python Cookbook by David Beazley
#534 #881762
>>881521
на чем общение? aiorabbitmq?
>>881884
#535 #881763
>>881672
А как в пичарме бд править?
>>881827
#536 #881811
Ребят задам платиновый вопрос только не гоните ссаными, я как бы могу в кодинг, давно писал на питоне всякие мелкие штучки, ну нормальные, сложнее чем лаба1.py, иногда и до 3к строк доходило, но все это мелкие системные скрипты были. И вот сейчас я подумал что если попытаться вкатиться на работу? Есть ли перспективы у человека без образования в этом смысле? Где исаиь работу для опыта ибо на хх ни одной вакансии не видел где не было бы "опыт от года"?
>>881813
#537 #881813
>>881811
И да, чтобы чуть чуть добавить вопросу информативности замечу что сфера не очень важна, любая, главное чтобы не нужны были html css js.
>>881818
#538 #881818
>>881813
Пиши микросервисы на asyncio, это позволит тебе кайфово общаться по сети.
#539 #881827
>>881763
Открываешь databases, добавляешь источник и в бой. Без задней мысли.
#540 #881855
Питонач, если мне нужно в Джанге заполнить данными таблицу для тестирования БД и функций вьюхи, можно как нибудь это автоматизировать? Я сейчас захожу в админку, тыкаю на таблицу и ввожу ручками ((((((((
>>881864>>881876
#541 #881864
>>881855
Ну создавай скрипт, который будет пихать рандом через Django ORM. В чем проблема? В Tango with django есть целая глава (populating).
#542 #881876
>>881855
Попробуй fixtures https://docs.djangoproject.com/en/1.10/howto/initial-data/
Можешь сделать дамп существующей базы командой 'manage.py dumpdata' https://docs.djangoproject.com/en/1.10/ref/django-admin/#django-admin-dumpdata - создаст JSON файл с твоими данными
Когда надо загрузить их базу, делаешь 'manage.py loaddata dump.json'

В тестах должно работать такое:
from django.test import TestCase

class MyTestCase(TestCase):
....fixtures = ['/myapp/fixtures/dump.json',]

То есть, когда во время тестов будет создаваться тестовая база эти данные загрузятся.
#543 #881884
>>882134
#544 #881905
Господа, что навернуть после кодакэдеми? Как перейти от задачек уровня лаб в институте до каких-то полезных вещей? Например, меня интересует изобретение велосипеда в виде Telnet/SSH клиента с нужными мне свистоперделками. Но как его захуячить, имея знания на уровне кодакэдеми, я понятия не имею. Что мне навернуть промежуточного?
>>881921>>881928
#545 #881921
>>881905
Очевидную стандартную библиотеку навернуть. Ссх пока что не потянешь написать, но ничего сверхсложного там нету. Научись сначала взаимодействовать с средствами ос, (tcp/ip), фс, процессы-треды, пайпы. Потом прочитай rfc ssh и пиши. Только несмотря на все готовые криптографические функции кое-что все равно надо будет понимать чтоб твой ссх решетом не был, хотя ссх на некомпилируемом языке со сборкой мусора уже слегка решето, если в идеале.
#546 #881928
>>881905
Синк пайтон потом стандарт лайбрери бай экзампл
#547 #881930

> Научись сначала взаимодействовать с средствами ос, (tcp/ip), фс, процессы-треды, пайпы.


Вот, у меня даже нет идей, как этому научиться на практике. Равно как и даже сам интерфейс сделать. Пойду повешусь
>>881938
#548 #881938
>>881930
Чтож ты за аутист блять, ясен хуй что у тебя нет идей если ты не знаешь че это такое. Стивенс - tcp/ip и не благодари. Это если хочешь как батя разобраться. Чтоб простенько воткнуться в протоколы и сокеты можно и какой-нить кратенький гайд на 20 страничек почитать.
>>882019
#549 #882019
>>881938
эмм, прости, но за сетевые протоколы, маршрутизацию, коммутацию, туннели и прочее говно я сам тебе могу пояснить. Вопрос стоит не "что это такое?", а "как с ними взаимодействовать путем написания говнокода (а другого у меня не получится) на питоне"
ВАШ ПИТОН - ГОВНО! #550 #882034
У меня было 4 миллиона файлов распиханных по 1 миллиону папок. Надо было сделать индекс в памяти. Тупо дерево, повторяющее структуру ФС. Имена папок и файлов не длиннее 20 символов.
Задача простая, и я решил дать питону шанс.

В первый раз я охуел когда сделал sys.getsizeof({}). На моей системе пустой дикт занимает 288 байтов. Дикт с 6 элементами уже 480.
Затем я потестил пустую строку - sys.getsizeof(u''). 49 байтов.
В результате я минимизировал использование диктов в пользу листов, заюзал слоты в объекте, представляющем ноду дерева, и всё равно имею оверхед по памяти в 5-10 раз по сравнению с тем, что имел бы на С.
Нахуй так жить, котаны?
#551 #882054
>>882034
ну и в пизду иди. зато на питоне сайтики делать приятно
#552 #882057
>>882034
Крестьяне набежали.
#553 #882134
>>881884
каким образом ты используешь синхронную либу в асинхронном коде? каждый чих в concurrent.future что ли оборачиваешь?
>>882255
новый тред #554 #882226
>>882222 (OP)

Переползаем, дарлинги.
>>882228
#555 #882228
>>882226
ты комбо говна на оп-пиках собрать решил?
#556 #882255
>>882134
pyzmq.asyncio дибил
#557 #882739
>>882034
тебе не жалко жесткий диск? В один файл нельзя запихнуть? У тебя не питон, а файловая система помрет быстрее.
>>882772
#558 #882772
>>882739
Нет не жалко. ФС это та же БД, пусть трудится.
Запихивать зеркало сайта с кучей контента в один файл противоестественно, потому что иногда хочется докачать новый контент или даже поднять веб-сервер.
#559 #883817
>>882034
Добро пожаловать в интерстелларпретируемый мир. Интересно, а нашу вселенную скомпилировали или мы скрипт?
#560 #883831
>>882034
import sys
from collections import namedtuple
d = namedtuple('Dicty', ['name', 'size', 'meta'])
a = d(name='Name', size=123, meta='Doodle:True')
sys.getsizeof(a) #72
b = {'name': 'Name', 'size':123, 'meta': 'Doodle:True'}
sys.getsizeof(b) #288

Словари, блядь...Слоты, нахуй. "Маааам, ну оверхееед, ну мааам это язык говно, а я молодец"
#561 #885629
Питонач, поясни пожалуйста тупому, а то гугл меня совсем запутал.

Установил я последний питон.
Дальше нихуя не понимаю. Одни пишут что надо ставить DE, другие пишут что IDE, другие пишут что перед IDE надо ставить еще что-то (при том каждый своё предлагает установить).
Просвятите пожалуйста.
>>891060
#562 #885841
Как собрать архив, в котором будут все питоновские либы, что бы в итоге можно было запустить все это дело на другом компе, как это сделано в sublime или taskcoach? Сирусли, как они это делают, я б мать продал
>>885863
62 Кб, 669x766
#563 #885863
>>885841
Вот что не так, ананасики?
>>891437
#564 #891060
Ну будьте же вы людьми, поясните.

>>885629
>>891436
#565 #891436
>>891060
что нравится тебе, то и ставь, не понимаю в чем вопрос. Поставь какой-нибудь pycharm/sublime text - и делов-то. Я вообще обычно копирую из консоли ipython в блокнотик, как дебил.
>>891847
#566 #891437
>>885863
virtualenv гугли
#567 #891847
>>891436

>нравится тебе, то и ставь


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

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

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