Этого треда уже нет.
Это копия, сохраненная 2 июля 2015 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
#2 #488114
Хочется превратить регексп foofun|fun|fun10|funyoba|function в (foo)?(fun(10|yoba|ction)?).

Как бы вы сделали? Как бы вообще разложили список на самое оптимальное дерево? inb4 отсортировал бы по алфавиту и "ел" повторения в начале строки.
#3 #488149
Зарепортил ОПа за медленный перекат.
44 Кб, 592x600
#4 #488151
>>488149
У ОПа ЕГЭ в школе, ему не до /зк/.
#5 #488208
Вкатился
>>487820
#6 #488284
Лжедвач, не знаю чего такого написать для практики. Решил попробовать пару 2д игр с pygame накидать. Годная идея или нет?
#7 #488289
>>488284
За что угодно берись - лишь бы тебе было интересно этим заниматься, так-то любую почти любую херню можно развить до такого уровня, что это уже будет полезный опыт. И да, игра для этого хорошо подойдёт, если не дропнешь.
#8 #488295
Сделал себе в программке небольшую систему логов и программа теперь начинается с
with open('output.log', 'w') as output:
Всё нормально записывается и работает, но есть два минуса:
1) Содержимое файла с логом нельзя посмотреть, пока он открыт в этой программе (показывает просто пустой файл.
2) Если python.exe каким-нибудь образом помрёт, то лог будет просран. А это более-менее важно в моём кейсе.
Я так понимаю, что как первый, так и второй минус связаны с тем, что питон сохраняет данные в файл, которые я ему давал на запись в течение своего скрипта, только в конце программы. Как можно разрешить эту проблему?
#9 #488297
>>488295
Почему не :
with open('output.log', 'a') as output:
?
Так оно у тебя и дописывать будет и норм.
#10 #488312
>>488297
'a' не подойдёт, потому что мне всё равно нужно, чтобы файл каждый раз перезаписывался.
Нашёл решение, стоило немного погуглить - https://docs.python.org/3/library/functions.html#open
В общем, если кому интересно, у open() есть ещё параметр, где указывается, сколько максимум может держаться в буфере данных перед тем как зафлюшить это всё в файл. И если поставить у этого параметра 1, то в буфере будет держаться лишь одна строка.
http://pastebin.com/LTcEwmbT
Если открыть параллельно с исполнением этого скрипта ещё и output.log, который создался, то можно увидеть, что он обновляется каждую секунду. И соответственно, если наебнуть питон, то в файле всё равно что-то уже будет сохранено.
sage #11 #488362
>>488312
а что стандартный логгер не используешь?
#12 #488367
http://scikit-learn.org/stable/auto_examples/svm/plot_custom_kernel.html
как сюда пихнуть ядро K_t(x, y) =[e^(t∆)]_x,y
питоно-боги, молю вас
#13 #488484
>>488295
Есть стандартная либа - logging.
Очень простая в использовании.
#14 #488487
Питонач, что посоветуешь в плане книги тому, кому лутца читать неинтересно? Неинтересно потому, что там слишком много воды, а у меня уже есть опыт на крестах и решетке, и читать про про if аж на 300ой странице (четвертая часть этого талмуда) как-то не хочется.
#15 #488490
>>488487
Паста про питон.тхт. Кроме шуток, она действительно описывает неплохую схему. Читай викиучебник/Dive into python или вообще вот тут http://learnxinyminutes.com/ узнай азы за пять минут. А потом смотри стандартную (или какую тебе там надо) либу и пиши программы.
288 Кб, 1280x720
#16 #488491
>>488487
Очевидные доки же. Туториал пройди, дальше понятно будет, что изучать.

Спрашивай в треде конкретику, когда в ступоре окажешься.
#17 #488522
>>488490

> http://learnxinyminutes.com/


Вот за это спасибо!
54 Кб, 546x323
136 Кб, 1759x624
#18 #488567
Питоны!
Нужно создать хтмл-страничку, которая запускала бы ру скрипт через баттон. Но блять она не запускает его, а предлагает сохранить. Что я делаю не так. Говорят, надо дать скрипту права на выполнение, но я хз как это сделать на шиндовс.
#19 #488569
>>488567
Джанга стоит?
#20 #488571
#21 #488572
>>488571
Почему бы не взять код в скрипте в отдельную функцию, а в обработке django просто сделать импорт и вызвать эту функцию?
#22 #488596
Посоны, не сочтите за хейтинг, но это пиздец, я как увидел питон, сразу подумал: "как блять на нём писать если логические блоки делятся индентами", так сейчас попробовал, так вообще охуел. Писал/копипастил парочку хеллоувордов на идеоне, и просто блять бросил это говно в бешенстве, когда он в очередной раз на ровном месте ругался на инденты. Как их блять ставить? Вот тупо блять всё строка в строку, символ в символ. А он хуяк: "ты инвалид, не можешь инденты поставить!".
На самом деле я конечно вроде разобрался в чём проблема была, но осадок то остался.
#23 #488603
>>488596
ой, начинается...

алсо, по факту ты просто сильно привык к остальным язык...

сейчас вот смотрю на руби с его ендами, и думаю как я наэто смог что-то писать(ведь раньше писал), гляжу на перлу, и думаю чо это за говно.

сейчас мне удобно и приятно использовать инденты, и считаю это главным достижением питона.
#24 #488604
>>488596

> редактировать код в браузере


Используй нормальные редакторы, инвалид.
#25 #488629
>>488603
Какое впечатление от руби осталось? Стоит сейчас им вообще обмазываться? Просто выбираю, на какие курсы пойти, и что-то сомневаюсь немного в выборе.
#26 #488635
>>488629
Раби из дед.
#27 #488636
>>488635
Почему? Мне тоже интересно. Вроде ж судя по зарплаткам - деньги идут. Или высокие зарплаты это из-за того, что на нём мало кто пишет?
#28 #488665
>>488629
Руби сейчас, это Рельсы...

И в итоге сами Руби это просто DSL к рельсам... По крайней мере в России.

И на коммунити это тоже отличаеться сильно...

Если Питон, это не только джанга, а еще тулзы, парсинг, в сисадминстве сильная штука... Аспиранты там пишут анальные расчеты... то Руби это Рельсы. в других страннах может быть кто-нибудь и тулзы пишут наподобие чефа и паппета... в россии нет... Так что если ты веб-разраб, то руби ок.
#29 #488668
>>488629
А ну и по поводу впечатления... приятный сахарный язык такой... бесит только что у каждой штуки внутри есть как минимум две реализации(while и until например... и тд)

куча разных модулей\гемов, часть из них может вообще кривой...

а так норм
#30 #488671
>>488567
вся логика приложения должна находится в представлениях (views). Создай файл views.py в директории с приложением, напиши функцию-обработчик get и post запросов, которая будет импортировать нужный тебе модуль и выполнять требуемые действия. Функцию нужно замапить наопределенный url или на регулярное выражение в файле urls.py
#31 #488682
Господа товарищи, а что можно поговнокодить, дабы лучше влиться в ООП? А то проблемы порой возникают в понимании самой концепции. И архитектуры в целом.
#32 #488686
>>488682
свой фреймворк хуякнуть.

цель ООП создать логическую прослойку, чтобы с этой прослойкой было проще работать.
#33 #488688
>>488686

>свой фреймворк хуякнуть.


Бля. А ничего попроще нет? Лол.
#34 #488690
>>488682
Смотри примеры у GoF или в других книгах по паттернам.
#35 #488693
>>488690

>GoF


Можно поподробнее?
#37 #488699
>>488697
Большое спасибо.
#38 #488702
>>488699
Ещё попробуй Буча почитать, там без пайтона, но в общем про ООП рассказано хорошо.
http://www.ozon.ru/context/detail/id/3905587/
#39 #488706
>>488702
Что-то на перевод везде жалуются. Ты на ингрише читал?
#40 #488708
>>488706
Да, лучше в оригинале.
#41 #488719
Блядь, анон, я не представляю как я буду писать на этом вашем питоне на работке. Для мелких задачек он хорош, конечно. Но потыкал я pyqt и охуел, designer на уровне шарповских winforms, ничего получше, типа wpf в питон не завезли? Как представлю, что там у них уже что-то монструозное на этом говне наформошлепствовано, так дурно становится, лол.
Вероятно не смогу в ентерпрайз-разработку на пистоне и сьебу с работы через недельку-другую. Сам согласился на нее, т.к. сейчас по шарпу ничего не найти было, а в профиле на хедхантере я указал знание питона, и в итоге меня вызвонили и предложили работку. Теперь думаю почему я такой дурак и при опыте использования питона уровня "простенький парсер для сайта", согласился на это.
#42 #488729
>>488719

нормальные форму завели только на СиШарпе, сходу больше ничего придумать не могу. даже у жавы вроде своя параша.
#43 #488746
>>488719
А что не так-то?
#44 #488755
>>488719
Ну хуй знает, qml же всякие есть ещё. А вообще в энтерпрайзе говно – частая практика.
#45 #488756
>>488755

> В это мире говно – частая практика


быстрофикс
61 Кб, 526x181
284 Кб, 1867x886
#46 #488782
>>488671
Я сделал, но кажется по-уебански. Сначала запускается скрипт, потом вылетает хтмл. А надо наоборот, сначала хтмл, там юзер вводит слово, нажимает баттон, запускается скрипт, который ищет введенное юзером слово. Помоги, анон! Целый день проебал уже.
12 Кб, 449x316
#47 #488822
Аноным, помогите програкуну.
Суть в том, что есть строка. В строке есть имена персонажей. Есть еще две строки, которые надо заполнить именами персонажей, находящихся в первой строк.
Надо сделать так, чтобы первые пять имен попали в во вторую строку, следующие пять имен в третью строку, потом снова следующие пять в первую и т.д.
Я пошел через флаги, ибо иначе хз как, что со школы осталось

Вот пример кода, который я накидал для решения:
aa=[1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20]

l=0
flag=0
q=[]
w=[]
for i in aa:
if flag==0:
q.append(aa[l])
if (l%5)==0:
flag=1

if flag==1:
w.append(aa[l])
if (l%5)==0:
flag=0
l+=1
print(q,w)

Как вы понимаете, ничего не работает. Всячески пытался забить всё это костылями, но даже костыли не помогали, хотя задача-то легкая! Прошу, помогите макаке
12 Кб, 449x316
#47 #488822
Аноным, помогите програкуну.
Суть в том, что есть строка. В строке есть имена персонажей. Есть еще две строки, которые надо заполнить именами персонажей, находящихся в первой строк.
Надо сделать так, чтобы первые пять имен попали в во вторую строку, следующие пять имен в третью строку, потом снова следующие пять в первую и т.д.
Я пошел через флаги, ибо иначе хз как, что со школы осталось

Вот пример кода, который я накидал для решения:
aa=[1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20]

l=0
flag=0
q=[]
w=[]
for i in aa:
if flag==0:
q.append(aa[l])
if (l%5)==0:
flag=1

if flag==1:
w.append(aa[l])
if (l%5)==0:
flag=0
l+=1
print(q,w)

Как вы понимаете, ничего не работает. Всячески пытался забить всё это костылями, но даже костыли не помогали, хотя задача-то легкая! Прошу, помогите макаке
#48 #488833
>>488755

>qml же всякие есть ещё


уже близко, но все еще хуета, в сравнении с давно не развивающимся wpf'ом
64 Кб, 430x365
#49 #488874
>>488822

> в строке имена персонажей


> aa=[1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20]

#50 #488879
>>488874
Ну я же ньюфаг еще, что с меня взять. А если вы конкретно про несоответствие, то это верно, просто не вижу смысла пилить сюда весь код
78 Кб, 1024x768
#51 #488902
>>488822

import itertools
a = [1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20]
a = [a[i:i+5] for i in range(0, len(a), 5)]
a = [a[i::3] for i in range(3)]
a = [list(itertools.chain(*x)) for x in a]
print(a)

Получается:
[1, 2, 3, 4, 5, 17, 18, 19, 20]
[6, 7, 8, 9, 10]
[12, 13, 14, 15, 16]
#52 #488933
>>488822
names=list(range(20))
q=0
for i in names:
..if q<5:
....list2.append(i)
..if 5<=q<10:
....list3.append(i)
..if 10<=q<15:
....list1.append(i)
..q=q if q<14 else 0
..i+=1
#53 #488938
>>488933
в нижней строке q+=1, само собой
(также не забудь объявить списки)
#54 #488986
>>488938
не питонично. Если длинна входного списка изменится - нужно переписывать код.
#55 #489004
>>488986
YAGNI же, вполне питонично.
147 Кб, 913x367
#56 #489028
>>488986
Почему это?
Если тебя смутила первая строка, про names=list(range(20)), то это мне было лень писать 20 str-значений-"имен".
Если хочешь, можешь сделать хоть range(532) и все будет правильно работать.
/Сейчас только заметил, что нужно чуть-чуть исправить код. Ночью затупил немного. Из-за этого бага иногда втыкало не 5 значений, а 4 в строку. Правильный код на пике./
#57 #489076
Питончики
Как заставить BSoup методом find() выдать мне второе совпадение, как сказать, что то что я ищу это 'summary-alt' а не 'summary-alt adfeatures'(которое он мне выдает как первое совпадение)?
Знаю есть метод find_all(), но он возвращает несколько другой объект. Может есть регулярное выражение, типа 'summary-alt<this is the end of word>'?
45 Кб, 934x717
#58 #489079
>>489076
Отклеилось.
#59 #489197
>>489076
summary-alt(?!\s)
#60 #489200
>>488822
Всем любителям клёвых компрехеншенов посвящается:
b = [[elem for lst in [aa[i:i+5] for i in range(5*n, len(aa), 15)] for elem in lst] for n in range(3)]
#61 #489201
>>489200
А потом перл ругают.
#62 #489204
>>489200

> компрехеншенов


> клёвых


Нет таких.
#63 #489205
>>489200
Жамкнулся с твоим компрехеншоном.

>>489201
Сортировки тоже непонятные. Для того и придуманы функции - чтобы убирать под них говно с глаз!
#64 #489210
>>489204
Ты просто не умеешь.

Надо поменьше стейтментов в него пихать - делать несколько компрехеншенов подряд. Тогда вместо здоровенного вложенного цикла с кучей проверок получится буквально несколько строк повышенной читаемости. Ступай делать компрехеншены!
#65 #489211
>>489210
Несколько строк с горизонтальным скроллом.
#66 #489215
>>489210
Ну, ты-то поди умеешь. Давай расчехляй свои лучшие компрехеншены, посмотрим.
6 Кб, 140x596
#67 #489218
>>489211
Так ты враппинг включи же.
#69 #489223
>>489215
С лучшими скучно. Лучшие выглядят так:

[something(x) for x in some_list]
#70 #489225
>>489218
Ну все, теперь я понял как надо писать на питоне.
14 Кб, 411x40
#71 #489226
>>489197
Не выходит.
#72 #489230
>>489225
Правильно - постепенно сужать окно. На 10 символов в год. Джун - 120 символов, миддл - 80, помидор - 40, Гвидо - 1 (просто ему уже некуда).

>>489226
Может, синтаксическая ошибка из-за отсутствия скобки? Я regexr-ом проверил, у меня вышло.
#73 #489234
>>489223

> list(map(something, some_list))


> [something(x) for x in some_list]


Очень компактно и удобно, давай дальше.
#74 #489235
>>489234
С питонолямбдистами бесед не ведём.
#75 #489237
>>489226
Пробывал хpath? Что-то аля html.xpath('//ul[@class="summary-alt"]') выберет только те, что строго с тем классом. Хз можно ли такое в супе, пример из lxml.
#76 #489241
>>489235

> list(map(something, some_list))


> лямбда


У тебя компрехеншон головного мозга.
слив защитан
#77 #489260
>>489076
Как большой любитель костылей я иногда делаю вот так:

def someFilter(tag):
..return tag.name = 'ul' and ''.join(tag.get('class')) == 'summary-alt'

bs.find(someFilter)

Наверное, как-то лучше можно, но заебался уже - у соупа абсолютно везде, где я пробовал, фильтр на класс выставляется только на часть класса, т.е. то, что ты указал, должно в классе быть, а вот то, что только оно там будет этого никто не гарантирует.
#78 #489276
Питон
Пистон
Гвидон
Пиздон
Пифон
Пердон
Поддон
Плафон
Сифон
Дракон
Пион
Понтон
Футон
Страпон
Тритон
Масон
Хуён
Платон
Пахом
#79 #489277
>>489276
Пиши просто "бамп", дибил.
#80 #489281
>>489277
Пишон
Простон
Бампон
Дибон
#81 #489284
Какие более-менее простые таски часто на фриланс попадают? Пока что только нашёл веб скрапинг, что, как мне показалось, довольно просто, но на него набегает такое количество индусов, что просто охуеть можно.
#82 #489295
>>489284
А что ты хотел с таким порогом вхождения в язык?

По-моему, лучше задрочить что-то продвинутое и нераспространенное и работать по этой области.

Но я просто веб-технологии не люблю.
#83 #489316
>>488295
my_file.flush() же, сливает из буфера в файл когда захочешь.
#84 #489327
Сейчас работаю с utf8 текстом, где куча разных бесполезных символов, которые мне не важны, и в течение кода у меня периодически всплывают всякие конструкции типа:
a.encode('cp1251', 'ignore').decode('cp1251') # где в a какой-нибудь utf8
Я, конечно, завернул эти все вызовы в функцию, но нет ли в питоне какого-нибудь варианта прописать вообще всем попыткам питона заинкодить чего-нибудь (например, когда в файл пишешь, выводишь через принт и т.д.) этот самый 'ignore', чтобы он все символы, какие не может заинкодить просто пропускал?
#85 #489330
Какие пакеты для питона (типа джанго, фласка) ещё часто используются и стоит изучить?
#86 #489334
>>489330
Красивый суп.
#87 #489335
>>489327
Экзепшены же, хули не?
#88 #489337
>>489330
алхимию эскуел
#89 #489338
>>489330
алхимию эскуел
#90 #489359
>>488284
Сделай РПГ, там чтобы в лесу. Можно быть эльфом, человеком. И корованы грабить.
#91 #489360
>>488284
Борду напиши)
#92 #489388
Добавьте в гит-шапку https://github.com/vinta/awesome-python
#93 #489403
>>489028
>>489028
спасибо, анон!
#94 #489418
>>489330
выбрасывай это синхронное говно, на нем пишут только дауны вроде этого. >>489276
#95 #489419
>>489403
незачто.
#96 #489420
>>489388
поддвачну. Я предлагаю еще собрать гитхаб-аккаунтов популярных питонистов и выложить их куда-нибудь, чтобы можно было фолловить и быть в курсе всех дел в мире Python-dev'а.
#98 #489422
#99 #489431
>>489418
А что с ними не так? Что тогда изучать?
#100 #489435
>>489431
Можно и их изучать. Только понимай, что это переходный этап и ограниченный сверху. Когда эти фреймворки создавались, веб был другим.

Посмотри на Торнадо и asyncio, если ты так хочешь писать бекенд на Питоне. Но это сложнее чем синхронный thread-per-connection подход, рили.

Сейчас веб ивент-драйвен со всякими веб-сокетами.
sage #101 #489452
>>489421
Когда читал его, он засрал мне всю ленту со своей sjw и феминистической хуитой. Ну его нахуй.
#102 #489465
Есть лист со строками и каждую строку в листе надо заменить на "хуй".
for strk in strks:
strk = 'хуй'

^ нихуя не заменяет, как быть?
#103 #489467
>>489465

>>> l=[1,2,3]


>>> for i,v in enumerate(l):


... l=0
...

>>> l


[0, 0, 0]
#104 #489470
>>489465
strks = ['хуй'] * len(strks)
#105 #489472
>>489467
Блять, ебучая макаба с какого-то хера брекеты сожрала. Ну похуй, уже вариант лучше дали.
#106 #489512
>>489260
Спасибо, попробую!
#107 #489538
Какое IDE использовать для питона? Сейчас пользуюсь эклипсом, но мне он дико не нравится. Что еще посоветуете? Алсо, норм ли будет саблим+компиляция через терминал? Система - убунту.
#108 #489542
>>489538
Пайчарм. На рутрекере можно украсть кейген, сгенерить ключик, и он будет работать в нормальном пайчарме с офф. сайта.
17 Кб, 389x475
#109 #489543
ПитонЫ, я тут строю в матплотлибе график. Можно ли из него как-нибудь запилить готовую функцию?
#110 #489544
__builtins__.True = False
#111 #489550
>>489542
Зачем его воровать?
#112 #489598
>>489543
Ты можешь на глаз подобрать функцию. А потом профитировать её в scipy
#113 #489624
>>489544
SyntaxError: invalid syntax
#114 #489652
>>489624
http://ideone.com/2dvAES
Ты в неправильном питоне пишешь.
#115 #489747
>>489435
Не пизди.
#116 #489888
>>489652
Ясно.
#118 #489981
>>489550
Ты дебил или придуриваешься? Я если могу достать бесплатно что-нибудь обязательно достану бесплатно. Вот такая я пидорашка, которая свалит за бугор скоро.
#119 #489989
>>489981
Есть подозрение, что Анон выразил свое непонимание по причине наличия бесплатной версии IDE PyCharm, которая называется "Community Edition". Но если тебе нравится "доставать", то никто не против.
#120 #490021
>>489989
Это я и имел в виду. Я вообще сейчас с него слез временно, ибо не запоминаю, ни черта из-за автодополнения. Лол.
#121 #490095
>>489538
Jupyter.
#122 #490149
А чем, кстати, пайчарм будет лучше чем тот же сублайм текст?
#123 #490150
>>490149
Рефакторинг, всякие хитровыебанные анализаторы кода, автодополнения, быстро можно создавать и масштабировать проекты, легко с ними работать и много чего ещё.

Сравнивать IDE и текстовый редактор глуповато на самом деле, я дрочу код в виме, но если надо именно РАЗРАБОТКА и с этим точно будут работать другие макакичи - беру IDE. Плюс там множество перделок чтобы работать в команде эффективнее.
#124 #490165
антоши поясните, задал вопрос в этом треде https://2ch.hk/pr/res/465946.html
но он почему то не поднимает тред, в чем дело, проделки макаки?
и за одно ответьте кто нибудь.
>>487667
#125 #490166
>>490150
Всякие анализаторы, автодополнения, миллион видов интеграции с гитом, рефакторинги и т.д. можно и в сублайм себе накачать. А чего там есть для того, чтобы совместно с кем-то кодить? И это всё платное и на серверах джетбрэинс?

И да, чего так вим многие дрочат? Ни разу не пробывал, но прям интересно стало, чего там такого лампового.
#126 #490167
>>490165
сука я уже пятый день не закрываю вкладку, а он оказывается не виден.
42 Кб, 453x604
#127 #490168
>>490165
Тот тред в бамплимите давно, наркоман. Посмотри книжки в шапке. Интуит говно какое-то, тем более по второму питону.
http://www.diveintopython3.net/ щитаю для нубов ок, без воды.
#128 #490174
>>490165
Не нужно.
Если тебе нужно чтобы всё разжевали, скачай с nnm-club уроки от школы программирования, плюс загугли pybursa скачать, вроде тоже были в паблике.

Для ньюфага самое оно, от хеллоу ворда до написание приложений на джанге. А дальше уже можешь штурмовать книги и гугл, ну и ПРАКТИКА, без неё ты нихуя не научишься.
#129 #490177
>>490167
и ещё, если будешь искать, то сразу ищи материал по третьему питону и скипай всё со вторым, потому что несмотря на все эти высказывания, которые часто встречаются в интернетах, "но на втором же все библиотеки уже есть, а на третьем ни хуя нет", во-первых, на третьем уже всё, что тебе понадобится, есть, а во-вторых, все потихоньку съебывают со второго и недостающие библиотеки уже пишутся и это вопрос времени (уже небольшого).
#130 #490238
>>490166

Мимо другой анон, мне хватает PyCharm CE, для бизнеса он не подходит, но для моих поделок идеально.

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

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

Так что на вкус и цвет, все реадкторы разные... Вы тут еще емакс вспомните.
#131 #490250
>>490166
По своему опыту скажу - в pycharm они куда продвинутее чем в саблайме или виме. Особенно работа с джангами всякими и подобное, всё таки на этом огромный упор и делают. Просто попробуй на практике, можешь своровать на рутрекере самую жирную версию и что-то сделать. Для промышленной разработки решения лучше не придумаешь.

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

А в виме удобно то, что ты полностью всё делаешь клавиатурой и очень эффективно. Всякие хитровыебанные работы со строками, переносы и всё такое, притом когда надрочишься, то делаешь всё это очень быстро. Скажем так, разница как между рисованием мышкой и на графическом планшете.
#132 #490254
>>490174
нашел только курсы от "специалист" на nnm, по pybursa только ссыль на сайт где он продается.
>>490177
>>490168
по книгам боле менее определился
выбираю между Марк Лутц Изучаем питон 4-е издание (2011) и Майкл Доусон Программируем на питон (2014), склоняюсь к второму, вроде посвежее.
653 Кб, 1280x720
#133 #490283
>>490254
Ладно, раз ты такой растеряша в интернетах, вот тебе ссылочки.

http://nnm-club.me/forum/viewtopic.php?t=859590 - Школа программирования | Python Разработка веб-приложений (2013) PCRec [H.264/720p-LQ]
https://cloud.mail.ru/public/6ab7b9c8294c/Python_online/ - PyBursa, пароль от архивов www.cogamesmoney.ru

А вот эти на английском!
http://rutracker.org/forum/viewtopic.php?t=4821521 - Working with Algorithms in Python
http://rutracker.org/forum/viewtopic.php?t=4821909 - Intermediate Python
http://rutracker.org/forum/viewtopic.php?t=4380161 - Learn Python The Hard Way (есть ещё книга, можешь своровать, очень-очень хорошая).

В шапке есть FAQ, там есть ссылки на udacity, там тоже много интересных курсов по созданию всяких клевых штук. Преподают олдфаги с гугла которые разработали весь поисковик такие как Норвиг. Он очень-очень умный.
Да, многое на английском, но без него совсем туго. Минус такого материала видео и переводов ещё в том, что большая часть на python 2.х, но я так понимаю опыта у тебя совсем-совсем мало, поэтому тебе сейчас будет без разницы, учись программировать и писать код, усвоить отличия 3 от 2 займет у тебя пару вечеров чтения статеек на хабре и медиуме.
Из двух книг выше лучше Доусон, она полегче для восприятия. Потом уже Лутца читай, он любит много воды лить, тяжело будет переварить.

Из начальных редакторов, я бы поставил на твоем месте что-то вроде Sublime, а уж потом перелез на PyCharm если надо. Учись рыться в коде сам, автокомплиты будут сначала больше отвлекать, чем помогать. Если ориентируешься под веб и джангу, советую сразу почитать про VagrantUp.
#134 #490284
>>490283
Подумал что в ПХП-тред попал.
#135 #490285
Ах да, мне кажется читать всякие DIP3 очень сложно человеку, который в программирование совсем не бумбум. Она краткая, да, но она не объясняет многих вещей который возникают по мере чтения. Хотя если у тебя есть опыт программирования хотя бы калькуляторов на паскале, то да, это отличная вводная книга. После неё можно смело брать Лутца для чтения о нужных тебе вещах во всех подробностях.
Ну и LPTHW в любом случае отличная своими задачами!

Главное пиши больше кода, иначе от теории будет мало толку.
#136 #490337
А что не так с Visual Studio?
#137 #490367
>>490284
И впрямь.
155 Кб, 960x720
#138 #490501
>>490283
Спасибо бро за ссылки и наставления, в первый раз получил дельный совет в pr/.
добра тебе и чаю джва.
#139 #490665
Решил попробовать с профайлерами поработать, пока попробовал только snakeviz (очень удобно, наглядно, не знаю как я без этого раньше жил) и pycallgraph. И pycallgraph выдаёт вот чего, никто не сталкивался?
Traceback (most recent call last):
File "C:\Python34\Scripts\pycallgraph", line 25, in <module>
with __pycallgraph.PyCallGraph(config=__config):
File "C:\Python34\lib\site-packages\pycallgraph\pycallgraph.py", line 32, in _
_init__
self.reset()
File "C:\Python34\lib\site-packages\pycallgraph\pycallgraph.py", line 53, in r
eset
self.prepare_output(output)
File "C:\Python34\lib\site-packages\pycallgraph\pycallgraph.py", line 97, in p
repare_output
output.sanity_check()
File "C:\Python34\lib\site-packages\pycallgraph\output\graphviz.py", line 63,
in sanity_check
self.ensure_binary(self.tool)
File "C:\Python34\lib\site-packages\pycallgraph\output\output.py", line 97, in
ensure_binary
'The command "{}" is required to be in your path.'.format(cmd))
pycallgraph.exceptions.PyCallGraphException: The command "dot" is required to be
in your path.

Чего ещё можете посоветовать из профайлеров и т.д.?
Ещё хотел спросить, что думаете по поводу дебаггера пайчаровского - насколько он удобный, чего умеет?
#140 #490721
>>490665
Джва раза был нужен профайлер, пользовался вот этим https://pypi.python.org/pypi/statprof
#141 #490761
какие востребованные ниши в питон-фрилансе?
#142 #490763
>>490761
Скриптинг, дата майнинг (наверное), веб.
#143 #490781
>>488822
aa=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]

q=[]
w=[]
tmp = q
for i in range(len(aa)):
\tif i % 5 == 0:
\t\ttmp = w if tmp == q else q
\ttmp += [aa]\t
print(q,w)
#144 #490826
>>490781
это как-то вообще не пайтон-вей, проще тот гигантский компрехент разобрать на несколько частей - будет куда эффективней
#145 #490829
>>490826
императивщина, гадость. Либо map либо list comprehension нужно заюзать.
#146 #490830
>>490829
это туда ответ был
>>490781
#147 #490833
>>490826
Проще или эффективнее? Сомневаюсь, что эффективнее. А проще это субъективная оценка. Я не знаю как там под капотом работают листы, но почти уверен, что разбивать их более затратная задача, чем один раз проитерировать.
>>490829

>comprehension


Пайтон больше императивный язык, чем функциональный. Какой смысл кодить на пайтоне, если угараешь по функциональщине? Хаскель в помощь.
#148 #490836
>>490833
Читал не так много статеек про то, как оптимизировать код на питоне, но везде писали (вот например первая ссылка из гугла -> https://wiki.python.org/moin/PythonSpeed/PerformanceTips ), что использовать компрехеншены (или мапы) гораздо эффективнее, чем просто делать каждую итерацию append() (+=).
#149 #490868
>>490833

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


Потому что можем. Какой ты скучный, погромист
#150 #490870
Эй, питоны, как питонично отформатить вывод в столбики? Есть вот така хуйня, {:>14}, но с ней приходится самому считать len и все такое, иначе столбики поедут.
И было бы круто чтоб содержимое столбика автоматом обрезалось если оно больше самого столбика.
#151 #490891
>>489624>>489652
>>489888
Интереснее это сделать в интерактивном режиме
#153 #491012
Есть примерно такая структура программы

1. Создаю класс с несколькими методами, которые должны выполнять некую работу

2. Обявляю экземпляр класса

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

class A:

....def method1(self):
........Тут некая логика и условия прерывания

....def method2(self):
........Тут некая логика и условия прерывания

instance = A()

while True:
....if <bla bla bla>:
.......instance.method1()
....else:
.......instance.method2()
#154 #491031
Посоны, что такое django-crispy-forms. Что конкретно они дают?
#155 #491092
>>491012

return в методах заюзать не?
#156 #491104
>>491092
Спасибо, попробую
#157 #491252
Как мне через модуль pyglet сделать взаимодействие пользователя с программой через клавиатуру?

Знаю что можно создать окно и уже потом к этому окну добавить событие (нажатие клавиши) и в дальнейшем обработать его. Вопрос в том, как не создавая окна добавлять события?
#158 #491265
Посоветуйте гитхабов, которые полезно будет прочитать начинающему питонеру.
#159 #491267
>>491265
Что пишешь - то и читай. А для совсем начинающих обычно в учебниках достаточно кода.
А так, ну, модули из стандартной библиотеки можно посмотреть. И вот тут например https://github.com/vinta/awesome-python
#160 #491331
Решил я тут взять джангу.
Во время жизни приложения у меня создаются синглтончики. Ну, кустарным способом - статическая переменная хранит объект, а спец метод, если надо , создает объект по запросу. Так вот, периодически пропадает содержимое всех статических переменных. То пропадает, то появляется. Локально все збс. Главное подозрение, конечно, падает на хероку. Как лечить? что я делаю не так?
#161 #491336
>>491331
Храни состояние в бд/кэше.
#162 #491349
>>491336
в бд будет медленно. По идее это грубо говоря лайвчат. пока сделано просто в лоб, даже без вебсокетов. Есть пул консультантов, пользователи инициируют диалоги, соответственно есть хеш диалогов.
Все это хозяйство надо где-то хранить. Просто в памяти, значит, не получается. Что делать-то? В бд такое пихать стремно, что за кеш?
sage #163 #491355
>>491349
в redis все ебашь
#164 #491383
>>491349
Если я соберусь использовать memcached , то если я сохраню объект целиком там, это будет копия обекта или ссылка на тот самый объект?
#165 #491418
Как нормально заменить последние n элементов списка? У меня одни костыли получаются.
#166 #491494
>>491418
Слайсы, братан, слайсы...
a[-n:] = b

a = list(range(10))
a[-5:] = 'x' 10 #заменяем последние элементов листа
print(a) # [0, 1, 2, 3, 4, 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a']

Если интересно, при помощи слайсов можно ещё кучу не особо читаемой еботеки творить. Например, замена всех чётных элементов массива:
a[::2] = 'x'
8 # Важно, чтобы количество присваемых элементов было такое как количество элементов в записанном слева слайсе
print(a) # ['x', 1, 'x', 3, 'x', 'a', 'x', 'a', 'x', 'a', 'x', 'a', 'x', 'a', 'x']
#167 #491621
Как вот это переписать, чтобы разбивка шла не пробелом, а переносом строки?
(str(x) for x in input().split(" ")) . split("\n") не работает.
#168 #491633
>>491621
Инпутом разве многострочную строку принять? Он вроде бы берёт только первую введённую строку, а на остальное забивает.
А вообще, если тебе нужно что-нибудь разбить на строки, обычно работает .split('\n') или .splitlines()
#169 #491640
Есть мыло [email protected]

Как получить логин, все что до собачки?
#170 #491642
>>491640
Ну ты ваще.
email[:email.find('@')]
#171 #491646
>>491633
Можно.
http://ideone.com/cod3VS

Через .split("\n") и .splitlines() не работает, не знаю.
#172 #491650
>>491642
Спасибо
#173 #491667
>>491646
как ты будешь сплитить по строкам что-то, что пришло из input(), если input() принимает только одну строку.
Вот пример если передать ему несколько строк:
http://ideone.com/iOrX8P
Если ты хочешь, чтобы у тебя был многострочный инпут, нужно делать что-то типа вот этого http://ideone.com/CD5wpU
Если я тебе какую-то херню втираю, так как не правильно тебя понял, то напиши пример того, что ты хочешь ввести и что программа должна при этом вывести.
#174 #491670
Бля. Есть http://ideone.com/mSC1Nu
Проверяю если нет объекта то вызывать форму для создания, но потом эта форма остается даже если создаю форму, как поправить?
#175 #491683
>>491494
Охренеть. Спасибо. А я с форами пердолился :(
#176 #491885
Использую GStreamer чтобы слушать радио, как мне получить "stream title"?
http://pastebin.com/17VhXQR0
#177 #491979
Ребят, вопрос.
Вкатился в программирование год назад, сейчас работаю пхп-макакой.
Стоит ли параллельно работе учить питон?
Имею представление о MVC, ООП, базовых алгоритмах.
#178 #491983
>>491979
Если время есть - стоит. И не только питон. Нормальный программист знает несколько языков, знаком с большинством мейнстримных, а с помощью такой-то матери и гугла может "писать" на всех. Расширение кругозора, все такое. Плюс это дает возможность грамотно участвовать в языкосрачах.
49 Кб, 500x498
#179 #492115
Доставьте годный учебник. Пробовал книжки - скучная хуита, очень много воды бесполезной. Codeacademy - на английском всё же трудно учиться. Пока было то, что я знаю - задания легко делал. А потом началось страдание.

Очень понравилось, как сделан учебник у пхп-господинов

>>/pr/487138


Нет бесполезной воды, нормально объясняется, нормальные задания. Есть что-то подобное для питона?
#180 #492122
>>492115
У Марка Саммерфилда годная книга по 3-му пифону.

>нормальные задания


Она с примерами даже.
#181 #492168
Привет, Питоны!
#182 #492169
>>490283
Блять, анон! Где найти время для всего этого ?
#183 #492170
>>492169
Перестань скроллить /б/ и сократи число просматриваемых тайтлов/сериалов и игорей.
#184 #492172
>>492170

>Перестань скроллить /б/


Да ты охуел! Я только зашёл.
#185 #492187
>>491667
Да, спасибо, что-то типа такого и хотел. Просто думал можно покороче это все сделать, но ладно.
#186 #492360
>>489538

>компиляция


В сублайме дохуя под питон наворочено. Терминал не нужен.
6 Кб, 220x229
#187 #492403
Аноны, помоги. Немного не в тему треда, ну уж простите. Хочу стать обезьяной2.0 и пытаюсь сделать e-ларек для резюме. Поковырял джангу, сделал хостинг на openshift. Установил plata( вреймфорк для електроного магазина). Читаю документацию plata и нихуяшечки не понимаю. Оче сильный пробел - я не понимаю CMS и баз данных. Я даже не могу толком сформировать вопрос. Че делать? Как делать этот магаз? Обязательно задрачивать теорию баз данных? Как понять эти CMS?
#188 #492411
Ньюфаг, вчера написал хеллоуворлд, бочку соснул, хуйцы сделал.
Как сложить строки из двух разных файлов?
#189 #492417
>>492403

>Обязательно задрачивать теорию баз данных?


Обязательно или профессия не для тебя.
И не беспокойся так, ещё в 90-е, ещё до появления MySQL и питона норот страдал-мучался тем же вопросом.
Главное, в верстальщики-эникейщики не ходи.
#190 #492418
>>492411
Прочитать в две переменные, не судьба?
Ах да, у тебя же в программе только одна переменная. Тогда никак.
#191 #492432
>>492418
Так две и есть, лол.
Строки складывает, но только последние. А их там довольно много.
#192 #492434
>>492417
Да я в принципе не против выучить теорию баз данных. Одна проблемка, я постояно боюсь что слишком поверхностно изучил и постоянно лезу еще глубже. Хуяк и я уже пытаюсь вникнуть в алегебра множеств. хуяк и куча времени проебано. А мне всего то нужно в SQLite немного шарить. Дико бесит то что нет книг например выучить теорию реляцонных баз данных и все это на примере sqlite.
СMS че делать? Читать доки пока катарсис не догонит?

>верстальщики-эникейщики не ходи


Куда угодно пошел бы лишь бы 100$ платили и не заставляи тягать тяжести, заебало.
#193 #492435
>>492432
with open("foo.txt", "r") as foo, open("bar.txt", "r") as bar:
foo_data = foo.read()
bar_data = bar.read()
#194 #492442
>>492432
Извините, что побеспокоил - надо было цикл прервать, а я и не допер сразу, как это делать. Хеллоуворлдщик же.
#195 #492443
>>492435
А так лучше. Спасибо!
#196 #492445
>>492434
Качаешь любую книгу-справочник с примерами по нужной тебе БД. Издание Packt Publishing выпускает дохуя таких, там страниц на 150-300 максимум книжули, как раз идеально тебе подойдут.
А про матан почитай дискретная математика для программистов скачать торрент
#197 #492457
>>492443
У нас тут не принято отвечать помогающим. Запомни. Тем, кто помог отвечать не нужно вообще. Нужно получить инфу и съебать, оставив собеседника в недоумении, прочитали ли его пост, и если да - помогло ли.

Ты портишь всю атмосферу нашего гадюшника и должен уйти.
#199 #492464
>>492457
Спасибо, ушел.
На самом деле нет
#200 #492552
БЛЯТЬ, СУКАНАХУЙЕБАНЫЙВРОТ!!! Пиздец подкрался незаметно. Помогите! Установил я Plata(ебаный фремворк для магаза), начал настривать его, делать эти ебучие модели и тут Джанга мне выдает Exception Value: \tNo module named defaults
Оказываеться в Джанго 1.8 нет такого модуля from django.conf.urls.defaults import *. Похерили они defaults. Откатываться до 1.6 - лениво, все заново переделывать. Посоветуйте как мне наебать Platа и подсунуть ей этот defaults.
#201 #492568
>>492552
defaults = None
#202 #492570
>>492552
Установи джангу 1.6
#203 #492575
>>492570
Бля. А там еще какая нибудь хуйня вылезет. Современное программирование во фреймворках превратилось в настоящий ад зависимостей. Хливкая башенка из детского конструктора, вытянешь один кирпичик - розвалилось все к хуям. Если бы программисты строили цивилизацию, ее мог бы уничтожить случайно залетевший дятел. Ага , такой дятел как я.
>>492568
Я не понял тебя. В defaults лежат нужные мне функции. Гуглил эту проблему. На стэковерфлоу советуют заменить на "from django.conf.urls import patterns, url, include" если свой код. Но это не мой код ,а провить PLata я заебусь. Вот поетому я и спрашиваю можно ли скормить эти модули - patterns, url, include как "from django.conf.urls import pattrens, url, include AS DJANGO.CONF.URLS.DEFAULTS"? Сомневаюсь что три библиотеки можно импортировать под одним именем.
#204 #492577
>>492575
Используй virtualenv и не выпендривайся.
46 Кб, 893x420
#205 #492603
Как быть анон? Джанга выкидывает еррор
при попытке загрузки файла.
Через браузер загружается. Что я делаю не так?
#206 #492627
>>492460
Бля, посмотрел половину этой хуиты. «приватный конструктор публичный getinstance», для какого же быдла это расчитано?! Я про паттерны вообще.
#207 #492666
>>492603
Sudo chmod 755 filename
200 Кб, 1600x900
#208 #492673
>>492577
Оно уже на сервере крутиться. Блять, ладно переделаю под django 1.6. Сук.
#209 #492675
>>492673
Как же бесят такие арты.
#210 #492695
>>492627
И что тебя смутило?
А вообще, по ООП рекомендую Гради Буча. Только на английском.
#211 #492697
>>492627
Лучше половину всего курса посмотри. Вещи там действительно полезны рассказывают. По одному синглтону о паттернах е судят.
#212 #492698
>>492695
Ну как-то топорно, типа вот паттерн, делай так и не думай.
#213 #492699
>>492697
Посмотрю конечно, но не думаю что буду впечатлён.
#214 #492702
>>492698
Ты видимо невнимательно слушал (или не дослушал до того момента), лектор прямым текстом говорит что использовать паттерны в лоб это стремно и что перед использованием надо трижды подумать подойдет ли он под поставленную задачу и при любом сомнении забить на паттерн.
#215 #492745
>>488104
Питонисты привет.
Можно ли на питоне сделать проект аля камшоурум. Лайк зис - 4cam.com
Или аналог твиттера?
#216 #492749
#217 #492750
>>492460
Java-говно, нужны лекции по питоньим паттернам.
http://www.youtube.com/watch?v=Er5K_nR5lDQ
156 Кб, 772x703
#218 #492759
>>492666
Дать права на выполнение файлу?
Всё падает ещё в реквесте, соответственно никакого файла нет.
#220 #492777
>>492750
Паттерны привязки к языку не имеют. Так что пох что смотреть, главное понимать что излагают.
13 Кб, 560x398
#221 #492799
Ну что ж такое, прочитал пару книг, зашёл на checkio, и тут же обосрамс со всеми этими списками, словарями, неужели я просто тупой и не пригоден для кодинга?
#222 #492806
>>492799
Ты просто читал книги, ничего не делая и не практикуя?
56 Кб, 800x800
#223 #492812
>>492806
Ну как сказать, выполнял задания в книгах, но тут уж нагуглил этот сайт, что можно попрактиковаться, выполнил только пару заданий потратив все подсказки.
#224 #492814
>>492799
Прочитал - типа посмотрел на буквы и нихуя не делал заданий, думал, что сейчас знания сами влетят в твою голову, пока ты смотришь на строчки и забываешь предыдущий абзац, начиная следующий?

В чекио челлендж нарастает, гуглишь просто и всё.
#225 #492815
>>492812
Помимо заданий пиши свое. Если учу новый язык то к концу первой книги у меня уже написана какая-нибудь ненужная хуита на ~2k строк.
Короче практика практика кладбище пидор
#226 #492818
>>492815

> ненужная хуита на ~2k строк


Что же она там такое делает?
#227 #492819
>>492812
А ты думал, кек.
Для получения реальных знаний нужна практика, без неё хуйцы сосёшь. Может ты до этого не знал как решить эти задания, а теперь знаешь и это главное. Опыт и практика это как раз то, на что и требуется больше всего времени и терпения. Ну унывай, всё у тебя получится.
Дам совет - когда не можешь решить задачу, сделай небольшой перерыв и потом попробуй придумать алгоритм решения на листочке. Очень помогает.
#228 #492823
>>492818
Что угодно. Игорь уровня марио, бложек, бот, реализация клиентского xmpp, ну вот такая хуйня. Хоть имиджборду пиши, но пиши.
#229 #492825
>>492777
Ты видео-то посмотри. Паттерны GoF писались java-говноедами для джавы, половина не имеет смысла для питона, так как есть в нем by design.
#230 #492832
Где можно почитать/посмотреть про то, как эффективно писать на питоне? Да, я понимаю, что за настоящей эффективностью нужно идти в какой-нибудь си, но на питоне же код тоже можно как-то бустать.
#231 #492834
>>492825

>Паттерны GoF писались java-говноедами для джавы



>Первое издание книги 1994 год .


>Релиз Java 1995 год.



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

И пролистай к первоначальному посту ветки >>488682 , там человек просит что то что бы влиться в ООП и архитектуру приложений. Так что ему для понимания и GRASP и GOF пригодится.
#232 #492836
>>492832

> на питоне же код тоже можно как-то бустать.


Попробуй другие реализации питона.
#233 #492837
>>492777
В этом есть часть правды, но есть и другая сторона - новичок будет отвлекаться на особенности джавы, которые ему не нужны. Для него все эти знания одинаково неизвестны, и его силы будут распыляться на не интересующие его вопросы.

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

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

мимо
#234 #492838
>>492832
Можно делать критические части на Си. У питона очень удобная интеграция с Си.
#235 #492840
>>492832
Эффективно писать - это избегать излишней сложности типа O(n^2) там, где это излишне, притом без хитрых байтоёбских оптимизаций а путём правильного кодописательства и организации циклов? Я считаю - только опыт и хорошая голова. Или ты собрался рендеринг на питоне делать?
#236 #492846
>>492832
Эффективно это быстро писать код или что бы он быстро выполнялся?

Если второе то прочти тут раздел https://ru.wikipedia.org/wiki/Python "Профилирование и оптимизация кода" там пара тезисов есть.
#237 #492849
>>492837
В лекциях таки от джавы толком и нет и уж точно не расписываются её особенности, все таки там упор на паттерны а не на язык, примеров именно кода дам раз два и обчелся, больше UML и в общем виде.
#238 #492861
В общем ,анон,пишет тебе человек,который изучает пайтон уже 2 недели.
Вот назрели к тебе несколько вопросов :
1) Обязательна ли зубрежка терминов и прочего,особенно при чтении Лутца? Я вот читаю его и частично чувствую,что я половин не запомню. А как мне написать код,если я не смогу что то вспомнить?
2) За сколько в среднем приходит понимание коддинга? Через сколько недель-лет-месяцев ты,анон,без напряга решал задачи,не набигая в гуглы и не делая правки часто
3)вот допустим аутизм меня отпустит и я просвященный буду хотет писат КОД. Какие задачи и на каком уровне лучше решать?
#239 #492862
1) Обязательна ли зубрежка терминов и прочего,особенно при чтении Лутца? Я вот читаю его и частично чувствую,что я половин не запомню. А как мне написать код,если я не смогу что то вспомнить?
2) За сколько в среднем приходит понимание коддинга? Через сколько недель-лет-месяцев ты,анон,без напряга решал задачи,не набигая в гуглы и не делая правки часто
3)вот допустим аутизм меня отпустит и я просвященный буду хотет писат КОД. Какие задачи и на каком уровне лучше решать?
#240 #492868
>>492861

>зубрежка


Нет.

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


Посмотришь в книжку.

>За сколько в среднем приходит понимание коддинга


За тысячу лет в тибетских горах.
#241 #492875
>>492862
1) Названия ты всегда можешь подсмотреть в гугле/лутце/автокомплите лол
2) Зависит от количества практики
3) Лучше всего начинать с каких-то программ, которые тебе были бы полезны/относительно бесполезны, но тебе было бы их интересно писать, постоянно доделывать и т.д. Это может быть что угодно, хоть менеджер картинок с /b/
478 Кб, 1600x976
#242 #492879
>>492861
>>492862

1) Знание терминологии приходит с применением на практике. Простой пример - если ты начнёшь объяснять рандомному человеку из чего собран твой пека, он скорее всего не поймет это и не запомнит. Но стоит ему самому поковырять компьютер, у него появится четкая ассоциация термина и предметом, который он обозначает. Также и тут.

2) Никогда. Всегда будут задачи которые требуют изучения чего-то ещё, правок и гугла. Это как требовать от писателя чтобы он писал книгу без правок. Интернет дал тебя возможность делится знаниями и получать их, находить решение сложнейших задач, а ты такой "хочу выучить всё то, что учат миллионы других годами", и в добавок "изобретать велосипеды". Да ты даже в документацию языка после несколькоих лет работы с ним постоянно лазить будешь, чтобы узнать что-то. Забудь уже эту поехавшую мантру "НАДО ДЕЛАТЬ ВСЁ СВАИМИ ЗНАНИЯМИ ТОЛЬКА НИГДЕ НИСПИСЫВАТЬ НИЧЕГО НЕ БРАТЬ ИНАЧЕ ТУПОЙ", главное в этой жизни решать задачи, а не пытаться всем доказать, что ты можешь тоже въебать дохуя времени на то, что решили уже другие.

3) Любые.
#243 #492932
>>492460
Млинлол. Смотрю второе видео и лектор говорит: "Я в люксофте всех собеседователей обучал, так что..."
Из-за двачей люксофт теперь - как обзывательство.
217 Кб, 687x1004
#244 #492937
>>492577
ПИздос, на OpenShift не работают старые версии джанги. БЛять. Сукка , нахуй блять так хостить? На хероку чоть можно установить 1.5?
339 Кб, 607x608
#245 #492944
>>492937
Почитал rhc tail. Закоммитил строку 'django.contrib.auth.middleware.SessionAuthenticationMiddleware' в файле settings. Хуй его знает для чего она нужна наверно для аутинфикации сессии, да?, но сейчас сайт работает. Если блять вступлю в еще какое нибудь дерьмо - попробую хероку.
#246 #492946
>>492937
А полноценным впс тебе мама запрещает пользоваться?
#247 #492950
>>492834

>java-говноедами


>крестопидорами


Ну ты понел.

> там человек просит что то что бы влиться в ООП и архитектуру приложений. Так что ему для понимания и GRASP и GOF пригодится.


Не знаю, пока сам с таким не поработаешь, это все в режиме прочитал-"типа-понял"-забыл или прочитал-вызубрил наизусть, что совсем ебанатство. Для въезжания в ООП я бы посоветовал Буча читать: http://www.helloworld.ru/texts/comp/other/oop/ch01.htm
#248 #492955
Какое же это уебанство эти плотформы SAAS...
#249 #492957
>>492955
Сказал анон с дачи.
#250 #492961
>>492957
С какой дачи?
#251 #492970
>>492961
Ну ты не юморной чёт.
#252 #492972
#255 #493017
Аноны. Что есть virtual env? Я читал, но не особо понял. Ну типо виртуалки чёто.
Установил я значит на шиндоус это окружение, допустим в папке C:\Python34\env.
Соответственно все проекты должны быть C:\Python34\env\ ?
После, если я ставлю virtualenv в папку C:\hui, то джанго и все прочее надо заново ставить?
#256 #493022
Как красиво построить длинную строку с кучей переменных?
'{}{}\n{}{}.{}{}{}: {}'.format(... выглядит уебищно.
str(n)+s+'\n'+b+'.'+str(c)+': ' еще хуже.
#257 #493024
>>493017
Нет, тебе надо запустить virtualenv, она создаст в заданной папке окружение, ты его активируешь и получаешь виртуалку, в которую начисто ставишь все свои либы для текущего проекта, чтобы не было пересечений и косяков от зависимостей в других проектах.
#258 #493027
>>493022
print "Hello, %s, are you %d years old?" % (username, age)
#259 #493028
>>493027
На куче переменных получится такая же стремная хуйня как и формат.
Да и еще питон2-only.
15 Кб, 721x249
#260 #493030
Собственно только начал изучать python и книга по которой я ее изучаю, ради закрепления пройденного материала предлагает написать программу, которая бы рассчитывала расходы связанные с покупкой автомобиля. Тут возникла небольшая проблема, когда я пытаюсь запустить ее, она просто закрывается, хотя команда делающая окно открытым до нажатия клавиши присутсвует. Как пофиксить?
P.S: Буду благодарен, если кто-нибудь сможет помогать с возникающими трудностямифейкомыльце: [email protected]
#261 #493033
>>493030

>терминал нинужен покпокпок


Теперь героически преодолеваем спермопроблемы.
#263 #493036
>>493035
Охуенно. Спасибо.
#264 #493037
>>493033
Ты предлагаешь запускать через интерактивный режим?К чему этот тон, я же ещё ньюфаг и не понимаю многого.
#265 #493043
>>493037
Я предлагаю осилить нормальную ось с терминалом linux/mac. Или по крайней мере взять вендовый поверщель/редактор со встроенным терминалом. В итоге для консольных приложений это куда удобней чем костылять инпутами, слипами и интерактивными режимами.

>К чему этот тон


Добро пожаловать.
#266 #493044
>>493033
>>493037
Спасибо. То, что ты предложил помогло, буду теперь пользоваться терминалом, если что-то не работает.
#267 #493045
Парни подскажите пожалуйста как в sql запросе переменную вставить.

p=sys.argv[1]
sql ="""SELECT src FROM cdr WHERE src=p;"""

Вот эту переменную надо которую вводишь с терминала.

В баше вот так работает.
sql ="""SELECT src FROM cdr WHERE src=$1;"""

А тут как не подскажете в python как ему обьяснить что p это переменная?
#268 #493051
>>493045

>>> p='lal'


>>> """SELECT src FROM cdr WHERE src={};""".format(p)


'SELECT src FROM cdr WHERE src=lal;'

Штож макаба сегодня так тупит. С третьего раза отправилось.
#269 #493057
>>493051
Спасибо большое работает!
#270 #493061
>>493022
Через формат можно в скобках указывать название кейворда, может поможет. Например вот: 'Hello, my name is {name}'.format(name=my_name)
Кстати, крайне не советую совмещать несколько строк в одну через +, потому что питон, когда так делаешь, начинает творить просто невероятный пиздец в памяти я, конечно, преувеличиваю, но это не очень эффективная херня и вообще существует в языке, скорее всего, только потому что это достаточно интуитивно выглядит
#271 #493062
>>493061

>начинает творить просто невероятный пиздец в памяти


Строки иммутабельны же. Что по-твоему должно происходить?
#272 #493063
>>493061
Какой тогда самый каноничный способ джойна строк? ''.join?
#273 #493065
>>493063
Джойн для списка же.
#274 #493067
>>493065
Ну так ''.join(('123','456')) же
#275 #493068
>>493063
Каэшн. Для этого его и зделали, что бы не было промежуточных «сумм строк» и память не насиловалась.
http://ideone.com/uGZCbr
#276 #493071
>>493061
Да я после подсказки сразу нагуглил что как это юзается, спасибо. Вот вроде работает как раньше. Получает 2 параметра, выгружает нужные строки мускула в csv. Заюзал join хех. Кстати запрос вообще к мускулу нормально сделал?

p=sys.argv[1]
i=sys.argv[2]

t="".join((time.strftime('%y-%m-%d-%H-%M-%S'),'-',p))

# соединяемся с базой данных
db = MySQLdb.connect(host="localhost", user="root", passwd="m", db="testdb", charset='utf8')
# формируем курсор
cursor = db.cursor()

# запрос к БД

sql ="""SELECT src,calldate,dst,billsec INTO OUTFILE '/tmp/{}.csv' FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM cdr WHERE src={} AND calldate > curdate() - interval {} day;""".format(t, p, i)

# выполняем запрос
cursor.execute(sql)

db.close()
#277 #493073
>>493061
Не в смысле сам запрос, а метод обращения к мускулу, я что то столько вариантов их нагуглил пока пробовал и так и так. В итоге вот этот подошел. Люди кстати кто тоже спрашивал как на python выгрузить строки в csv почему то так не делали одним запросом. А сложные варианты с записью в csv которые у меня не заработали почему то. В итоге тот запрос который из баша работал и тут справился.
#278 #493074
>>493071
у вас sql injection
#279 #493075
>>493074
Данные подаются из другого скрипта где не пропустит длиннее 3х цифр, или все равно догуглить закрыть?
#280 #493077
>>488104
Может запилить jabber-конфу?
Будь у меня сервак, я бы запилил...
#281 #493079
>>493074
if len(p)<4 and len(i)<4:
выполняем
Или на выход

Добавил.
#282 #493082
>>493077
да лучше уж слак
#283 #493086
Жабир-хуябир, слак-хуяк. Пора на tox переходить.
#284 #493087
>>493082
кстати да, я забыл про слак. Познакомился с ним на cs50. Годная вещь...
#285 #493092
>>493067
1) Создай строку
2) Запакуй в кортеж
3) Распакуй кортеж.
Очень круто.
#286 #493134
>>492115
Бампану вопрос
#287 #493136
>>492115
divo into python 3
И учи английский, рак.
#288 #493168
>>492360

>Терминал не нужен.


Да ты ахуел.
#289 #493170
>>492819

>придумать алгоритм решения на листочке


Программирование дало мне возможность аутировать так, как я люблю — рисовать всякие "хитровыебанные" схемы для алгоритмов, лол. SPASIBO, PYTHON!
#290 #493219
>>492360
Прочитал твой пост, вчера несколько часов пердолился с этим сублаймом, но таки заставил его работать с 3-м питоном. Теперь просто охуительно. Написал какую-то ебалу, CTRL+S, CTRL+G это у меня запуск кода такой, и всё, сразу смотришь результаты своего творения. 10 из 10, г-споди!
37 Кб, 590x393
#291 #493243
>>492946
Кошелек. Я у мамы нещеброд. Бесплатных нет. Или строк -1 месяц.
#292 #493250
>>492955
Пидор, откуда ты знаешь о чом я пишу диплом?
248 Кб, 660x520
Python и VK Алёна #293 #493267
господа, прочёл вот эту статью:
http://habrahabr.ru/sandbox/84639/
Прошу не закидывать дерьмом, но блять полдня вожусь.
Хуйня какая-то.
Полагаю, что здесь много кто этим пробовал заниматься?
#294 #493269
>>493267
с питоном вроде всё в порядке.
не могу с авторизацией ебаной разобраться
#295 #493272
>>493219
Не знаю, что ты там пердолился, может, линуксовый сублайм требует большего участия, но на шинде просто сохранил файл с расширением .py и нажал F7. Погугли хабр про настройку сублайма под питон - там много ништяков типа sublime jedi и pylint. Всё сразу не ставь, просто имей в виду. Главное - поставь package control. Всеобъемлющее Меню открывается по Ctrl+Shift+P - там команды располагаются. Многие аддоны не интегрируются в интерфейс, например, а просто существуют в качестве команд, которые можно повесить на хоткей.

>>493170
Но ведь ты никогда так делать не будешь. Чего время терять.
#296 #493275
>>493061

>это не очень эффективная херня


import this
90 Кб, 604x453
#297 #493279
>>493267
А для чего его можно применять? Тралькать? У меня тут знакомый зарабатывает на actionpay. Нашел группу вконтакте и присвоил ее траффик себе. И получает не кислые деньги. Я тоже так хочу.
#298 #493280
>>493279
Да я бы просто со статистикой поиграть хотел.
#299 #493282
>>493272
Не, F7 нихуя не даёт, просто пишет

> [Finished in 0.3s]


Нужно было поставить package control, потом через него SublimeREPL, и повесить его на хоткей тот же F7
#300 #493286
>>493282
F7 запускает скрипт. А ты что хотел? Питонью консоль? Ctrl+` её открывает.
#301 #493307
>>493267
Что конкретно не получается?
#302 #493315
>>493272

> так


Это как? А что ты в /зк делаешь?
#303 #493321
>>493307
Спасибо , что ответил)
Но разобрался.
Я с доступом долбился - неправильно указывал.
А надо было просто словами : wall написать и все.
#304 #493340
>>493315
Скриптопидрствую, либоёбствую.
#305 #493384
>>493267
Ты блять не можешь с пипом установить vk?
Ты вообще ебаный дебил?
#306 #493391
Господа, что по cs101 с udacity скажете?
#307 #493394
Господа,аутист в треде. не могу решить первую же задачу на chekio
Дан непустой массив целых чисел (X). В этой задаче вам нужно вернуть массив, состоящий только из неуникальных элементов данного массива. Для этого необходимо удалить все уникальные элементы (которые присутствуют в данном массиве только один раз). Для решения этой задачи не меняйте оригинальный порядок элементов. Пример: [1, 2, 3, 1, 3], где 1 и 3 неуникальные элементы и результат будет [1, 3, 1, 3].
non-unique-elements
Вх. данные: Список (list) целых чисел (int).
Вых. данные: Список (list) целых чисел (int).
Как это используется: Эта задача поможет вам понять, как манипулировать массивами. Это полезный базис для решения более сложных задач. Также эта идея может быть легко обобщена для реальных задач. Для примера: если вам необходимо очистить статистику от редко встречающихся элементов (шум).
Предусловия:
0 < len(data) < 1000

Обьясните ,в чем суть вот этих строчек:
for el in data:
if data.count(el) > 1:
result.append(el)

чет ам делать то надо ? учу неделю язык,думал хоть прктикум легкий сделать
#308 #493396
>>493394
Проходим по списку элементов
если элемент встречается больше раза
добавляем элемент в список-ответ
#309 #493398
>>493286
F7 нихуя не делает. Выводит только время исполнения.
#310 #493400
>>493398
Скинь конфиг своего питона в сублайме.
ДЦП-кун #311 #493403
>>488104
Подходит ли джанга для новичка в веб-программировании?
#312 #493405
>>493403
А почему нет?
#313 #493408
>>493405
Просто обычно с пыхи советуют начинать.
#314 #493410
Кто-нибудь пользовался scrapy? Какие у него преимущества по сравнению с ручным использованием bs4?
#315 #493411
>>493408
Просто пых самый популярный для веба. Питон как язык четче и правильней, и фрейморвки вроде джанги достаточно легки для понимания. Пхпшные фреймворки вроде симфони, например, еще хер осилишь, такой то bloated ад.
#316 #493413
>>493411
Ок, спасибо!
#317 #493438
>>493410
юзай Grab
272 Кб, 1200x1600
#318 #493445
>>493400
Как? Ты меня не хакнешь по нему, лол?
#319 #493446
>>493438
почему его?
28 Кб, 459x344
#320 #493447
>>493403
Прежде чем браться за джангу посоветую посмотреть - почитать про протокол http, https. Хотя бы поверхностно ознакомиться что это.
Блять посоветуйте какой нибудь бесплатный впс. host1free - закрывают. Заебали меня эти платформы saas. Openshift нельзя установить старую версию django, а если устанваливаешь - теряешь суперузера и нету доступа к админке. В хероку можно установить старую версию django?
#321 #493453
>>493410
Я пользовался, когда захотел скрапнуть кое-какой контент, но bs как раз не трогал. Заебался насмерть, но мне понравилось. Но в итоге скрапнул совсем другое, так как задачу не выполнил - не осилил обход защиты от воровства, как ни ебался. Решил ворованной мокрой писькой WebHarvy.
#322 #493457
>>493447

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


cloudatcost.com
Не бесплатно, но можно купить навечно. А не платить абонентку.
#323 #493458
>>493398
Бля. Ты или что-то НАСТРОИЛ или хуй знает. Аутпут должен идти туда:

Hello world
[Finished in 0.1s]
#324 #493459
>>493384
Пип лютую хуйню делает, бывает.

мимо
#325 #493460
>>493458
Он с самого начала так работает. Да и он мне не нужен вообще, я уже поставил SublimeREPL.
17 Кб, 265x253
#326 #493464
>>493460
Ладно.
#327 #493468
>>493445
Значит, у тебя стандартный конфиг и ты ничего не менял. Тогда открой tools -> build system -> new build system...
И в открывшийся файл засунь вот это:

[code]
{
\t"shell_cmd": "python -u \"$file\"",
\t"file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",
\t"selector": "source.python",
\t"encoding": "cp1251"
}
[/code]

Сохрани и обзови как-нибудь. Затем заходишь опять (может быть надо перезайти в сублайм, не уверен) в tools -> build system -> и ищешь название конфига, который только что сохранил. Тогда нормальный вывод заработает. Но учти. вывод будет в кодировке 1251 и если что-то надо будет через принт вывести, то это нужно учитывать. Например, если какой-то текст с некоторыми символами из utf8, то нужно будет писать вот такую ебаку:
print(message.encode('cp1251', 'ignore').decode('cp1251'))
#328 #493471
>>493468

>покпокпок в венде давно везде юникод покпокпок

1 Кб, 145x40
#329 #493480
>>493468
Мог просто системную переменную сделать:
PYTHONIOENCODING=utf_8
#330 #493482
>>493471
Я так понимаю, на винде по дефолту пиццон принтит в консоль в цп1251.
#331 #493485
>>493446
Русское комьюнити
Легкое и понятное API
Он вроде создавался взамен scarpy
#332 #493486
>>493485

>Русское комьюнити


Ну это вообще ПЛЮС.

Stack Overflow: 3,762 questions tagged "scrapy"
#333 #493507
>>493486
Поддвачну этого русофоба.
#334 #493518
>>493507
Сидит рыбак , ловит рыбу. Вылазит жаба из воды и говорит "Можно я возле вас посижу?" Рыбак пожимает плечами и говорит "Сиди, только не шуми". Жаба села. Сидела , сидела потом спрашивает " А как вас зовут?" . "Коля" отвечает рыбак. Сидят дальше. Тут из воды вылазит вторая жаба и говорит "Можно я возле вас посижу?" Вторая кричит "ПОШЛА НАХУЙ!! Правда, дядь Коль?"
#335 #493529
>>493518
блядь, что ты делаешь, содомит, у меня весь стол в чае теперь
#336 #493532
>>493518
Не понял. Это какой-то чисто русский юмор?
20 Кб, 494x400
#337 #493533
Питонщики, как вы нашли свою первую работу и где? В интернете, в городе? Что умели, что было в голове?
#338 #493535
>>493529
Сам пошутил - сам посмеялся.
#339 #493536
>>493533
Изучил питон по работе.

CG/FX
#340 #493537
>>493535
То был сарказм, Шелдон.
#341 #493538
>>493410
Это фреймворк. Плюсы -- очень много чего уже сделано за тебя, меньше велосипедов и говнокода, пониженный wtf-фактор. Минусы -- нужно разбираться в устройстве фреймворка, в большинстве случаев он слишком громоздкий (для меня по крайней мере).
#342 #493539
>>493533
Пошёл писать на си. Теперь сам выбираю на чём писать, использую Python.
#343 #493543
>>493410
Луче aiohttp и bs4.
#344 #493545
>>493537

>Шелдон


Ваш Шелдон замозашкварился.
#345 #493547
>>493396
то есть for el in data это проходим по списку элементов?
эти строчки вообще не видоизменять?
#346 #493553
>>493459
Спасибо)
sage #347 #493590
Есть список: a = [[28, 0], [33, 1], [95, 2], [35, 3], [51, 4], [28, 5], [99, 6], [28, 7], [33, 8], [41, 9]]

Его нужно отсортировать. Сначала нужно отсортировать по a[0] (по первому элементу каждого внутреннего списка), затем, если a[0] где-то окажутся равными, то нужно сортировать по a[1].

Желаемый результат: [[28, 0], [28, 5], [28, 7], [33, 1], [33, 8], [35, 3], [41, 9], [51, 4], [95, 2], [99, 6]]

Прочитав про многоуровневую сортировку, вроде бы выяснил, что в моём случае нужно писать a.sort(key=itemgetter(0,1)). Соответственно, порядок аргументов в itemgetter задаёт и порядок сортировки. Поэкспериментировав, выяснил, что вызов sort() без указания ключевых аргументов даёт тот же резутьтат. Вопрос: всегда ли sort() без ключевых аргументов ведёт себя так, т.е., если в списке есть элементы sequence type, то она сначала сортирует по первому элементу внутренних элементов, затем по второму и т.д.?
#348 #493591
>>493590
Сажа приклеилась.
Алёна #349 #493608
Господа, помогите идиоту.
Уже месяца два ничего не писал.
вот сегодня начал.
http://pastebin.com/U3CActpm
в общем получил на выходе такой список.
Но хоть убей не врублюсь - как красиво вывести вложенный словарь. или надо было б куда-то копировать и оттуда уже?
#350 #493611
>>493608
for item in a['items']:
print('{first_name} {last_name}, id{id}'.format(first_name=item['first_name'], item['last_name'], item['id'])

Или тебе чего надо?
#351 #493624
>>493611
не выводит.
давай без формата. тупо хоть что-нибудь.
#352 #493627
>>493611
если встретишь меня на улице когда-нибудь - уеби. сделаешь одолжение миру.
#353 #493628
>>493627
С радостью, но как мы тебя узнаем?
#354 #493629
>>493624
for item in a['items']:
print('{first_name} {last_name}, id{id}'.format(first_name=item['first_name'], last_name=item['last_name'], id=item['id'])
43 Кб, 604x453
#355 #493649
Сап, питоны, вы моя последняя надежда Правда, я уже в отчаянии
Есть один диплом, нужно реализовать несложную программулину, которая будет классифицировать отзывы. Т.к. меня подписали на это говно, я поискал инфы и нашел решение - scipy. Ну, думаю, заебись. Нашел Anaconda, поставил. Придумал заебашить нормализатор текста с помощью pymorphy и алгоритма Левенштайна. Прикрутил это. Но я никогда не писал на питоне, все слилось в то, что я не могу это тупо написать. До этого писал всякую парашу для саморазвлечения на делфи,с++ и помогал пару раз с с#, но там задачи попроще были. Самая серьезная моя работа - визулочка для работы с sql таблицами, единственный курсач, который заставил подумать. Хотелось бы найти человека, который помог бы мне с кодингом. Сейчас у меня не выводится массив в файл, я не могу разобраться, а сроки жмут. Рассмотрю любые варианты но бабла до июля 500 р. осталось, я днище-студент же
Факт того, что провафлился сам осознаю, но 1,5 месяца украл ебаный военкомат.
Скайп - anonimed1
#356 #493660
>>493649
Страдай, ебта
#357 #493663
>>493590
Это норма для сортировщика, иначе бы он возвращал не отсортированный результат. Многоуровневая нужна, когда тебе нужно по 3, 1, 5 отсортировать, например.

Вместо айтемгеттера в сортах можно говнолямбды использовать, кстати:
sorted(list, key=operator.itemgetter(3,1,5))
sorted(list, key=lambda x: (x[3], x[1], x[5]))
#358 #493664
>>493649

>Сейчас у меня не выводится массив в файл


Очень детальное инфо! Попробуй то, что ты ещё не пробовал, а также то, что ты пробовал, но может, неправильно что-то пробовал и не заметил этого.
#359 #493688
>>488104
Пару лет назад брался, но не осилил. Я пробовал поднять его на серваке, но оказалось, что нужно использовать жуткий костыль.

Поясните, для чего этот язык нужен? Для каких задач?
#360 #493692
>>493688

>жуткий костыль


Это какой же?

>Для каких задач?


Почти для любых. Проще сказать, что на нем нельзя сделать.
43 Кб, 620x288
#362 #493743
>>493718
Можно писать прямо как на пикрилейтед?
#363 #493763
>>493692
Web2py, то ли CherryPy.

>Почти для любых.


Расскажи, как прикрутить его на сервак, чтобы было удобно? Я нихуя не понял.
#365 #493833
Где найти исходных кодов каких-нибудь проектов на питон+джанго, чтобы там интернет-магазин или имиджборда (т.е. более менее сложное)? На гитхабе по каким тегам искать такую хуйню?
#366 #493843
>>493824
Блядь, как мне припекает. Вот столько нужно сделать действий ради говноязыка.
#367 #493855
>>493833
Гугли в интернете. Django projects source.
#368 #493862
>>493718

> "глобальный,_(перен.:_всеобщий)": "global",


> "Pов": "pow",


> "Исполнительный": "exec",


Годнота!
38 Кб, 464x350
#369 #493883
>>493862

>Ров

#371 #493899
>>493862
POWER, СУКА, СИЛА/СТЕПЕНЬ, КАКОЙ РОВ НАХУЙ?
#372 #493905
>>493899

> СИЛА/СТЕПЕНЬ


ВЛАСТЬ же.
4 Кб, 188x140
#373 #493906
>>492815
>>492819
Спасибо за советы, нашёл на checkio задачки полегче которые более-менее получается решить, правда потом когда смотрю на решения других людей немного припекает когда вижу у них простую функцию с парой строчек кода, всё просто и лаконично, а у меня какой-то велосипед с 8 колесами и без одной педали, хоть он и едет.
#374 #493916
>>493890
И чего такие простые задачки?

Во второй там какой-то фэил, если я правильно понял, len(login) >= 1 or len(login) <= 20 будет True выдавать абсолютно всегда, разве нет? Там and нужно или 20 >= len(login) >= 1
#375 #493944
Стою в конце автобуса, напротив двери. В самом углу парень с девкой сосутся, причмокивая. А я нагуглил онлайн-интерпретатор для Python, программирую с телефона. Моя жизнь в миниатюре прямо.
#376 #493948
>>493843
С вебом незнаком? Так в любом языке.
#377 #493951
Второй день изучаю этот чудный язык, вот решил написать хуевину для решения кв. уравнений.
http://pastebin.com/B3jJa316
Мой код показался оче вырвиглазный. Скажите, у меня есть шансы?
#378 #493955
Дописал две части своей поделки. Осталось всего то совместить их в одну и отшлифовать. Всего ничего. А я уже неделю сижу играюсь в ММО и пинаю хуй. Ебучая прокрастинация.
#379 #493956
>>493955
Что за поделка?
#381 #493995
>>493951
Давай по порядку:

>в виде ax^2+-bx+-c


Зачем минусы? Они здесь не нужны, зря загромождают консольку. В UTF8 есть знак "плюс-минус", можешь использовать его. Либо же оставь просто плюсы (можно ведь под b подставить -5 и все логически и математически будет верно). К тому же, зачем переписывать человеку все уравнение, почему бы не дать ему возможность просто вписать a, b и c?
Не проще ли сделать (я не ловлю ошибки, можешь учесть это сам чуть позже, как дойдешь до них)
print("Введите множители квадратичного уравнения вида ax+bx^2+c=0.")
a=input("a: ")
b=input("b: ")
c=input("c: ")

>a = int(a) - здесь тоже вопрос. А вдруг a==4.5, а ты его обрезаешь до 4? Тут нужен float. (И, кстати, писать через точку с запятой - плохой тон в пайтоне, лучше с новой строки писать каждую операцию).



>x1 = (-b+math.sqrt(diskr))/2a


Доебусь за быстродействие: быстрее будет выполняться такой код:
x1 = (-b + diskr
0.5) / 2a
#382 #493997
>>493995
Звездочки съело. diskr(две звездочки)0.5 должно быть.
#383 #494002
>>493995
Спасибо большое за ответ.
sage #384 #494008
>>494002
МОЧААА, я не буду с этим поехавшим на одной борде сидеть!
#385 #494037
>>493916
Может потому что эти задачки дают еще до самого собеседования.
#386 #494093
>>493981
Бля, "Второй день изучаю" не заметил. Забей.
#387 #494102
>>493833
https://www.djangosites.org/with-source/

Можешь еще исходники того мезанина глянуть.
https://github.com/stephenmcd/mezzanine
#388 #494103
>>494102

> того же

#389 #494108
>>488104
питонач. Я вот нихуя не могу разобраться с логикой работы джанго. Как быть? Я привык - регаешь хостинг, расставляешь нужны права на папках, заливаешь вордпресс и далее его ковыряешь. Всё понятно. Все в индекс.пхп подцепляется. Как же с джангой то быть? Читал тутор и как-то не густо...
#390 #494142
Сам гуглил, но ничего не нашел, вдруг кто знает, есть ли библиотека для работы с api скайпа навроде Skype4py, но под третий питон?
#391 #494143
>>494108
А какой у тебя сервер? В любом случае гугли django deploy apache|nginx или че у тебя там?
#392 #494145
>>494142
Форкай и пиши сам!
#393 #494151
>>494143
какой же сервер... я ж в продакшн ничего не выпускал даже. Банально в сонсоле написал python manage.py runserver. Проходил офф тутор джанги. Ну я понимаю что написано. А суть то не могу уловить. Как будто на иностранном языке каком-то. Там всякие модели, контроллеры, ещё чего-то там... вот именно это мне не понятно. Урлсы всякие...
#394 #494153
>>494145
Я еще слишком нуб для этого.
#395 #494166
>>494151
>>494153
Ну и сосите, ёпту.
#396 #494233
>>494151
Конкретизируй.
urls - это какой класс/функция будут вызываться при обращении к данному адресу. Класс или функция должны вернуть объект HttpResponse или вроде того.
Модели - это просто оболочка над базой данных. Благодаря им тебе почти не надо писать SQL. Грубо говоря. Каждый класс модели - это таблица в бд.
Что конкретно тебе не понятно?
#397 #494407
>>494233
Как к этому привыкнуть, если мой мозг привык к обычным цмс, а с фреймворками я прежде не работал? Просто дальше практиковаться?
#398 #494420
15 Кб, 2000x1000
#399 #494473
Подскажите, какой лучше график использовать в matplotlib, если у меня есть около миллиона значений, из небольшого множества. Т. е. у меня только числа 1, 2, 3, 6, 9, 12 и так далее. А всего их больше миллиона. В общем по оси X просто числа по порядку идти должны, а по Y вот эти значения.
Пока получается вот так - просто линии, а надо хоть чуть чуть нагляднее.
#401 #494503
>>494502
Мне кажется, эта программа офигеет от такого количества данных.
#402 #494508
>>494473
В логарифмическом масштабе построй.
#403 #494572
>>494503
Ты сначала попробуй.
#404 #494620
Почему не матчится мыло?

import re

regexp = re.compile(r'"/[^(\w)|(\@)|(\.)|(\-)]/"')
s = "test [email protected] big"
mail = re.findall(regexp, s)
print(mail)
sage #405 #494638
>>494620
Зачем такие сложности? В 98% случаев мыло матчится проще:

>>> re.findall("[\w\.-]+@[\w\.-]+", "test [email protected] big")


>['[email protected]']

#406 #494639
>>494638
сегабамп
#407 #494640
>>494638
У меня много мыл, и текст лютая хуйня в перемешку с кодом разметки и JS
#408 #494643
>>494639
Алсо, спасибо
#409 #494644
JIT уже завезли?
#410 #494650
>>494640
Ну не знаааю, я вот сейчас взял view-source:https://2ch.hk/pr/res/488104.html с разметкой и кусками говна js, вроде ничего не пропустило и ничего лишнего не нашло.

['[email protected]']
['[email protected]']
['[email protected]']
['[email protected]', '[email protected]']
['[email protected]'
219 Кб, 1000x450
#411 #494688
>>494620>>494640

Твоя регекспа выглядит как говно! Бери мою!

[a-zA-Z0-9]+(?:(\.|_)[A-Za-z0-9!#$%&'+/=?^`{|}~-]+)@(?!([a-zA-Z0-9]\.[a-zA-Z0-9]\.[a-zA-Z0-9]\.))(?:[A-Za-z0-9](?:[a-zA-Z0-9-][A-Za-z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?
#413 #494691
>>494688
[CODE]
(?:[a-z0-9!#$%&'+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'+/=?^_`{|}~-]+)|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])")@(?:(?:[a-z0-9](?:[a-z0-9-][a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-][a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

[/CODE]
#414 #494692
Заебала эта хуйня. Когда уже сделают нормальный code?
#415 #494703
>>494691
Ты выиграл, лол.
#416 #494716
Sup, завтра наконец-то защищаю своё говно и начну заливать репозиторий потихоньку.
182 Кб, 480x480
#417 #494729
#418 #494737
..if something is True:
....for s in l:
......оче длинный фор

Как извернуться чтоб избежать лишнего уровня вложенности от ифа? Хотелось какой-нибудь фор-иф на одной строке, типа for s in l if len(z)>100:
#419 #494739
>>494737
Сходу предложу использовать исключения. Но сформулируй вопрос точнее, пожалуйста.
#420 #494752
>>494737
1. Если for в for без промежуточных переменных, то делаешь product. Если у if нет else ветки, или if в цикле, делаешь continue, если в функции return.
if yoba:
....return
sub = генератор длинного фора
for s, x in itertools.product(l, sub):
....yoba-code
#421 #494762
>>494739
Это та ситуация, когда говно мамонта в редакторе появляется горизонтальный скролл. Разгребаю потихоньку. И вопрос встал скорее из любопытства. Короче хочу запихнуть "if for" в одну строку аля list comprehension, а тело for расписать уже как нормальный фор.

>>494752
Промежуточные переменные есть, не катит. continue тоже, после фора еще куча нужного кода. Если бы в питоне был goto я бы его заюзал,
if something is False:
.. goto mark
for
... code
mark
#422 #494763
>>494762
Сделай вид, что кусок было необходимо завернуть в функцию. И запили функцию. Можешь делать фор в функции или можешь звать функцию в форе, как хочешь.
#423 #494764
>>494762
if something:
....mark-content
....return
for
....code
#424 #494783
>>494763
Бля. Я заебусь этот фор в функцию выковыривать, он много переменных определенных выше использует. И заполняет еще больше.
Ну лан, рефакторить так по-хардкору.

>>494764
Нихуя не понял. mark-content? return? Ты предлагаешь имитировать goto? Как?
#425 #494806
>>494783
Ты описал скоуп, я предложил реализацию. Я же не знаю что у тебя там ещё. mark-content, это то, что после for.
#426 #494809
>>494737
[x for x in [1, 2, 3, 4, 5] if x % 2 ==0]
#427 #494814
>>494809
Это вообще не то, дибил.
40 Кб, 300x202
#428 #494866
>>494814
Шож ты анончика так. Он мне помочь хотел, пусть и не в тему совсем.
#429 #494869
>>494866
Спасибо, что дал знать, что это не ты был, я уж подумал - совсем охуевшие люди пошли.
#430 #494874
А почему не в тему? все в одну строчку, без лишних if-else. Потом бери собирай себе в строку с join и все. Или я что то не так понял?
#431 #494876
>>494874
У него там большая простыня кода, а не наполнение какого-то листа.
#432 #494879
>>494874
Потому что все в компрохейшын не получится. Там оче длинный фор со сложной логикой и мутным говнокодом. Я хотел как-нибудь объединить только if-for без тела цикла, чтоб из-за одного сраного ифа огромный кусок кода indent-ить не пришлось. А то экран рвет.
#433 #494882
>>494879
>>494876
Все, понял
#434 #494884
>>494879
Рефакторь смело.

Хуже всего, когда так:
001 if not shit:
... <прошло 150 строк>
150 else: do one-line shit
#435 #494961
Мудак с платиной врывается в тред. Джанго или фласк или мб чего ещё? С чего стоит начать и почему?
#436 #494963
Как питонично писать такую конструкцию:
Заполняем кучу переменных ( не лист ) таким образом:
try:
var1 = do_shit()
except:
var1 = None

Переменных порядка десяти, do_shit конечно же различается для каждой ( простые однострочники ). Как уменьшить простыню?
#437 #494984
>>494963
Можешь запихнуть все, что тебе надо в дикт и пройтись по нему фором
#438 #494988
>>494961
tornado, aiohttp. Потому что модно-молодёжно.
#439 #494989
>>494963
Слишком оторванно. Вполне питонично сделать десяток вариаблов ду шитом, имхо. Может, есть пример такого кода, который выглядит не питонично?
47 Кб, 1205x940
#440 #494992
>>494984
Я не могу запихнуть в дикт, тогда еще длиннее будет. Код на пикче, чтобы было понятно.
#441 #494994
>>494992
Короче, как рефакторить вот такое говно? При условии того, что функция для заполнения каждой переменной условно уникальная. Декоратор может какой несложный запилить? Я сравнительно нуб, про декораторы статейку читал, но никогда на практике не применял, пойдет для таких задач?
#442 #495001
>>494992
Растягивай стейтменты на несколько строк.
#443 #495009
>>494992
Нормальные функции напиши, обвесь декоратором для контроля ексепшона. Самому будет приятнее. Сейчас это калллллл.
#444 #495015
>>495009
Или ещё круче: класс с методами, обвешенными вышеупомянутым декоратором, которые принимают soup и начинаются с get_ и метод do_zaebis, которые пробегается по аттрибутам класса в поисках методов, начинающихся с get_, вызывающий их и составляющий dict, который потом выплёвывает наружу.
#445 #495016
>>495015

> которые


который
#446 #495038
>>494992
Назовите меня говноедом, но по-моему код на скрине весьма питоничен.
#447 #495039
>>495015
Еще больше строчек ради нихуя? Ну вернее ради усложнения общей конструкции.
#448 #495052
>>495038
Но я очень редко делаю такие длинные строки с последовательными вызовами. Хотя, в данном случае они выглядят неплохо, лучше альтернатив.

Но ОБЫЧНО я всё бью на простые стейтменты. То есть так:

дикт = {бляблябля}
вар = хуй.жопа(дикт)
вар = вар.говно()
вар = вар.чмо()
#449 #495087
>>495052

> вар = хуй.жопа(дикт)


> вар = вар.говно()


> вар = вар.чмо()


Я тоже так иногда делаю, но это уместно ли вообще?
Т.е. не лучше ли давать новые осмысленные имена?
Хотя бы
вар = хуй.жопа(дикт)
вар_говно = вар.говно()
вар_чмо = вар.чмо()
#450 #495089
Это 1С-тред?
#451 #495090
>>494961
Какая цель?
#452 #495096
>>495087
Думаю, иногда лучше, а иногда нет, не лучше. Зависит от чувства питоничности происходящего! Подскажет чутьё. Импортируй this, импортируй его ещё раз. Пример, когда однозначно одно название лучше:

стринг = отрезать_чёнибудь()
стринг = добавить_нимношк()
стринг = закапсировать()

резаный_стринг = отрезать_чёнибудь()
добавленный_резанный_стринг = добавить_нимношк()
капсовый_финальный_стринг = закапсировать()
#453 #495147
>>495090
цель - развиваться в сторону веба и находить себе удалёнку
#454 #495165
>>495039
Чтобы не было повторений кода и не было портянок. Конечно, если на скрине половина твоего кода, то игра не стоит свеч. Делать говёно легко, но чем больше проект, тем легче можно утонуть в этом болоте.
#455 #495308
#456 #495309
>>495165
На пике вроде не половина даже, а весь код.
#458 #495325
>>495309
Я имею ввиду не конкретный код, по которому вопрос, а вообще всю программульку.
#459 #495347
>>495322
факториал_на_java.hbrhbr
#460 #495355
>>495347
То есть это >>494992 норма? ПЕРЕЗВОНИМ
#461 #495364
>>495355
Вполне, имхо.

>ПЕРЕЗВОНИМ


Это МЫ вам ПЕРЕЗВОНИМ.
#462 #495365
>>495364
Ну, ясно всё с тобой.
#463 #495373
>>495365
AbstractSingletonProxyFactoryBeanсно всё с тобой)))
#464 #495684
Прошу мощи. Нужно просто решение этого задания на питоне, чтобы я мог понять в каком направлении строить свой алгоритм. Если не сложно, то напишите в какой раздел теории заглянуть, но это уже вторично. Главное любой пример решения, а дальше я разберусь
379 Кб, 1403x973
#465 #495687
>>495684
отклеилось
#466 #495704
>>495687
Кек, ЕГЭ еще не кончилось?
Алсо задание максимально ебанутое. Зачем там инфа про 6 минут, если она нигде не используется?

Как эти далбаебы собираются отслеживать изначальное время работы программы чтобы проверять на увелечение в k раз? 1 кб? Это рассчитано на байтоёбов крестообразных?

Хуй знает что вообще по этому условию надо. Если тупо найти минимальное нечётное произведение, то можно искать просто нечётные числа с помощью целочисленного деления, перемножать их и сравнивать ища минимальное.
#467 #495710
>>495704
Так там реально необходимо только последние 6 чисел хранить. Потому и 1кб - отсеять решения, где весь массив в памяти.
#468 #495743
>>495684
Самое простое - вот так. Но, по-хорошему, чтобы всё было совсем эфишиент data[i+6:] лучше заменить на генератор со следующим ифом (типа (d for d in data[i+6:] if d % 2 == 1). Ещё, чтобы пройти по памяти (я хз на самом деле поможет или нет на самом деле), нужно переделать то, как сохраняется полученное произведение, - я уже думал по поводу того, чтобы просто написать res = min(res, data elem), но мне неохота было ещё один ещё одно ветвление всовывать. А насчёт скорости программы - всё зависит от инпута, так что даже не знаю, как можно ускорить ещё.

[code]
data = (11, 12, 45, 5, 3, 17, 23, 21, 20, 19, 12, 26)
res = []

for i in range(len(data) - 6):
\tif data % 2 == 1:
\t\tfor elem in data[i+6:]:
\t\t\tif elem % 2 == 1:
\t\t\t\tres.append(data
elem)

print(min(res) if res else -1)
[/code]
#469 #495760
А никаких хороших лекций нету по питону типа тех, что по джаве от этого дядьки -> http://www.youtube.com/watch?v=S-RjiMAxHio ?
#471 #495777
>>490283
Спасибо. А видео PyBursa в каком году писалось, почему они рассматривают версию 2,7, она же устаревшая?
#472 #495848
>>495743
Искренне благодарен. Теперь есть фундамент, а над эффективностью я буду уже сам заморачиваться
#473 #495936
>>495743
Что за хуйню ты написал вообще?
#474 #495948
>>495777
В 2013-2014 вроде как, сложно сказать. Гугл намекает на 2014.

А использовали 2.7 потому что больше русскоязычного материала, всё таки видеокурс рассчитан на среднестатического обывателя, а он обычно английский особо не знает, да и в программировании ноль.
sage #475 #495954

>видеокурсы


Поссал на даунов.
35 Кб, 1366x768
#476 #496028
Вот этого черта надо в шапку добавить https://github.com/faif/python-patterns
#477 #496058
В случае переноса длинной строки кода
.."string {}".format(
..value)

Или

.."string {}".format(
....value)

vim форматирует по первому варианту, но это как-то вырвиглазно. PEP'о-гуру, подскажите.
#478 #496066
>>495936
что-то не так?
#480 #496081
>>496058
Вообще, в данном случае в одну строку лучше.
А вообще, отступ стопудово нужен.
И вообще, как тебе нравится: http://pastebin.com/09BfJv1g
#481 #496088
>>496081
Пиздецнахуйблять. Думал сделать еще лучше, шоб прям вообще заебись, и прогнал свои 900 строк БЬЮТИФАЕРОМ, а он сфейлился и вместо моего сорца оказался ТРЕЙСБЕК.

А бекап я делал утром.
Делайте бекапы чаще, посоны. А лучше юзайте гит!
хорошо что кодил сегодня мало
57 Кб, 700x893
#482 #496095
>>496088
Ну ты совсем что ли наркоман? Бьютифаер твой умеет бэкапы делать?
#483 #496100
>>496095
Анимехуй с треда уйди, иначе ещё подумают что анимедауны только программируют на Питоне.
454 Кб, 870x1014
#484 #496107
>>496100
А ты прогони.
#485 #496111
>>496100
Хейтера волнует, что кто-то там думает. Небось посаны сказали онеме нимодно.
#486 #496112
>>496095
Да я поспешил, как всегда. Но уже все восстановил.
От баки слышу!
#487 #496127
Подскажите годные ресурсы для быстрого вливания в джаваскрипт и ангуляр. Я питон не то чтобы хорошо знаю. Но и не плохо вроде, а тут надо быстренько подучить фронтенд. Может есть какие нибудь курсы для людей, не с нуля учащих джс?
#488 #496134
>>496127
Ты /пр/омазал.
#489 #496149
>>496066
Ну ты хоть код-то свой запусти. Проверять кортеж на нечетность это, конечно, клево.
#490 #496157
>>496134
Да нет. Просто в джс треде куча всего. А я надеюсь, что тут есть какой нибудь питонист, который уже прошел мой путь. И он бы дал мне пару советов.
#491 #496162
>>496088
В итоге обмазался автопепом и решил все проблемы на корню. Всем autopep8, посоны.
#492 #496194
>>496162
В нем не особо много смысла, если уже пишешь пепно. Во всяком случае, он у меня ничего не ремонтирует никогда.
#493 #496211
#494 #496212
>>496157
Питонист прошедший твой путь сейчас в яваскрипт-треде и он уже не питонист.
#495 #496214
>>496211
Вопрос снят. http://pastebin.com/hJFLYaAm вот если кому интересно
#496 #496219
>>496214
Блять, вы вообще осознаете, что вы пишите? Какие нахуй флоаты?
http://ideone.com/1vYog9
#497 #496227
>>496214
Да, как-то непонятно зачем тебе float. Плюс к этому, чтобы произведение двух чисел было нечетным оба числа должны быть нечетными. Может не стоит перемножать все что на глаза попадется, а просто найти два наименьших нечетных числа?
#498 #496229
>>496194
autopep8 -a -a поправит даже самый пеповый пепокод. Наверное.
#499 #496234
>>496229
Пользуясь этой хуйней ты моментально нарушаешь самый первый пункт PEP8. https://www.python.org/dev/peps/pep-0008/#a-foolish-consistency-is-the-hobgoblin-of-little-minds
#500 #496238
>>496234
Ну вот а оказался я докстринги для классов неверно писал, например. И еще по мелочи.
#501 #496279
Так. Анон, я понаделал биндингов к Сишной либе. Т.е. традиционные do_thing_for_type1(), do_thing_for_type2().
Теперь хочу сделать do_thing(), работающую со всеми типами. Внутри нее получится:
if type1:
do_thing_for_type1
elif type2:
do_thing_for_type2
elif type3:
...
Верно понимаю? Или динамическая типизация дает возможность это как-то упростить?
#502 #496283
Поцоны, тут такое дело. Заливаю я в репо в шапке своё говно и думаю. Как лучше с шаблонами быть? С одной стороны с точки зрения автономии лучше пихать во внутренню папку приложухи, с другой стороны лучше бы пихать всё в папку template в общей директории проекта. Как быть?
#503 #496291
>>496283
Делай как в туторе для джанги написано, в для каждого приложения в проекте своя папка templates и static в ней специфичные шаблоны и статика, плюс общая на весь проект для общих шаблонов и общих файлов статики.
Нуб в треде #504 #496320
Привет, аноны :з
Недавно я нашел одну интересную пасту http://pastebin.ru/bfamtIJ1,
прочитал и до меня дошло, что я учусь в технаре разной хуйне и надо брать все в свои руки.
Годна-ли паста? Сейчас я просто хочу выучить Питон до конца лета, смогу-ли, анон?
Еще хочу, если это можно на Питоне, написать простой платформер-бродилку. Смогу?
Сам язык нравится, хоть я ничего и не видел другого, кроме паскаля да делфи.
Разделение пробелами каждого блока - вообще замечательно, после помощи тупым одногруппникам, которые пошли на профессию чтобы откосить\проебать четыре года, и которые вообще забивали на какое-то разделение.
И еще анон, подкинешь годных уроков, практики?
Смогу же я за лето хотя бы что-то?
#505 #496324
>>496320
Во-первых линк пасты сломан, спасибо запятой.
Во-вторых что ты подразумеваешь под выучить Питон? Научиться на нём писать базовые скрипты и програмки? Легко. Научиться строить многоуровневые приложения с разными сложными задачами - вряд ли.

>Еще хочу, если это можно на Питоне, написать простой платформер-бродилку. Смогу?


Можно, но нахуя? Есть Unity2D, например, зачем для этого страдать хуйнёй на питоне?

>Смогу же я за лето хотя бы что-то?


Зависит от тебя. Только помни что в большинстве своём увы в головах работодателей Питон это либо Скрипты либо Веб.
#506 #496331
>>496279
Бумп. Поясните перекатившемуся со статики как у вас принято.
#507 #496334
>>496279
Не особо силён в этом, но если ты хочешь заменить хуйню уровня elif type1 и так далее. То можно запихнуть всё это в словарь. типа {"type1": do_thing_for_type1} и проверять через if.
#508 #496336
>>496279
Ну и еще можно через format.

var = 1
print('{0}'.format(var)) # Выведет "1"
#509 #496345
>>496334
>>496336
Похоже таки да, в этом плане ничего принципиально нового и надо городить проверку типов. Спасибо.
#510 #496408
>>496320
Coursera - Introduction to Interactive Programming in Python
#511 #496422
Поздравляю, спустя хуеву тучу лет я залил своё говно в репозиторий выше. Давайте активнее это делать вместе.
#512 #496426
>>496422
Перекат еще запили, если ты конечно оп
#513 #496428
>>496422
Добавь хоть описание какое-нибудь, а то ж ни хуя непонятна
#514 #496429
>>496422
Надеялся думал ты умер. Охуеть, дифф двух последних коммитов мне чуть браузер не повесил.
И pycache вылей штоле.
#515 #496430
>>496426
Еще форкни эти проекты>>496028 >>496072 , что бы на виду были у тех кто будет смотреть репозиторий.
#516 #496432
#517 #496434
https://ideone.com/KjH3bL
Как из f() получить v? Только передачей аргумента внутри декоратора, f(v)? Больше никак?
sage #519 #496479
Здравствуйте. Возникла необходимость написать маленькую программу, но из-за того, что мои знания в программирование на python стремятся к нулю, а попытки прочитать учебник ограничивает время на сдачу этого поделия, решил обратиться к вам за помощью.

Имеется файл netstat.txt В файле записаны результаты команды netstat в cmd. Например:

Активные подключения

Имя Локальный адрес Внешний адрес Состояние
TCP 192.168.0.103:1658 lb-in-f188:5228 ESTABLISHED
TCP 192.168.0.103:2017 149.154.167.51:https ESTABLISHED
TCP 192.168.0.103:1658 lb-in-f188:5228 ESTABLISHED
TCP 192.168.0.103:2026 bud02s21-in-f3:https ESTABLISHED

Количество строк не известо.
Нужно отсортировать данные из колонки "Внешний адрес". Сгруппировать повторения, расписать порты (вместо "https" написать "https порт:443).
level Nightmare!: каким-то образом отсортировать DNS сервера.

Вывод должен быть примерно такой:

Активные подключения

Адрес: lb-in-f188 \t\t\tпорт: 5228
Адрес: lb-in-f188 \t\t\tпорт: 5228
Адрес: 149.154.167.51 \t\tпорт: 443 (https)
Адрес: bud02s21-in-f3(DNS) \tпорт: 443 (https)

Покачто я считал файл в список

l=[]
f = codecs.open('netstat.txt', 'r', 'cp866')
for line in f:
\t l = f.read().splitlines()
\t
Что мне следует предпринять дальше?
sage #519 #496479
Здравствуйте. Возникла необходимость написать маленькую программу, но из-за того, что мои знания в программирование на python стремятся к нулю, а попытки прочитать учебник ограничивает время на сдачу этого поделия, решил обратиться к вам за помощью.

Имеется файл netstat.txt В файле записаны результаты команды netstat в cmd. Например:

Активные подключения

Имя Локальный адрес Внешний адрес Состояние
TCP 192.168.0.103:1658 lb-in-f188:5228 ESTABLISHED
TCP 192.168.0.103:2017 149.154.167.51:https ESTABLISHED
TCP 192.168.0.103:1658 lb-in-f188:5228 ESTABLISHED
TCP 192.168.0.103:2026 bud02s21-in-f3:https ESTABLISHED

Количество строк не известо.
Нужно отсортировать данные из колонки "Внешний адрес". Сгруппировать повторения, расписать порты (вместо "https" написать "https порт:443).
level Nightmare!: каким-то образом отсортировать DNS сервера.

Вывод должен быть примерно такой:

Активные подключения

Адрес: lb-in-f188 \t\t\tпорт: 5228
Адрес: lb-in-f188 \t\t\tпорт: 5228
Адрес: 149.154.167.51 \t\tпорт: 443 (https)
Адрес: bud02s21-in-f3(DNS) \tпорт: 443 (https)

Покачто я считал файл в список

l=[]
f = codecs.open('netstat.txt', 'r', 'cp866')
for line in f:
\t l = f.read().splitlines()
\t
Что мне следует предпринять дальше?
#520 #496480
Сажа приклеилась
#521 #496482
>>496479

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


1. Выдернуть колонку внешний адрес (например разбив считанные данные по пробелам и переносам и взяв каждую третью из получившихся строк).
2. Написать функцию, которая для двух адресов возвращает какой из них "меньше" (или как там предикаты в питоне работают), скормить ее и адреса стандартной сортировке.
3. Написать функцию, которая берет строку адрес:порт и возвращает строку, которая нужна тебе, скормить отсортированные адреса ей.
#522 #496488
>>496434
Сам нагуглил. Никак.
#523 #496490
>>496430
Ок, завтра сделаю форки.

>>496428
Ну тип немного комментариев там есть, но окей думаю в ридми хуярить надо про содержимое проектов.

>>496429
Ну бля, печаль короче.
#524 #496500
>>496422
БД коммитить это пидорство какое то, тебе даны миграции которые её мигом восстановят если что, а для заполнения тестовыми данными скрипт зафиксируй.
#525 #496503
>>496479

>Покачто я считал файл в список


У тебя же файл в виде csv таблицы, вот и читай его так, будет проще обрабатывать.
IDE #526 #496509
Посоветуйте IDE для ПЕТОНА
Суть такова: работаю на слабеньком нетбуке под виндой, спайдр загружается 5 минут, виснет, забивает всю оперативу.
Хочу что-то самое легкое и элементарное, хотя бы с маркерами, потому что в блокноте надоело писать.
#527 #496511
>>496509
пайчарм не подойдёт? А вообще можешь питонизировать сублайм какой-нибудь, если уж совсем очень лёгкое что-нибудь нужно.
#528 #496512
>>496509
Geany, Sublimetext
#529 #496513
>>496511
PyCharm с его дырой из джавы это просто блять самоё ахуенное что можно посоветовать слабому ноуту. У него такой лик в памяти что через 20-30 минут работы ты нахуй медленнее черепахи.
#530 #496516
То чувство, когда пускаешься в рефакторинг и количество кода уменьшается на 70%.

>>496509
vim
#531 #496547
>>495710
С чего бы там только последние 6 значения то хранят? Там весь массив проверять надо будет.
#532 #496553
>>496547
Охлол, там не менее. Я думал не более. В глаза ебусь. Ну тогда два минимальных нечетных значения давностью >6, плюс 6 последних, весь массив все равно проверять не надо.
#533 #496555
>>496553
В смысле, проверять-то надо, хранить - нет.
#534 #496607
>>495684
http://pastebin.com/CZJwPGaR
вот возможно по памяти пройдет проверку
#535 #496762
>>496607
Парни, если мне необходимо сделать програмульку что-то вроде журнала, там окошки всякие, поля и прочее мне нужно в tkinter'e это все делать? Как я понял, там нужно что-то вроде хмтл прописывать размер окон, возможно расположение и прочей хуйни? Есть ли варик как в вижуал студио таскать окошки? Вообще питону под силу решить массу задач или нет? Почитал книгу лутца там всякие задачки порешал с массивами, строками, это конечно здорово, но хуле делать дальше.
читать программируем с лутцем
sage #536 #496763
>>496762
Да, блять, под силу. Дальше бери и делай что-нибудь рабочее - игру, вебсайт, да хоть калькулятор, похуй что.
Насчет вариков - тут посмотри: https://wiki.python.org/moin/GuiProgramming
79 Кб, 256x364
#537 #496774
>>496763

>вариков


пиши нормально, блять
sage #538 #496864
>>496774
Ты это >>496762 скажи. Мне тоже уебищным слово показалось, потому и использовал его - в надежде что он поймет, насколько по-дебильному оно звучит, прочитав в чужой фразе.
#539 #496934
#540 #496984
>>496512
Джини - гут, спс.
ПЕРЕКАТ #541 #496989
#542 #497040
>>496763
Спасибо тебе, дружище.

>>496774
>>496864
Ну не надо, ну не стукай.
Тред утонул или удален.
Это копия, сохраненная 2 июля 2015 года.

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

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