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

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

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

>str(int(...))


Действительно помогло для второго числа. Наверно записывалось в формате 16.0 вместо 16.
#3 #555714
>>555653 (OP)
Вкатился.
Аноны, нихрена не понимаю ООП. Дайте ссылку на практические задания.
#4 #555754
Питоняши, курю букварь Доусона. Там была задачка на слова. Я вроде написал, и она вроде работает, но в конце выдается ошибка, которую я не понимаю. Это из-за того, что цикл в конце к пустому списку обращается?

http://ideone.com/LMuhKE
#5 #555756
>>555754
words никогда не будет равно нулю, сколько ты элементов ни убирай или добавляй, тут вам не джаваскрипт.
#6 #555759
>>555756
Окей, спасибо. Просто жопой читаю
#7 #555767
Где тот хуй с пипом3? Лень линкать из прошлого треда.

Ну значит ты не осилил пип. Все он ставит. Хоть бы логи показал. А если никаких стремных логов нет - значит точно ставит. Но возможно не туда, где твой питон их ищет. Проверь. И добавь в sys.path или PYTHONPATH.

Я вообще не понимаю в чем проблема. НИСТАВИТСЯ - не проблема, прекращай блондинкой быть.
#8 #555769
Кроме вебговна и scrappy вкатиться никуда? Это конец?
#9 #555812
>>555767
не уверен говоришь ли это мне, но если мне то ты говна поел.
Есть два питона, один используется системой, а один мною.
Учить второй и переписывать на него свое говно желания пока нет.
Изменять системный питон тоже, ибо говорят что это хунта и плохо закончится.
python3 pip и так далее и тому подобное не работает, говорит что небывает модуля пип
хуй который хочет накатить модули на питон3
#10 #555829
>>555812
[CODE]
sudo apt-get install python3-setuptools
virtualenv -p /usr/bin/python3 venv
./venv/bin/pip install django
[/CODE]
#11 #555831
>>555812
Лол, если вы про линуксы говорите, то у меня вот изначально есть pip3 поддержка, всё ставится, работает.
А для винды вообще не нужно юзать pip3, там оно как-то автоматически распознает, и есть божественные колеса: http://www.lfd.uci.edu/~gohlke/pythonlibs/
#12 #555832
>>555812

>python3 pip и так далее и тому подобное не работает, говорит что небывает модуля пип


Логи показывай тип.
#13 #555834
>>555832
/usr/bin/python3: No module named pip
пользуйся, друг

>>555829
я чтото такое корячил - вышло не очень. Посплю и еще раз попробую, спасибо
#14 #555840
>>555834
Ну так установи его, епте. Или через python3 setup.py install ставь каждый вручную, раз инвалид.

На pypi даже написано:
Get Packages

To use a package from this index either "pip install package" (get pip ТУТ ХИПЕРЛИНК НА САМОМ САЙТЕ!) or download, unpack and "python setup.py install" it.
- https://pypi.python.org/pypi
77 Кб, 690x1108
#15 #555892
котаны, проблема. опять эксепшены чудят.
прописал уже просто через except:, чтобы отловить ВСЕ
а он все равно падает с пикрелейтед. что делать-то? как жить дальше?
#16 #555910
>>555892
Думаешь твой всратый цмд.ехе кто-то читать будет?

Ну значит эксепшон вываливается раньше или позже попытки поймать. Делай карочи
if __name__ == '__main__':
..try:
....VSYA TVOYA HYINYA
..except:
....pass
#17 #555913
>>555910
жестоко. у меня там бесконечный цикл, это не страшно? если выбьет эксепшн, он не прервется и программа не завершится? что-то я не уверен.
#18 #556025
>>555913
Это эталонный говнокод, но с таким эксепшоном свалится может разве что с каким-нибудь сегфолтом. Или питон целиком.

Лучше разворачивай бектрейсы и ищи где и что вылезает. И не эксепшоны подкладывай а причину фикси.
#19 #556027
>>556025

>свалится может


Свалиться, конечно же.

самопочин
#20 #556202
>>556025
увы, причину пофиксить не могу - для этого придется тянуть нормальный интернет через десятки километров, что не в моих возможностях. а падает именно из-за него.
244 Кб, 963x720
#21 #556215
>>555769
Я делаю просмоторщик картиночек на pygtk
#22 #556217
>>555812
sudo apt-get install python3-pip
pip3 install foobar
или python3 -m pip install foobar
#23 #556228
>>555754
Когда-то и я решал это задачку.
Можешь посмотреть на мой код:
http://ideone.com/MfiliZ
#25 #556231
>>556228
не изпользуй tuple для хранения списка
also
words = ["ночь", "улица", "фонарь", "аптека"]
random.shuffle(words)
print(words)
#26 #556233
>>556231

>не изпользуй tuple для хранения списка


Это константа, вообще-то.

>random.shuffle(words)


Ну да, налисапедил. Но не жалею об этом. Да и в учебнике не было этой функции, значит автор предполагал решение задачи без этой функции.
#27 #556235
>>556231

>random.shuffle(words)


>print(words)



Анчоусы, есть у меня к вам вопрос.

Я вот тут повтыкал во всякую хуиту про Руби, у них там есть конвенцыа - методы, делающие какую-то хуйню над объектом inplace имеют в названии !, а возвращающие новый с проделанной над ним хуйней - нет.

Почему у нас нет чего-то подобного?

Есть же, например, list.sort() и sorted(list).
На основе этого можно было бы предположить, что inplace перетасовка элементов списка должна быть его методом, а какой-то shuffle из модуля random должен возвращать новый объект, но нет.

p.s. есличо, не рубифаг
#28 #556237
>>556235
Методы у mutable объектов типа list меняют их inplace.
А у inmutable типа str.replace возващают новый объект.
#29 #556248
Что скажете про python curcuits, суслики?
#30 #556250
>>556237
В принципе логично, но имхо консистентнее было бы всегда возвращать новый, если в вызове не передан аргумент типа in_place=True там.
Функциональный подход, все дела.

Ладно, я наверно доебываюсь до частного случая, т.к. random.shuffle судя по блеймам с 2001г особо не трогали и только в 2013 причесали какую-то доковую хуйню.
https://github.com/python/cpython/blob/master/Lib/random.py#L258
#31 #556255
>>556250
В стандартной библиотеке вообще дохуя инконсистентного. Разные модули там в весьма разном стиле. Так уж сложилось исторические, а менять сильно - ломать совместимость.
#32 #556257
perl6 выходил в этом году, а вы всё со своей поделкой возитесь. Скоро питон уйдет на свалку истории.
#33 #556318
>>555653 (OP)
Мнение профессионала http://rghost.ru/7x6pwsd46
#34 #556333
>>556318
Про шапку он прав, а что за профессионал то?
#35 #556338
>>556333
Это диджей на одном радио, который начинал свой путь в программировании еще со спектрума. Он по всему /pr прошелся сегодня.
#36 #556340
>>556338
Пока тоже самое не повторит какойнибудь хотябы КРЕС КОСПЕРСКЕ, можно никого не слушать
#37 #556345
>>556318

>Скачан 6 раз


Неосиляторы флеш-плеера закукарекали.
#38 #556351
>>556338
Cоус на фулл запись/радио в студию.
20 Кб, 416x304
#39 #556352
>>556338

> начинал свой путь в программировании еще со спектрума


Ясно.
#40 #556360
>>556318

>этот голос


Проблевался.
#41 #556361
>>556360
Ну чего ты, человек вещает с дивана(в прямом смысле этого слова) посредством микрофона за 3 доллара с китайского планшетика через самописную вещалку.
#42 #556362
>>556361

>3 доллара


Артур Богач в треде
#43 #556363
>>556351
Думаю, не стоит вскрывать эту тему.
#44 #556364
Да это наверное подкастобляди из соседнего треда, вместо того чтобы кодить, занимаются ебалой
#45 #556430
>>555714
Конкретно, что не понимаешь?
#46 #556434
#47 #556435
#48 #556436
Воу-воу, можно постить без капчки.

А текстом тот аудиовысер есть? Я не хочу слушать целую минуту, а текст быстро бы пробежал.
#49 #556439
>>556228
Да, ты проще все это реализовал, мое решение вот
http://ideone.com/UMIB0h
#50 #556441
sdf
26 Кб, 690x1108
#51 #556442
аноны, видимо, я к концу дня совсем туплю
код: http://pastebin.ru/CC5dEhPI
результат на пикриле
желаемый результат: в первом списке нижнего уровня 1,1,0,0; во втором 1,2,0,0 и так далее
чяднт?
#52 #556447
Астрологи объявили неделю без капчи?
#53 #556450
>>556442
хелп аноны, я уже головой о стену бьюсь, ну не может там быть такого результата.
#54 #556465
>>556436
пиздон
шапки нет
#55 #556466
>>556465
кокой шапки?
#56 #556467
>>556466
ИТТ треда
#57 #556468
>>556467
бля, я уж думал, ты мне помочь решил(
#58 #556469
>>556468
Я не могу тебе помочь, я просто не понимаю что в твоей хуйне происходит. Вот в данный момент пытаюсь разобрать по частям побою написанное
#59 #556472
>>556469
чего проще. цикл, который теребит первый уровень вложенности списков. в нем цикл, который теребит второй уровень вложенности. в нем цикл, который присваивает спискам последнего уровня вложенности значения, увеличивающиеся с каждой итерацией.
7 Кб, 241x183
#60 #556486
>>556439
Пустышка в первом блоке. Можно было бы обойтись и одним блоком, без else.
[code lang="python3"]
\tif word not in printed:
\t\tprint(word)
\t\tprinted.append(word)
\t\tcount += 1
[/code]
#61 #556487
>>556486
\tif word not in printed:
\t\tprint(word)
\t\tprinted.append(word)
\t\tcount += 1
10 Кб, 469x275
#62 #556488
>>556486>>556487
Мои кривые руки.
#63 #556489
>>556217

>sudo apt-get install python3-pip


да, по итогу это и помогло.
#64 #556492
>>556489
Вот ты тугой.
122 Кб, 1626x910
#65 #556494
Что ему не нравится, анон? Подскажи, пожалуйста.
#66 #556495
>>556488
>>556486
Да, я уже заметил когда твой с моим сравнивал,
#67 #556497
>>556494
Потому что в цикле постоянно к total присваивается ноль, сделай total = 0 вне цикла.
#68 #556501
>>556497
Что-то вне цикла оно вообще работать не хочет.
Я так понимаю, оно хочет, чтобы я все промежуточные значения еще и подытожил. Как еще сосчитать эти 48 + 45 + 24 + 0? Я сегодня туплю сильнее, чем обычно.
#69 #556502
>>556442
бампаю вопрос и съябываю, надеюсь, кто-то все же ответит.
#70 #556503
>>556501
Сделай паузу, еба
#71 #556506
>>556503
Нельзя, я и так медленно иду очень.
#72 #556511
>>556501
Так как мне общий результат вывести, подскажете?
28 Кб, 540x721
#73 #556512
>>556501
Внезапно понял почему многие мои знакомые бросили погромирование. Им не нравилось постоянно ощущать себя тупыми. Ведь они умные. А мне всю жизнь говорили - ебать ты дебил.

Погромирование - для тупых.
#74 #556516
>>556494
1. total = 0 - перед циклом, ты же ее обнуляешь постоянно
2. total += prices[key] * stock[key] - так круче
3. print total - outside your loop
#75 #556517
>>556512
Из твоих слов не следует, что кодинг для тупых, из них следует что многие твои знакомые-глупые и ранимые люди
#77 #556519
>>556517
Ты просто не хочешь признавать свою тупость. Ну и ладно.
#78 #556520
>>556516
А что значит total+? Академия меня такому еще не учила :3
#79 #556521
>>556520
total = total + 1 то же самое что и
total += 1
#80 #556522
>>556520
Я не специалист, но это, вероятно, переменная
#81 #556524
>>556520
total += something
это тоже самое что
total = total + something
#82 #556525
>>556522
Я спрашивал конкретно о плюсе в этой переменной. Уже объяснили.
11 Кб, 204x238
#83 #556527
>>556521
Кстати, в некоторых случаях это не одно и тоже.
Например в picrel. list += list2 работает как list.extend(list2), а list = list + list2 создает новый список.
#84 #556528
>>556518
>>556516
Спасибо, сработало.
Лучший раздел на борде, здесь все такие няши, прям не нарадуюсь с вами.
#86 #556530
>>556521
Во всех, не?

>>> i=1


>>> id(i)


10771520

>>> i+=1


>>> id(i)


10771552

А вот была бы мутабельность...
#87 #556531
#88 #556532
>>556528
Пошел нахуй, пидор.
10 Кб, 1222x666
#89 #556538

> bool(str(False))


> True


У меня постоянно такая хуита, что я неправильно делаю?
#90 #556540
#91 #556543
>>556538
ну ты говоришь ему написать в булевой лохике ФОЛС а фолс не равен нулю, следовательно он тру.
Я не прав?
#92 #556555
>>556538

>>> print(bool("False")) #во что и разворачивается bool(str(False))


True

>>> print(bool(""))


False

>>> print(bool("соси хуй быдло"))


True

Никаких WAT тут нет, все логично. Единственный WAT - автора высера. У него непонимание базы, и не только питона. Обсосали где только можно, теперь баян и до зк добрался.
#93 #556556
А ассемблер лудше питона!
#94 #556558
>>556556
А фортран на перфокартах лудше ассемблера!
#95 #556572
>>556442
Если я правильно понял, то твой список хранить список ссылок на один и тот же объект, из-за этого каждая итерация изменяет num, поэтому и результат такой. Думаю, тебе стоит почитать про генераторы списков.
#96 #556584
>>556442
Уж не знаю, что у тебя там за магия, что ты делаешь range(1,9) вместо range(8), когда тебе просто 8 раз одно и то же дествие повторить нужно.
Вот я в одну строку решил, если правильно задание понял (список в клетке только с одном нулём, так красивше на строку помещается): http://ideone.com/FrVB47
>>556572 всё верно говорит.
#97 #556610
>>555892
Значит не всё. During handling above… значит, что эксепшен возник при обработке эксепшена. Ну, и номера строк же подписаны, что за клоунада?
>>556215
В super можно не писать аргументы. неплохие цвета, ЛАЕК
>>556237
Хуйня. Можно же писать "yoba".replace(…) и от этого мутабельность не появится. Вообще >>556235 рубифаг прав. Но это уже история, и никто ничего не поменяет. >>556255 тоже самое сказал.
>>556333
Да похуй на шапку, это тред обсуждения и поливания говном, а не форум даунов. Вся эта культура ШАПОК ИНФА В ШАПКЕ 4ПДА СКАЧАТЬ БЕЗПЛАТНО омерзительная, мягко говоря. Можно всё делать с куда менее надутыми щеками.
>>556501

> оно вообще работать


Классика неосиляторов.
#98 #556618
>>556610

> В super можно не писать аргументы


Это код на python2. Он использует библиотеку на си, для которой есть биндинги только для python2.
90 Кб, 977x564
67 Кб, 876x352
43 Кб, 702x392
#99 #556619
Кстати, зацените пиздец. Исходники просмоторщика картинок mirage. 4850 строк кода в одном файле, все функции а одном классе. xml интерфейса в перемешку с кодом.
#100 #556620
>>556619
Есть три вопроса:
1. Сколько ты уже программируешь (включая обучение)?
2. Сколько ты программируешь на Python?
3. Сколько потребовалось времени на освоение gtk?
15 Кб, 400x300
#101 #556623
>>556215

> 2015й


> pygtk вместо PyGI

#102 #556625
>>556620
1. Если считать программирование на basic на 8-битном компе, то 19 лет. cgi скрипты на perl и всякое поделки на delphi писал 17 лет назад.
2. 8-9 лет где-то
3. Немного, pygtk простой и понятный. Но рыться в документации надо постоянно. Некоторые вещи там довольно через жопу делаются.
#103 #556626
>>556625
Спасибо.
#104 #556630
>>556618
Эти библиотеки с биндингами кстати портируются на трешку очень легко. Я таким портом себе пару десятков лойсов на гитхабе собрал.
#105 #556632
Питоны, плес, нужна ваша помощь: какими навыками должен обладать джуниор?
#106 #556635
>>556630
Насколько я понимаю эти биндинги вообще сгенерированны чем-то.

> / -- THIS FILE IS GENERATED - DO NOT EDIT // -- Mode: C; c-basic-offset: 4 -- /

#107 #556637
>>556632
ХТМЛ ЦСС XML базы данныхб варка кофе старшим пацанам, чинить компутьер
#108 #556639
>>556637
Сам питон знать необязательно чтоли?
#109 #556640
>>556619
Годный просмоторщик, ничего лучше с превьюшками я так и не нашел.
#110 #556643
>>556640
Он тормозной довольно. Глянь на gthumb и geeqie
#111 #556644
>>556643
Хз, никаких тормозов не замечал, мне нравится именно возможность расположить сбоку привью файлов в папке, еще такое есть в дефолтном просмотрщике в кде.
#112 #556655
>>556644

> в папке


В мамке.
172 Кб, 812x600
#113 #556656
>>556644
в гики тоже есть
300 Кб, 800x600
#114 #556660
>>556656
Выглядит как говно, подозреваю , это не просто превью, а дерево МАМОК, и если верхнее говно можно убрать? то вот название возле фалов наверняка низя.
#115 #556661
>>556632
Ну чего, никто не скажет чтоли?
#116 #556663
Посоны, ошибка декодирования меня настигла, памахити!
Тут просто перечислены методы чтения с файла, а он мне ошипку выдает

http://ideone.com/PdCUSF
#117 #556688
>>556663
Так какая ошибка-то? Во втором питоне, который на идеоне у тея выбран, у опен или рид нет аргумента "кодировка". можно читать байты и потом кодировать во что хочешь. Но разве утф-8 не дефолт?
#118 #556690
>>556688
Это из учебника пример переписанный, там пистон третий, вроде как.
UnicodeEncodeError: 'charmap' codec can't encode character '\xbb' in position 0: character maps to (undifined)
#119 #556705
Я тут хотел спросить, но подумал, что описывать задачу долго, а значит много текста, а если не лаконично, то трудно усвоить.
#120 #556708
>>556705
Это не твиттер же, пиши, и пиши развернуто, если кортоко не получится. Тред должен жить.
#121 #556716
>>556708
Очень извиняюсь за по идиотски оформленный текст. Пытаюсь побыстрей.
Подробно не смогу, потому что (читать далее).
Да у меня там такая проблема.
Дело в том, что я сперва переконвертировал из численного типа в строковый значение переменной.
Потом
Я хотел изменить значение строковой переменной, при помощи "For in".
Но я уже удалил участок кода который был за это ответственен.
Потом конвертил в int.
И далее я запилил проверку, где сравнивались значения той переменной, что была до конвертирования в str, и переменной после конвертирования в int.
Короче говоря, судя по проверке значения не изменялись, я сделал более подробную проверку с помощью инструкций print и цикла while. Тогда мои догадки подтвердились. С помощью For in, короче, я не знаю как изменить значение стоки, но уже над этим думал, и пытался сделать это также при помощи метода format, но тоже самое.
Сейчас я уже над этим не работаю, так как удалил, но думаю.
#122 #556717
>>556708
Все я сам уже додумываюсь.
#123 #556718
>>556716
Если бы ты код показал было бы понятней что ты хочешь.
#124 #556719
#125 #556720
>>556718
Но, смотри я возможно попытаюсь это еще раз реализовать.
#127 #556725
>>556723
Да, что то такое.
Я сейчас впервые залью на ideone.com свой код.
#128 #556730
>>556723
Спасибо, хотя я и думал в том направлении, и у меня бы вышло то же самое, но твой метод я испробовал.
http://ideone.com/y0BEuX
#129 #556741
Что скажете о книге Лутца "Программирование на Python"?
#130 #556743
Все ушли?
#131 #556744
>>556741
Она довольно подробна. Вот укус питона мне не понравился, как то слишком все на скорую руку, я не все понял. После Укуса читаю Доусона, и теперь они дополняют друг друга. А Лутца я буду читать уже после
#132 #556747
>>556744
Ну я не про ту где Python изучается, а о той, где Python применяется на практике. Сам я кстати с Саммерфилда начинал, она кстати мне отличной не показалась, и его же книга Python на практике тоже не очень.
#133 #556748
>>556741
Весь Лутц - вода. Человек, на 120% состоящий из воды.
#134 #556749
>>556748
Я о той, где практика. Если ты о ней, то чем он плох то? Есть альтернативы?
#135 #556750
>>556747
Бля, это я по невнимательности, мильпардон.
#136 #556751
>>556750
И кстати, забыл добавить, byte of python после и до Саммерфилда, будет неплохой, но Саммерфилда я бы полностью читать не рекомендовал и сам так не делал. Про Доусона не знаю, не читал.
#137 #556761
>>556635
swig-ом может быть, тогда их под 3 как два пальца сгенерировать.
#138 #556763
>>556761
pygtk то сам вообще есть под 3-й? там gi вроде
#139 #556767
>>556763
pygtk депрекейтед сто лет уже, не только из-за питона.

Используйте python-gobject, умеет во второй и третий питон и во второй и третий гтк.
#140 #556864
>>556767

> python-gobject


Ссылку кинь, что-то гугл ничего вразумительного не выдаёт. Только пакеты из разных линуксов. Сайт/pypi/github есть?
#142 #556871
>>556867
Бля, я-то искал python-gobject.
64 Кб, 614x460
#143 #556873
>>556871
Ну так его и выдает по таком запросу.
В старом pygtk тоже был модуль gobject http://www.pygtk.org/pygtk2reference/gobject-functions.html но это другое немного
#144 #556878
>>556873
Вот именно, что выдаёт, но названия-то нет в заголовке. В общем, не важно уже.
#145 #556891
>>556747

>Сам я кстати с Саммерфилда начинал, она кстати мне отличной не показалась


Программирование на Python 3? И что тебя там не понравилось? годная книга, пифон3, достаточно подробно но без тонны воды как у Лутца, куча годных примеров и заданий.
Я так понял, ты спрашиваешь за двухтомник лутца? ну по сути это документация по стандартных библиотеках.
#146 #556962
http://pastebin.ru/40LhnD0N
анон, помоги. чому этот код виснет на 12 строчке?
#147 #557031
А питон может редактировать файл, который был запущен в интерпретаторе? Чтобы настройки прям в нем таскать и не плодить файлами левые.
#148 #557088
>>557031
Может, только это идиотизм.
#149 #557104
>>557088
Я знаю, что идиотизм, прост любопытно стало, логику на этом построить, поизвращаттся
#150 #557106
>>557104
Ыыы))
#151 #557112
>>556962
Откуда у тебя переменная b?
#152 #557128
Привет, питоны. Поясните за tkinter.
#153 #557132
>>557128
Поясняю - бери гтк
#154 #557144
>>557132
Luchshe Qt.
#155 #557154
>>557144
Слишком раздутое. 90% говна там нахуй не нужно.
Гтк - чисто гуй, как и ткинтер. Только современный и не депрекейтед.
#156 #557156
>>557154
А вот он >>556767 обратное утверждает. И кому верить?
#157 #557157
>>557156
Это я и был, лалка. Что там обратное? Гтк сам по себе чисто гуй, в отличии от кутей, из которого делают самую кроссплатформенную кроссплатформу со всем и вся. Pygobject умеет в две версии питона и две версии гтк

Может тебя pygtk смутило? Так это старые биндинги к гтк, их (только сами биндинги) сделали депрекейтед в пользу python-gobject.
#158 #557178
>>557154
Никто не заставляет использовать всё, что есть в Qt.
#159 #557180
>>557178
Можно и на жаве только хелловорлды, скриптики и парсеры писать.
#160 #557182
>>557178
Ему лишь бы сказать что не нужно и все.
Даже если там 90% ненужного дерьма(в действительности конечно же не так), то сейчас у меня смартфон мощнее моего компуктера.
#161 #557185
uдuте нахyu
#162 #557191
>>557185
Ты чего бомбишь?
#163 #557275
>>557191
Да вот чето неосиливаю немного питон.
#164 #557299
>>557275
Бывает братишка, не сдавайся. И сам иди нахуй.
#165 #557311
>>557299
Не сказать что не осиливаю, просто знаю что такое циклы, массивы(списки), кортежи, ну в общем это все, это я знаю еще когда пхп немного увлекался. Сейчас не знаю куда двигаться, хочу фласку учить, но чувствую что еще подучить надо, иначе смотрю код там и не совсем понимаю что происходит там, порешаю задачки всякие, алгоритмы пока что.нет ты иди нахуй
#166 #557312
>>557311
Нафиг тебе это говно, никто в реальном мире никакой фласки не использует.
Учи php лучше, работы вагон. Изучит джумлу, wordpress, drupal.
#167 #557315
Пацаны, как проверить переменную логического типа на соответствие true или false?
вот у меня есть конструкция if (S == true):
print("YES")
else
print("NO")
Она не работает, как сверить S с тем, равна ли она true или нет?
#168 #557316
>>557315
if S: print("yes")
else: print("no")
4 Кб, 160x220
#169 #557382
>>557312

>Изучит джумлу, wordpress, drupal.


Ворвался в чужой тред и предложил поесть говна. Некрасиво.
#170 #557383
>>557382
Дал деньный совет. Питон язык для обучения школьников, но в индустрии и enterpize его не используют. Везде php.
#171 #557385
>>557383

>enterpize


А вот в питон-треде говорят, что используют. Но только второй. Третий для лохов, а вот второй - ынтырпрайз.
#172 #557386
>>557385
Это легаси, да и питон не маштабируется, на нем делают только протатипы, всё равно потом переписывать на php или java mvc
#173 #557387
>>557386

>enterpize


>протатипы


>маштабируется


В школу собирайся, ынтырпрайзник. Может на уроке информатики про спеллчекер расскажут.
33 Кб, 300x300
#174 #557388
>>557387
Я русский язык подзабыл уже 10 лет пишу startups в силикон вэллей и общаюсь только с americans.
#175 #557389
>>557388
Хуёво быть тобой.
#176 #557396
>>557388

>enterpize


Английский тоже позабыл.
#177 #557399
Снова врываюсь к вам в тред. Есть одна задача. Нужно сложить два числа, сделать с помощью рекурсии, циклами пользоваться низзя, только +1 и -1. Рекурсию я написал, все работает, но только как выйти из рекурсии, не используя if?
121 Кб, 604x403
#178 #557402
>>557399
if не цикол жи. Или условия тоже нельзя? Обожаю эти наркоманские задачи от преподов программировавших последний раз еще в совке на перфокартах.

Ну блять, сделай карочи так
x == n and return x
И пускай топает нахуй.
#179 #557404
>>557402
Так нельзя писать, invalid syntax будет
#180 #557405
>>557402
Можно написать что-то типа
def recursion(n): return n==result and n or recursion(something)
#181 #557408
>>557404
Вот я обосрался. Ну суть выпонели.
#183 #557459
>>557312
Ну и что? Я для себя хочу, ну и просто первый фреймворк, фласка кажется мне наиболее понятной. Потом как с флаской разберусь от и до и пойму что к чему и почему буду осваивать Tornado or Django.
А совет насчет РНР не очень, потому что я и так из РНР пришел. Ковырялся в нем некоторое время, но потом понял что не нужно.
#184 #557460
Еще немного подтяну свой питон и пойду работать в варгейминг.
#185 #557461
#186 #557464
Ещё немного подтяну питон и пойду работать в гугл а может eve online или дропбокс. Да и путягу я уже почти закончил.
#187 #557489
>>557459

> фласка


Что за хуйня?
#189 #557496
>>557495

> фласка


> flask

#190 #557504
>>557496

>джанга


>django



>python


>питон

18 Кб, 391x231
#191 #557509
Посоветуйте что новичку написать на пайтоне, до этого прогал только в вузе на уровне скопипастить ответ из гугла.
#192 #557510
>>557504
django → джанго

> python


> питон


Это перевод, бедняша.
#193 #557511
>>557509
Имиджборду конечно же, чтобы 5000 запросов.
38 Кб, 409x409
#194 #557513
>>557504

>python


>пайтон

#195 #557520
>>557510
>>557513
>>557511
>>557504
Что за хуйню вы несете, блядь?
#196 #557521
>>557520
уходи
#197 #557527
>>557511
А без задействования интернета?
#198 #557534
>>557527
Локальную имиджборду, тока чтобы 5000 запросов, приду проверю.
#199 #557553
>>557112
пофиксил что нашел, теперь код выглядит так:
http://pastebin.ru/zwNruuoz
но все равно виснет :(
#200 #557569
>>557553
Изначально у тебя cells[0][2][3] = None. (x2 = 0, y2 = 2).. В функции есть луп:
while cells[x2][y2][3] == None:
Внтури которого делается следующее (i на j заменил, что б не стало разметкой):
if cells[a][j][3] == 0:
something
else:
next iteration

А так как None != 0, то значение этой клетки никогда не изменится, а значит и условие while-лупа никогда не станет неверным. (Дальше d инкрементируется, но None как был, так и останется.)
#201 #557570
>>557569
test
Абу поломал даже nbsp, что ли?
#202 #557576
>>557569
ох щет, совсем упустил из вида. спасибо, буду думать, как по-другому реализовать.
#203 #557588
>>557553
Код пиздецово выглядит, даже неохота курить его, но позволю себе одно небольшое замечание по стилю: c None лучше сравнивать не с помощью == а через is
#204 #557592
>>557509
Можешь написать граббер пикч из /б/
Можешь пройти на checkio и писать всякую мелкую хуйню там, но задачи будут оторваны от реальности.
Можешь написать сервер на Flask. Какую-нибудь несложную функцию, например ввод двух чисел и сложение их в бекэнде.
Можешь написать текстовую консольную игру.
#205 #557594
>>557588
is None пофиксил. дальше буду сам разбирать, не подскажешь, чем можно без лишней мозгоебли по-быстренькому отдебажить построчно?
#206 #557596
>>557316
Построчно нет. Если ты мне объяснишь на словах в общих чертах алгоритм, что этот код делает, может смогу что подсказать.
#207 #557598
Бля, промазал. Писал другой вариант логической проверки через словарь.
#208 #557599
>>557596
если ты это мне>>557594
то код делает это: https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%9B%D0%B8
на распространении волны завис пока
#209 #557601
>>557594
pycharm, pdb
#210 #557604
>>557601

>по-быстренькому.


я с моим интернетом pycharm качать только буду до завтра.
#211 #557605
>>557599
Я так понял ты моделируешь ту картинку из вики заполняя цифрами списки?
Ты по псевдокоду из вики делал?
#212 #557607
#213 #557614
>>557607
Сейчас попробую сам накатать. Тоже интересовался нахождением путей, когда делал игрушку.
#214 #557616
>>557614
какую игрушку делал? я просто тоже вот. не пишу велосипед случайно?
#215 #557619
>>557616
На pygame. Правда там поле не клеточное и такой алгоритм не подойдет.

Насчет алгоритма, велосипед скорее всего, если погуглишь, то найдешь готовый.
#216 #557620
>>557619
гуглил, конкретно на питоне нет.
#217 #557622
>>557592

> Можешь написать текстовую консольную игру.


Кстати в Learn Python the Hard Way есть такое.
#218 #557636
>>557599
Это же поиск «в ширину» что там сложного? И да, лучше как в вики не делать, это для байтоёбов.
#219 #557641
>>557636
а как лучше делать?
#220 #557654
>>557641
Граф хранить в словаре, ходить по нему запоминая «увиденные» вершины, хранить пачку текущих путей. В общем, самый стандартный поиск в ширину. Можешь конечно, пути не хранить, и делать как в алгоритме — обратный проход, но это если у тебя поле большое, плюс придётся завести ещё одно поле для меток. В общем, хуета без души.
#221 #557662
>>557654
ну пиздец, с каких пор словарь лучше списка? а в остальном то же самое предложил.
#222 #557667
>>557662
С тех, что ключём может быть что угодно, а связи не на 4 клетки вокруг, а на сколько угодно причём у каждой вершины их может быть разное количество.
#223 #557676
>>556538
любая строка это тру
#224 #557682
>>557676
Пустая строка тоже строка, но она не тру.
#225 #557718
>>557682
сука, хуля ты придераешься к словам, ну на это и расчет что
"" - фалсе, потому что там пусто
"аувацхуйло" - тру, потому что не пусто
1 - тру блять
0 - фолс, потому что нет нихуя нольноль
#226 #557719
>>557718

>хуля ты придераешься к словам


Потому что могу.
#227 #557800
>>557588

> c None лучше сравнивать не с помощью == а через is


Нет, не лучше. Откуда вы идеи такие ебанутые берете.
2 Кб, 170x71
#228 #557806
>>557718

> "" - фалсе, потому что там пусто


Не пусто
5 Кб, 272x99
#229 #557822
>>557806
Пусто.
5 Кб, 297x104
#230 #557823
>>557822
Как и у тебя в голове
#231 #557825
Пусто-хуюсто. На самом деле фишка в том, что возвращает __len__()

https://ideone.com/5h9yw6
#232 #557834
>>557825
Что это значит?

class Empty:
def __init__(self):
pass;
#233 #557838
>>557834
Это значит что ты пидор

>>> bool(Empty())


True

>The following values are considered false: instances of user-defined classes, if the class defines a __bool__() or __len__() method, when that method returns the integer zero or bool value False.


До тех пор - труе. Как я и сказал, все опирается на __len__()
#234 #557867
>>557834
>>557838

Немного промахнулся разметкой.
Я хотел узнать че обозначает __init__(self):
#235 #557876
>>557867
Инициализация класса. Функция выполняется когда создается объект(экземпляр класса).
То есть когда ты пишешь
var = Empty()
в этот момент выполняется init
#236 #557880
>>557867
А это значит что ты даун-аутист.
#237 #557936
>>557800
Это классика, подчёркивает уникальность объектов None, True и False.
#238 #557952
>>557876
Помимо всего прочего, даже, если ты её не обозначил, то она по дефолту есть, но скрытая.
#240 #558049
Почаны, вот чего ему не нравится?

Пишет что в строчке с обьявлением исключения есть синтаксическая ошибка. В упор не вижу!

https://ideone.com/ToNTDP
#241 #558050
>>558049
Опять ты? У тебя except на индент убежал. Он должен быть на уровне трая, ка иф-елс.
#242 #558051
>>558050
Точно, спасибо!

>Опять ты?


Мы еще успеем подружиться
#243 #558066
Пиздец. Учу себе пистончик, выбрал его первым языком. Потом, в паузе внезапно переключаюсь на видеоурок по С. Или по ассемблеру. Потому что байтоебство мне интересно как явление. А то и вовсе сажусь читать Тененбаума. Потом вспоминаю, что я вообще то питончик учил. Сажусь, повторяю, продолжаю. А бывает, пройдусь по зкачу, или по вакансиям, почитаю. Настроение портится быстро. Но пару часов, и все ок, возвращаюсь к питону. Я один такой еблан?
#244 #558067
>>558066
Байтоебство полезно для понимания как все работает под капотом. Ну и все равно ты рано или поздно выучишь потыкаешь несколько 90% мейнстримных языков. Почему бы не одновременно?
#245 #558159
>>558066
Попробуй писать экстеншены для питона. Под CPython и под PyPy через cffi.
#246 #558235
Ребят, что делаю не так? Прокси проставил, но в результате выводится мой. http://ideone.com/bn9dsG
Проставлял прокси как глобальную толка не было. Что можно с этим сделать?
#247 #558272
>>558066
На пистоне байтоёбить как раз самое заебись, зря что ли почти все сплоенты публикуются в виде питоновых сниппетов.
#248 #558396
>>558235
Не можешь, не умеешь.
#249 #558421
>>558235

попробуй
from requests import request

тащемта для начала попробуй все делать в PyCharm -e или читай что импортируешь
#250 #558432
Вот скажите выполнил все задания на кодекадемии, хуля дальше то ? Че делать, с таким багажом знаний работу искать? погонят же
#251 #558436
>>558432

> хуля дальше то ?


И тут мы подходим к главному вопросу, а что ты умеешь?
#252 #558438
>>558436
Умею все, что было в курсе, методы, функции, листы, лупы, залупы, алахи
#253 #558443
>>558438
Перезвоним.
#254 #558445
>>558438
А когда это все понадобится сложить в большую поделку - ты с треском обосрешься.
Пиши короче то, чем бы хотел заниматься. Похуй что оно никому не нужно, главное ты практику получишь и будет что показать на собеседовании.
#255 #558446
>>558421
У меня не с импортом либы проблема, локально у меня с этим всё хорошо, именно что через прокси не хочет идти.
#256 #558453
>>558446
В http_proxy только адрес и порт оставь.
#257 #558454
Привет, питонята. Что нужно знать и на каком уровне, чтобы пойти джуном в ДСах?
#258 #558460
>>558453
Спасибо, но не взлетело, оно снова напрямую ушло.
#259 #558461
#260 #558468
>>558454
А что, в вакансиях такое уже не пишут?
#261 #558507
>>558468
На дваче лучше знают.
#262 #558516
>>558460
Какая версия requests, python?
40 Кб, 500x500
#263 #558527
Ребят поясните ньюфагу, что такое фреймворк и зачем он нужен ? и чем Django отличается от простого Python 3 ?
#264 #558539
>>558527
Отличается тем, что ты пидор.
#265 #558565
>>558432
Повтыкай еще в https://github.com/gregmalcolm/python_koans

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

А дальше ковыряй всякие джанги и нампаи, смотря куда ты хочешь - в крудоделанье, или в высокоматематичные поебени типа рекомендательных систем.
#266 #558567
>>558454
Красиво пиздеть.
#267 #558568
>>558527
Фреймворк - некий код, который вызывает твой код. Зачем он нужен - там, где библиотеки мало. Отличается тем, что ты пидор.
#268 #558634
Анон, мидл .net разраб вкатился. Подскажи набор софта для разработки на питоне в debian-based linux (Kali). Что используешь в качестве клиента БД(sqlite например), что используешь для непосредственно кодинга? Или есть уже клиенты в котором все есть?(типа визуальной студии от мелкомягких)
#269 #558645
>>558634
Терминал твой клиент.
Забудь о своих вижуал студиях.
Ну или сиди в пишарме, если ты мудак.
#270 #558653
>>558645
Ну да, очень удобно. Даже intellisence нет. Ща пытаюсь качаю крякнутый pycharm. Вообще быстро освоение идет, сейчас уже джанго развернул, потратил час отсилы на курение мануалов.
11 Кб, 367x215
#271 #558694
>>555653 (OP)
Какой вариант приемлимей, сверху или снизу? Сам codecademy говорит делать как снизу, но может это просто для наглядности новичкам.
19 Кб, 200x200
#272 #558697
>>558694
def by_three(number):
....if (number % 3 == 0):
........result = cube(number)
....else:
........result = False
....return result
#273 #558698
>>558694
хз, у нас все (включая меня) пишут по первому.
Если тебя так сильно беспокоит "правильность" - загони в pylint, он все скажет.

>>558697
def by_three(number):
....return cube(number) if (number % 3 == 0) else False
#274 #558702
>>558698

> return cube(number) if (number % 3 == 0) else False


Ну это быдлище.
#275 #558704
>>558702
Это жабаскрипт быдлище.
А хуячить бесполезное промежуточное имя для результата - жаба быдлище.
Еще можно запихнуть тернарник в лямбду вместо дефа, тогда получится лисповое быдлище (хотя это весь питон, лол).
#276 #558705
>>558704

> бесполезное промежуточное имя


Что даёт одну точку выхода, например.
#277 #558707
>>558705
Вон у тебя вся функция из одной точки выхода.
В методе с кучей логики и побочных эффектов это было бы логичнее.
#278 #558710
>>558707

> В методе с кучей логики и побочных эффектов это было бы логичнее.


Мне кажется, что если и использовать, то везде. Единственный случай, когда я считаю оправданным использование return-а где-то в середине — вложенные циклы, но это зачастую повод задуматься о рефакторинге.
#279 #558713
http://www.youtube.com/watch?v=Lp8E6OiFlEM

Пора изучать perl6. Он выходит в этом году и студенческая поделка питон отправится на свалку истории. Начинайте уже сейчас.
На perl написаны яндекс, мейл.ру reg.ru и многое другое.
#280 #558715
>>558567
Двачую. И не только на вакансию джуна.
164 Кб, 1294x686
#281 #558717
>>558634
Типа gui клиента sqlite? Есть sqlitebrowser и sqliteman.
Но я рекомендую использовать postgres под него есть отличный pgadmin3
#282 #558732
>>558710
Я использую модуль goto чтобы выходить из вложенных циклов. Или поднимаю исключение.
#283 #558739
>>558634
vim

Все остальное от задачи зависит.
82 Кб, 740x406
#284 #558740
>>558739
vim для ньюфагов с TUI. нормальные пацаны используют ed
#285 #558742
>>558634
Вообще есть http://microsoft.github.io/PTVS/
Вроде в visual studio community edition или как там её поддержка питон есть.
#286 #558757
>>558742
Эта хуйня конечно удобная, но обновляет completion db после каждого нового пакета, причем обновляет по 15-20 минут.
#287 #558771
Сап, есть один idle+ python3.4+ ubuntu. В идле не работает del на кейпаде. Не удаляет символы справа. Обычный delete работает. Подскажите, как пофиксить? Раздражает жутко.
#288 #558773
>>558771
Поставь десяточку там всё работает нормально.
#289 #558783
>>558516
Requests свежий, 2.8.1, python 2.7
#290 #558789
>>558771

>del на кейпаде.


На нампаде же? Я думал им только бухгалетры пользуются, а оно вон как...
#291 #558815
>>558732
Звучит не очень круто.
196 Кб, 541x386
#292 #558816
Помогите решить
Даны целые числа n и m (1<=n<=10^18, 2<=m<=10^5), необходимо найти остаток от деления n-го числа Фибоначчи на m
#293 #558817
>>558783
Значит что-то не так делаешь. Проверь на реквест.ин или как там его.
#296 #558822
>>558817
Попробую, за сервис спасибо, удобно.
#297 #558823
>>558816
Ох лол, ты задачу анон из вчерашнего треда в /б/ решаешь?
5 Кб, 160x238
#299 #558945
>>555653 (OP)
Анон, есть задача запустить в прыщах интерпретатор хацкела (ghci) с помощью питона, перехватить полностью ввод и вывод ну и соответственно рулить этим делом, отправляя туда строки, получая результат. Как это вообще делать ? subprocess.Popen вешает IPyhon почти полностью.
#300 #558949
>>558945
Вангую он не вешает "почти полностью", а перехватывает весь io
google: python spawn interactive process
#302 #558959
>>558949
нет, я отвел в PIPE вывод, курсор моргает, я даже вводить (.terminate() например) что-то могу, но очень тормозит
#303 #558963
>>558959
proc = subprocess.Popen('ghci', stdin=subprocess.PIPE, stdout=subprocess.PIPE)
print(proc.communicate('some haskell command'))[0]
#304 #558970
>>558963
ты проверял ? потому что я именно так и делал, разве что до communicate не доходило

>>558958
спасибо, походу то что надо, по крайней мере, справляется лучше остального что я нашел
10 Кб, 532x156
#305 #558973
>>558970

> ты проверял ?

29 Кб, 987x516
#306 #558974
>>558854
Анон, ты сможешь. Я в тебя верю. Даже я смог.
#307 #558981
>>558973
так я обычно сам всегда так делаю, питон тоже нормально запускается
#308 #558983
>>558974
Тебе это помогло найти работу?
#309 #558984
>>558983
Я уже работаю тестировщиком. Пайтон нужен для автоматизации. Кодакадеми в связке с видео по Selenium и документацией очень помог в том, чтобы сделать тестовое на джуниора автоматизатора.
#310 #558995
>>558984
Какие вопросы на собеседованиях к тестировщикам, где почитать что бы меня хоть стажером взяли, хочу сходить, есть тут вакансия в мухосранске моём
#311 #558996
>>558995
Тестирование dot com Романа Савина почитай для начала. Если с Украины, можешь записаться на курсы вебинаров от QATestLab. Они там бесплатные и дают практические и теоретические знания, но на работу туда я бы не советовал тебе идти.
#312 #559000
>>558996
Спасибо, надеюсь вакансии не закроют, пока я её буду книгу, благо всего 300 страниц.
#313 #559001
>>559000
Она читается за пару вечеров.
sage #314 #559002
>>559001
За день осилю. Завтра схожу.
16 Кб, 534x312
#315 #559004
Есть несколько файлов с классами. Класс Figure - родительский, остальные - потомки. Каким образом эти все файлы запихнуть в отдельный модуль и импортировать их в main.py, чтобы в структуре была только папка Figures со всеми классами и файлик main.py?
#316 #559009
>>558984

> видео по Selenium


А что за видео.
#317 #559019
>>559009
https://2ch.hk/pr/res/559015.html а давай перекатимся туда и будем по поводу этого общаться там, чтобы не засерать этот тред.
#318 #559030
>>559004
Чет не понял, что ты хочешь. На тебе доку https://docs.python.org/2/tutorial/modules.html
Понадобится __init__.py полюбому. Возможно, в главноем файле придется определить переменую __all__
#319 #559031
>>559030
Мне нужно, чтобы в папке с программой не лежало дохуя файлов, а только main.py и я не знаю, как это организовать. Если создаю в PyCharm новый Python Package с именем Figures и перенеся туда все свои файлы классов, то там создаётся __init__.py, но я не могу заимпортить из Figures свои файлы классов Figure, Triangle, Square и т.д. в main.py, который находится вне пакета.
#320 #559034
>>559031
В мамке.
#321 #559053
>>559030
Создаёшь папку Figures, забрасываешь туда классы и создаешь там же __init__.py.
Импортируешь как from Figures.[имя_класса] import *
#322 #559055
>>559053
Мамку.
#323 #559056
>>559031
from . import Figure
46 Кб, 916x535
#324 #559057
>>559053
Спасибо. А что должен содержать файл __init__.py?

>>559056
Смотри пик.
#325 #559060
>>559057
Обычно ничего содержит. Можно вписать переменную __all__ или какой-нибудь код инициализации пакета.
#326 #559061
>>559057

> А что должен содержать файл __init__.py?


Может быть пустым. Наличие этого файла в каталоге говорит питону что это package и ты можешь. Почитай что такое package в доках или книжке какой.
В краце если у тебя каталогом ниже есть main.py ты можешь оттуда писать from packagedirname import modulefilename
Или если у тебя этот package лежит в site-packages или PYTHONPATH
#327 #559063
>>559061
Хуй знает. У меня ни в какую не хочет импортить или я неправильно вызываю методы из классов, которые находятся в модуле. (см. пик выше)
#328 #559065
>>559063
Код классов покажи.
#329 #559066
>>559063
А если из консольки сделать
d:
cd \path\to\project
c:\python\python.exe main.py
?
#330 #559067
>>559057
from Figures import triangle ?
13 Кб, 412x187
#331 #559069
>>559063
Вообще советую использовать repl
запускаешь питон и в нем прямо там пробуешь код по всякому
32 Кб, 664x362
19 Кб, 750x322
29 Кб, 1190x455
#332 #559070
>>559067
Так вообще нахуй шлёт.

>>559065
Второй скрин - родительский клас, а Circle - потомок.
#333 #559071
>>559070
Вот в этих классах ты должен писать просто
import Triangle
А не from Figures import Triangle
#334 #559073
>>559071
А я в глаза долблюсь, disregard this.
53 Кб, 1255x927
#335 #559077
>>559070
Ну ты чё, ёпт.
#336 #559080
>>559073
А, уже всё.
#337 #559091
>>559077
Я че-то нихуя не понял пока. Объясни на моём примере где я проебал.
#338 #559093
>>559091
Уже понял. Если я ставлю точку перед импортом в чайлд классе, то это означает, что родительский класс находится в той же директории, верно?
#339 #559094
>>559093

>директории


Первый человек разумный итт.
#340 #559095
>>559093
Если ты без точки пишешь from parent import тоже должно работать
#341 #559097
>>559095
С точкой работает, а без неё - нет. Пишет, что неправильный референс.
10 Кб, 371x143
#342 #559100
>>559097
Хм в питоне2 работало. В 3-м нет
#343 #559102
>>559100
Да, забыл сказать, что использую 3.5 питон.
#344 #559132
Скиньте некий "Эталон кода" , такого качества , чтобы на него можно было дрочить .
211 Кб, 639x275
#346 #559145
>>559132

> Эталон кода


> дрочить


Что у тебя с психикой, приятель? У тебя больной, искажённый взгляд на мир.
#347 #559147
>>559145
Это просто метафора которая должна показать его идеальность .
#348 #559148
>>559132
twisted
#349 #559152
>>559132
print('Hello, world!')
#350 #559153
Здаров питоны, надо навернуть десктоп прилогу с красивым GUI, какую либу посоветуете чтобы в десигн можно было немного разогнаться? А то ткинкер какой-то уж совсем убогий на вид.
#351 #559154
Анон, поясни, как работает это. Чет не могу понять.

import re

def autocorrect(input):
return re.sub(r'(?i)\b(u|you+)\b', "your sister", input)
#352 #559155
>>559153
Ну ты троллишь шоле?!
#353 #559156
>>559154
почитай про регулярные выражения
#354 #559158
>>559155
Не троллю, есть киви есть вэикс виджетс, я хз что взять можно
#355 #559163
>>559152
Я имел ввиду большой и сложный .
#356 #559176
Могут ли приложения, написанные на питоне, запускаться как на Windows, так и Linux, без внесения каких-либо изменений в код программы?
#357 #559177
>>559176
Если ты не использовал никакой платформозависимый код, то - да.
#358 #559178
>>559176
Тут как с жабой
#359 #559182
Анон, вопрос возник. Предположим мне надо выполнить из интерфейса сайта на джанго команду на баше. Надо сгенерить файл на харде с помощью нескольких утилит в линуксе и отдать пользователю. Реально ли? Или там есть какие-то нюансы за счет окружения? Чтото типа песочницы?
#360 #559213
>>559152
print("Hello, world!")

Чей лучше?
#361 #559217
>>559182
Реально. На счет изоляции - зависит от масштабов. Если генерировать часто и много и хочешь максимум секурности - имеет смысл поднять lxc/docker и генерировать в них. А иначе можно чрутом обойтись, например. Или просто из-под отдельного юзера.
#362 #559219
>>559213
С одинарными кавычками, конечно же.
#363 #559222
>>559219
Почему?
#364 #559224
>>559222
Меньше размер.
#365 #559226
>>559224
Чего-чего?
#366 #559228
Есть опытные аноны, которые могут по хардкору пояснить по моему коду, что можно было реализовать умнее, чем это сделал я? Код простой: задачка, которая выводит инфу про фигуры. Например:

Фигура: Квадрат, площадь 25 кв.ед., длина стороны: 5 ед., цвет: красный.

Было бы интересно пообщаться с таким аноном в скайпе или в вк, например.
#367 #559230
>>559228

>в скайпе или в вк


Пошел
На
Хуй
#368 #559280
>>558773
Винду что ли? Не вариант у меня дохлый ноут.

>>558789
Ну в играх он всегда кейпадом назывался. Этот дел удобно внизу находится где я привык, а второй наверх рядом с принтскрином.

Так что нет идей? В гугле тоже пусто.
#369 #559283
Скиньте некий "Эталон кода" для Python 3 , такого качества , чтобы на него можно было дрочить .
#370 #559286
>>559283
Рака пинуса тебе.
#371 #559291
>>559286
Извини , случайно запостил . Писал пока не разобрался с PEP , но разобрался что Twisted на 2 .
#372 #559322
>>559228
Я, если честно, вообще не очень понял, что ты там намудрил, зачем у тебя список треугольников в окружности и почему атрибут "радиус" — классовый, а не инстанса.
Я бы сделал так - http://ideone.com/qHJRLs (окружность аналогично).
Хотя, нужно бы делать прямоугольник и эллипс, а остальные будут их сабклассами.
#373 #559325
>>559322
Условие задачи:

Дано объекты-фигуры следующих видов: квадрат, треугольник, круг, трапеция. Каждую фигуру можно нарисовать, получить ее площадь и цвет. Также фигуры имеют уникальные методы, например: вернуть радиус, длину гипотенузы, длину стороны и т. д.
Нам необходимо сгенерировать случайный набор фигур, количество объектов в наборе также заранее неизвестно.

После генерации массива нужно вывести весь список объектов, которые у нас имеются, например:

Фигура: квадрат, площадь: 25 кв. ед., длина стороны: 5 ед., цвет: синий
Фигура: треугольник, площадь: 12,5 кв.ед., гипотенуза: 7.1 ед., цвет: желтый
#374 #559328
>>559325
Есть код на гитхабе мой, но сюда его постить не хочу, так как диванон по никнейму и, сам понимаешь. Поэтому могу скинуть в скайп, например.
#375 #559349
>>559325
Ну вот, например — http://ideone.com/yE2Lsk
Нужен ещё класс — создал, добавил его в список classes и готово.
18 Кб, 570x416
40 Кб, 1382x514
40 Кб, 1377x550
#376 #559363
>>559349
Интересно. Я немного по-другому организовывал. У меня есть родительский класс Figure и из него наследуются уже фигуры. Потом вызываются методы из фигур, которые возвращают текст в массив и массив выводится. Вот, в общем, скрины. Пару фигур, остальные описаны по такому же принципу.
24 Кб, 922x377
#377 #559364
>>559363
Забыл Figure
#378 #559365
>>559363
>>559364
Добавлю ко всему прочему, что знаний у меня - курс на кодакадеми и смежная инфа с интернетов, поэтому такой нубский(?) подход.
#379 #559376
>>559363
Ну то, что они наследуются — это норм, мне просто лень было так делать.

У меня претензии к следующему:
1. У тебя классовые атрибуты "сторна", "радиус" и т.д. (Которые потом, впрочем, даже и не используются)
2. Добавлять объект в какой-то список изнутри, не очень хорошая идея, вдвойне она плохая, когда ты используешь какой-то список, являющийся классовой переменной суперкласса. Тут всё запутано и как-то плохо.
3. У тебя нет "объекта" как такового. Например, метод "area" в квадрате каждые раз будет возвращать новое значение. Попробуй сделать
s = Square()
s.area()
s.area()
s.area()

И если бы ты поменял местами площадь и сторону в выводе текста, сразу бы заметил, что они не совпадают.
И это самая главная проблема. В твоём списке — текст. Всё, методы повызывал, строки в список подобавлял и все объекты проёбаны, ты ничего из этого "нарисовать" уже не сможешь. То есть смысла вообще создавать какие-то классы не было, достаточно было тремя функциями, которые эти строки создают и получить абсолютно тот же результат, что и у тебя.

4. Тут не знаю, мнение других нужно, но мне кажется, что разделять 20-строчные связанные классы на миллион разных файлов - не очень разумно. Хотя в гайдлайнах id software, например: "Each class should be in a separate source file unless it makes sense to group several smaller classes".
sage #380 #559387
>>555653 (OP)
пердон - говно, сажи
#381 #559393
>>559387
А вот был бы это рубитред - тебя бы уже забанили.
#382 #559450
>>559393
А это хорошо или плохо?
#383 #559451
>>559226
Размер не меньше, не слушай его, шрифт моноширинный надо юзать. Одинарные лучше по другой причине, шифт не надо жать.

Алсо, все у кого отступы не 4 пробела - гандоны.
#384 #559459
>>559450
Думаю плохо. Свободное общение, все такое.
#385 #559464
>>559451
Так он про шрифт говорил? Лол, я даже не подумал.
Но зато чекнул "".__sizeof__() и ''.__sizeof__() и подумал - вот же ебанутый.

А так у меня везде моноширинные, даже в браузере.
#386 #559472
>>559376

>И если бы ты поменял местами площадь и сторону в выводе текста, сразу бы заметил, что они не совпадают.


Совпадают, няша. Я вчера с этим ебался и поэтому вынес сторону в отдельную переменную, которая принимает значение и хранит в себе, после вызова метода area(), которая в свою очередь вызывает метод side_a(). Здесь я полностью согласен, что это полнейший пиздец.

Условие было в том, чтобы решить задачу с применением принципов ООП.

Вообще, я многого из твоих слов пока не понимаю, поэтому буду разбираться что и к чему. Спасибо тебе за помощь.
#387 #559473
>>559376
Кстати, не мог бы ты написать комментарии к своему коду? Мне было бы так легче разобраться.
#388 #559518
>>559376
Посмотрел еще раз твой код. Смотри, у нас в условии не сказано, что нужно делать так, чтобы потом можно было вызывать какие-то методы. Нужно сделать генератор рандомных фигур и только, но я согласен, что твой подход лучше и логичнее и не выглядит "нубским". Спасибо еще раз за возможность взглянуть на решение с другой стороны.
#389 #559592
>>559472

>Совпадают, няша.


Вот я поменял местами - http://ideone.com/luOyZk
У тебя при каждом расчёте площади задаётся новый размер стороны, и плошадь считается от этой новой стороны.

>Условие было в том, чтобы решить задачу с применением принципов ООП.


А я как раз хотел тебе посоветовать про ООП почитать :)

>>559473
Окей, напишу к вечеру

>>559518

>Нужно сделать генератор рандомных фигур и только,


Так в том и беда - ты не фигуры генерируешь, а текст. У тебя нет никаких фигур, у тебя есть по одному инстансу каждого класса, в котором ты меняешь параметр и генерируешь новую строчку текста. Это как нарисовать мелом на доске, сфотографировать, стереть и нарисовать новое. В каждый момент времени у тебя есть только 1 рисунок мелом, остальное - на фото (а тут в тексте).
#390 #559595
>>559592

>сфотографировать


Точнее не сфотографировать даже, а написать на бумаге описание его. Т.е. для получения этого рисунка обратно на доске нужно его заново рисовать по описанию (у тебя - снова создавать инстанс класс с параметрами, выдранными из текста, и хорошо ещё, если там будет достаточно информации).
#391 #559596
>>559592

>Так в том и беда - ты не фигуры генерируешь, а текст


Так в этом и было условие - вывести массив фигур с рандомными значениями. В условии не было сказано, что мы можем вызывать методы из классов отдельно. Или я неправильно понял условие?
#392 #559598
>>559595
Кажется, я начинаю понимать, но не могу сложить у себя образ в голове. Что посоветуешь конкретно почитать, чтобы пришло понимание сего процесса?
#393 #559705
>>559213

>Чей лучше?


Мой:
print "Hello, world!"
#394 #559708
>>559705
Питон, который < 3 - не нужен.
#395 #559709
>>559708
3-шка не нужна. Всё равно perl6 вышел уже.
#396 #559748
Вот что мне делать с этой хренью?
Даже сам автор молчит на это.
https://github.com/miguelgrinberg/flasky/issues/54

AttributeError: 'NoneType' object has no attribute 'encode'

hash = self.avatar_hash or hashlib.md5(self.email.encode('utf-8')).hexdigest()
#397 #559763
>>559748
Сам копайся в этом навозе.
#398 #559794
>>559709
perl6 опоздал лет на десять. К сожалению. Или к счастью.
#399 #559833
Я тупой, заранее предупреждаю. multiprocessing я впервые увидел день назад и еще нихера не понимаю. Есть такой быдлокод:
[code lang="python3"]
with multiprocessing.Manager() as manager:
ctx = multiprocessing.get_context('spawn')
exit_event = ctx.Event()
my_shiny_dict = manager.dict() #словарик. надо мне.
some_process = ctx.Process(target=some_function, args = (my_shiny_dict, exit_event)) #некий процесс, работающий с моим словариком.
some_process.start()
try: signal.pause()
except KeyboardInterrupt:
exit_event.set() #даю ему время нормально завершиться, в some_function, естественно, signal.signal(signal.SIGINT, signal.SIG_IGN)
some_process.join()
some_other_function(my_shiny_dict) #над результатами его работы нужно выполнить некие действия
[/code]
И все бы хорошо, но как только я пытаюсь что-то сделать с my_shiny_dict в some_other_function, он мне вываливает вот это:

Process SpawnProcess-3:
Traceback (most recent call last):
File "/usr/lib/python3.4/multiprocessing/managers.py", line 724, in _callmethod
conn = self._tls.connection
AttributeError: 'ForkAwareLocal' object has no attribute 'connection'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3.4/multiprocessing/process.py", line 254, in _bootstrap
self.run()
File "/usr/lib/python3.4/multiprocessing/process.py", line 93, in run
self._target(self._args, *self._kwargs)
File "/my/folder/myfile.py", line 152, in some_other_function
print(len(my_shiny_dict))
File "<string>", line 2, in __len__
File "/usr/lib/python3.4/multiprocessing/managers.py", line 728, in _callmethod
self._connect()
File "/usr/lib/python3.4/multiprocessing/managers.py", line 715, in _connect
conn = self._Client(self._token.address, authkey=self._authkey)
File "/usr/lib/python3.4/multiprocessing/connection.py", line 495, in Client
c = SocketClient(address)
File "/usr/lib/python3.4/multiprocessing/connection.py", line 624, in SocketClient
s.connect(address)
FileNotFoundError: [Errno 2] No such file or directory

Гуголь внятных результатов не дал.
#399 #559833
Я тупой, заранее предупреждаю. multiprocessing я впервые увидел день назад и еще нихера не понимаю. Есть такой быдлокод:
[code lang="python3"]
with multiprocessing.Manager() as manager:
ctx = multiprocessing.get_context('spawn')
exit_event = ctx.Event()
my_shiny_dict = manager.dict() #словарик. надо мне.
some_process = ctx.Process(target=some_function, args = (my_shiny_dict, exit_event)) #некий процесс, работающий с моим словариком.
some_process.start()
try: signal.pause()
except KeyboardInterrupt:
exit_event.set() #даю ему время нормально завершиться, в some_function, естественно, signal.signal(signal.SIGINT, signal.SIG_IGN)
some_process.join()
some_other_function(my_shiny_dict) #над результатами его работы нужно выполнить некие действия
[/code]
И все бы хорошо, но как только я пытаюсь что-то сделать с my_shiny_dict в some_other_function, он мне вываливает вот это:

Process SpawnProcess-3:
Traceback (most recent call last):
File "/usr/lib/python3.4/multiprocessing/managers.py", line 724, in _callmethod
conn = self._tls.connection
AttributeError: 'ForkAwareLocal' object has no attribute 'connection'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3.4/multiprocessing/process.py", line 254, in _bootstrap
self.run()
File "/usr/lib/python3.4/multiprocessing/process.py", line 93, in run
self._target(self._args, *self._kwargs)
File "/my/folder/myfile.py", line 152, in some_other_function
print(len(my_shiny_dict))
File "<string>", line 2, in __len__
File "/usr/lib/python3.4/multiprocessing/managers.py", line 728, in _callmethod
self._connect()
File "/usr/lib/python3.4/multiprocessing/managers.py", line 715, in _connect
conn = self._Client(self._token.address, authkey=self._authkey)
File "/usr/lib/python3.4/multiprocessing/connection.py", line 495, in Client
c = SocketClient(address)
File "/usr/lib/python3.4/multiprocessing/connection.py", line 624, in SocketClient
s.connect(address)
FileNotFoundError: [Errno 2] No such file or directory

Гуголь внятных результатов не дал.
#400 #559835
>>559833
Тут тебе тоже не дадут, если не вставишь код на какой-то pastebin, для начала.
#401 #559839
>>559835
почему-то решил, что весь /pr/ использует MakabaCode, сорян
http://pastebin.com/TRZ2QGUS - код
http://pastebin.com/ESJ2KgVD - трейсбек
#402 #559844
>>559839
Прочитай ошибку ещё раз. И ещё раз.
#403 #559847
>>559844
Любите вы издеваться...
#404 #559904
>>559844
Окей, я нашел решение сам.
Проблема заключалась в том, что KeyboardInterrupt всё-таки убивал моего Manager'a. Тем не менее, трейсбек все еще не кажется мне очевидным.
Поясни за скиллы чтения трейсбека, как можно их прокачать до твоего уровня?
#405 #559917
>>559904
Никак. В питоне один из самых хуевых и неинформативных трейсбеков. Он просто дампит все к хуям, а ты там сам сортируй. Хуже только в жабе и сисярпе.
#406 #559928
Нужно сделать вывод рандомного варианта ответа из двух.

Например, я задаю вопрос: подрочить или не подрочить?

В ответ должно идти:
if randint(1, 2) == 1:
return "%всё, что идёт до слова "или""
else:
return "%всё, что идёт после слова "или""

Как вытягивать это самое "всё, что до или" или "всё, что после или" со строчки?
#407 #559930
>>558527
ты пидор
#408 #559931
>>559928
import random
random.choice(''учить питон или не учить".split("или"))
4 Кб, 544x61
#409 #559933
>>559931
Заебись. А теперь как к этому прикрутить, чтобы на выходе еще добавляло рандомную фразу из нескольких: я думаю, конечно же, по-моему. И как сделать, чтобы не печатало вопросительный знак, как во втором варианте?
#410 #559934
>>559933
А ты не очень умный.
#411 #559935
>>559933
Ты забыл спросить как убрать пробел.
#412 #559936
>>559933

>И как сделать, чтобы не печатало вопросительный знак, как во втором варианте?


.rstrip('?')
32 Кб, 1579x214
#413 #559937
>>559934
Это я уже понял.
#414 #559940
>>559937
Ну хоть что-то ты понял.
31 Кб, 816x747
#415 #559942
>>559940
Говорю спасибо каждому анону, который подсказал.
97 Кб, 1000x750
#416 #559944
>>559217
Что за чрут? Можно чуть больше комментов? Что делать на практике? Хочу чтобы юзер выбирал настройки в интерфейсе, после этого выполнялись баш скрипты. Когда файл сгенерится(10-30секунд) , он отдавался юзеру. Скрипт задействует обычные пакеты линукса.
#417 #559950
>>559942
Хуйню написал. Садись, джва. Посиди и подумай.
37 Кб, 939x736
#418 #559952
>>559950
Чому хуйню? Третий день подряд учу питон и только на такое способен. Исправь мой быдлокод.
#419 #559953
>>559942
Анон, ты, конечно, молодец. Но есть подозрение, что у тебя есть хороший шанс сделать небольшой рефакторинг. Например, убрать условный оператор if, потому как в нём нет особой необходимости. Возможно, нет необходимости вызывать функцию randint так много раз. В общем, подумай как твой код можно улучшить.
#420 #559955
>>559952
Потомушта у тебя две идентичных действия на джва разных условия. Смекаешь, ммм?
24 Кб, 887x330
#421 #559957
>>559953
Добра тебе. Так лучше?
#422 #559958
>>559957
Или нет. Всем тредом ему хелловорлд написали, а он молодец. Иди книжки читай.
264 Кб, 1280x1280
#423 #559960
>>559958
Да ладно тебе.
#424 #559963
>>559957
По мне, так лучше. Правда, я бы сначала выполнил все необходимые операции над строками, и только потом подставлял их в format, дабы было более наглядно. Но тут я тебе уже не советчик.
#425 #559964
>>559963
Спасибо еще раз за советы.
34 Кб, 720x381
#426 #559965
96 Кб, 1024x1024
#427 #559966
Анончики, такое дело, хочу учиться. Выучив базы на кодекадеми начал джангу, прошел туториал на ютубчике вот этого https://www.youtube.com/watch?v=_5iNtjA-xu8 некого shadrus. Ну как прошел, повторял почти все за ним, сделав только пару самостоятельных шагов.

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

Собственно, полный текст на пастбине http://pastebin.com/YDUHjuN9

Вот в чем вопрос: с чего мне начать? Я не знаю с какой стороны за это взяться. Начинать с регистрации? Учитывая,

>Состав профиля: login, full name, birthday, email, address, city, state, country, zip, password и confirm password (все поля обязательны).


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

Надеюсь на вашу помощь.
38 Кб, 620x372
#428 #559967
>>559966

>базы на кодекадеми


>туториал на ютубчике


>не знаю с какой стороны взяться

#429 #559970
>>559967
python на codecademy и django tutorial к которым приходим через шапку треда.
А ты что посоветуешь?
#430 #559971
>>559970
Первоисточники, конечно же.
#431 #559972
>>559971
Документация хороша и всеобъемлюща, насколько мне известно, в джанго есть стандартная регистрация, но вот подойдет ли она под такие цели я не знаю.
#432 #559974
>>559966
Вещаю с дивана. На мой взгляд, тут есть два варианта:
1. Так как в django есть в наличии своя система аутентификации, ты можешь использовать ее.
2. Ты так же можешь запилить свою систему аутентификации. А вот сделать ее отдельным приложением или middleware, тут уж решай сам.
В любом случае, в первую очередь стоит почитать про систему аутентификации django.
#433 #559975
>>559974
Так и сделаю, буду пытаться разобраться в стандартной модели.
А правильно ли в принципе разрабатывать приложение с аутентификации?
#434 #559976
>>559975
Всё твоё задание основано на данных о пользователях. Не уверен, что у тебя есть другие варианты.
#435 #559980
>>559976
Еще вопросец: какую бд юзать? Использую PostgreSQL, но она в управлении замороченная, или все базы такие? Пока до нужной колонки доберешься с заходом от другого юзера - хозяина бд, уже забудешь, какую колонку удалить хотел.
#436 #559984
>>559980
Не понимаю о чём ты. Если использовать orm, то особой разницы какая БД вроде бы и нет.
#437 #559985
>>559984
Ладно забей, сейчас несущественно.
Спасибо за советы, так или иначе, хороших выходных.
#438 #560090
можно ли в Python перегрузить метод базового класса
не переопределение
47 Кб, 498x480
#439 #560117
Что почитать по ООП в Пайтоне для полных дебилов?
#440 #560118
Анончего-петонщеги, в 3.5 появилась какая-то асинхронота - кто юзал, поясните на примере, что это и с чем это есть?
#441 #560119
>>559473>>559598
Я имел в виду к утру. конечно же.
Вот я расписал всё подробно, как мог, изменив немного код. Надеюсь, будет полезно. http://ideone.com/xffM1P
А что почитать — не знаю, к сожалению. Я нкаких книг не читал, просто читал/писал код и анализировал происходящее. Ну и в документацию заглядываЛ, разумеется.

>>560090
В питоне нет перегрузки. Но она и не нужна в 99.9% случая, так как это необхоидмость статически типизированных языков же (да и те иногда к duck typing'у стремятся, вроде obj-c) без возможности иметь варьируемое количество аргументов. Для остальных исключений можешь-таки проверить тип (например, список или просто строка) или чего там тебе надо, и уже там две ветки сделать.
#442 #560120
>>560119
Хотя вот по поводу классов и обращения с ними выступления Raymond Hettinger'а рикаминдую.
#443 #560121
>>560119

>Я имел в виду к утру. конечно же.


Вот я расписал всё подробно, как мог, изменив немного код. Надеюсь, будет полезно. http://ideone.com/xffM1P

Огромное спасибо, Анон. Очень полезно.
#444 #560122
>>560121
>>560119
Кстати, у тебя нету желания побыть ментором для двоих человек?
#446 #560161
>>560122
Не, извиняй, и так имею предельное количество учеников.
362 Кб, 900x1350
#447 #560177
Ребята, диффаю два файла:
diff = difflib.ndiff(old.readlines(),new.readlines())

на выходе получаю что-то вроде:
-asdfg
asdff
+qwert
+uiop
bnmcv

Как добавленные и удаленные строки вывести в отдельные листы, чтобы мне позже вывести их принтом по отдельности?
мимонепрограммист
#448 #560186
>>560177
А документацию кто читать будет? Анон?
#449 #560218
>>560186
Почитал, погуглил, что-то скопипастил, подкорректировал, и вроде заработало
Спасибо :*
#450 #560545
Читаю укус питхона, главу про задачи. Треться версия проги, которая делает копии файлов. В книге, после листинга проги, написано, что она не работает! ДАвайте искать ошибку! Я запускаю, а моя работает блять. Ну что я говно, даже ошибку блять сделать не могу?
Версии питончика одинаковые
#451 #560547
#452 #560551
А все. нашел почему не работает. В книге код был перенесен на новую строку, а я его не перенес.
>>560547
А ты смешливый
#453 #560552
>>560551
Твой вопрос - пиздец. Ни кода, ни ссылку на главу в книге, нихуя.
#454 #560554
>>560552
Я просто хотел поделиться идиотизмом ситуации. Ну его нахер анону еще код этого говна скидывывать
#455 #560556
>>560554

>Я просто хотел поделиться


Ну ладно.
#456 #560675
Анон, подгони ссылочку на 5-е издание "Learning Python" на роисенском.
#457 #560676
>>560675
Читай на ангельском. Технический ангельский легче, чем разговорный.
#458 #560678
>>560676
Очень сложно. В английский я могу, но это сильно затягивая прочтение и так пухленькой книжечки. Ну давай, анон. Помогай. С меня как всегда.
#459 #560680
>>560678
Скилл умения читать английские книжки в разы лучше знания питона вообще. Тем более, это не SICP.
#460 #560687
>>560676
Анон прав, читай на нагельском. Я вот тоже читаю на ангельском онли, хоть и со скрипом. Алсо, еще очень годно иметь под рукой англ толковый словарь, а не просто словарь русско английский.
#461 #560718
Аноняша, вот смотри. Я выгуглил,что у кнопок в tkinter есть аргумент image.однако при попытке указать btn = Button(root,image=img) интерпретатор орет, что TypeError, 'image' is an invalid keyword argument for this function. Чяднт? может, надо что-то где-то импортировать дополнительно?
#463 #560857
>>560855
Что не так? Это разные объекты.
#464 #560865
>>560855
id(c), id(e) в помощь
#465 #560872
>>560855
is != ==
1 Кб, 133x132
#466 #560884
>>560857
Но ведь если сложить x и y, то получиться 'ab' , так же как и t+r. Почему же тождество не правильное?
#467 #560890
>>560884
is это проверка,что ссылки на объекты одинаковые.
#468 #561099
>>560890
блин у них контент одинаковый, уборщик должен был положить их в одну и тоже ячейку помяти, и ссылки должны быть одинаковы.???

а то перловизмом попахивает.

мимокрок
#469 #561102
>>561099
или почему это только с интами работает?

Уборщик не может различать стринги?
#470 #561103
>>561102

>Уборщик не может различать стринги?


Че-то проиграл с этой хуйни.
#471 #561104
>>561102
При чём тут уборщик вообще? Попробуй с большими интами — больше работать не будет.

Почему обхекты с одинаковыми значения должны в одном месте в памяти лежать? А если я измению один из них, чего компьютеру делать? Копировать начинать?
#472 #561108
>>561104
бля, вроде так работает оптимизация у питона.

>А если я измению один из них, чего компьютеру делать? Копировать начинать?



ну вот у тебя один объект со значением 2,
ты создаешь еще один объект со значением 2,
Уборщик проходит по хешам, видит то что это значие уже лежит в памяти, и делает так что
объект ссылается на ту же область в памяти.
Ты решил изменить у второго объекта на 3.
Уборщик опять проходит по памяти, видит то что нету такой хуйни, и кладет в память значение 3, и дает объекту ссылку на него.
Потом ты у первого объекта ставишь значение 1.
Проходит уборщик, и видит что ссылок на 2 больше нету, и ебошит его из памяти... и в памяти больше нет "2".

Ну так оно должно работать если верить книгам с крысой на обложке.
#473 #561110
>>561104
ага с большими интами не работает...

и бля, что происходит в моем питоне.
#474 #561114
>>560872
Ты делаешь сравнение того, что лежит в переменных.

c is e

идет сравнение (в питоне это "==") x+y == t+r
что в итоге? Не равны. Значит False.

c is not e

идет сравнение, что x+y != t+r - True.
#475 #561134
>>561108
Так ты путаешь ссылки на один и тот же объект (x = 10; y = x; z = x) и ссылки на объекты с одинаковыми значениями. Имея, например:
class MyClass():
def __init__(self):
self.x = 10

a = MyClass()
b = MyClass()

И a, и b абсолютно идентичны, но это, тем не менее, разные объекты, и лежать они будут в разных метах в памяти. (Более того, они даже не будут равны при сравнении оператором ==, если сам не определишь функцию сравнения.)

Маленькие числа, как и отдельные символы, как, например, a = 'a'; b = 'a', действительно будут ссылаться на одну и ту же облась в памяти, так что a is b будет True.

>>561114

>c is e


>идет сравнение (в питоне это "==")


Нет. is это не то же самое, что и ==. И x+y == t+r из его примера вернёт True.
23 Кб, 677x342
#476 #561148
>>561108

>и делает так что объект ссылается на ту же область в памяти.


Вот на пике хочет делает, а не хочет - не делает. Как так? Или я не то смотрю?
36 Кб, 390x390
#477 #561167
>>561134

>Так ты путаешь ссылки на один и тот же объект (x = 10; y = x; z = x) и ссылки на объекты с одинаковыми значениями. Имея, например:



ок, это я понял.

Но в чем сакральный смысл, почему это работает для маленьких чисел(и маленьких переменных)?

>>561148
На твоем пике, для маленьких переменных почему то делает, для больших нет.

Вопрос почему это для маленьких переменых работает.
#478 #561185
>>561148
Дибил, не используй is ни для чего кроме проверки на ссылочную эквивалентность или на False, True, None. Всё остальное — внутренние оптимизации пифона и не должны тебя заботить.
>>561108
В пифоне есть нехешируемые™ объекты, например.
#479 #561187
Хочу попробовать через питон достать текст из ютуб чата на стриме и как всегда этого нет в апи. Нашел только как 1 чувак делал это через selenium. Что думаете? Может у кого был опыт.
#480 #561188
>>561187
Есть ghost.py, но не знаю получится или нет. Всё-таки вся эта связь js <-> python отдаёт сырьём.
#481 #561196
>>561185
Ты это вообще к чему?
#482 #561275
"Объявите в базовом классе абстрактный виртуальный метод, предназначенный для генерации информации об объекте класса. Переопределите и реализуйте данный метод в классах наследниках. Предусмотрите возможность вызова данного метода с разными входными аргументами."

http://ideone.com/fmgoSZ
Я правильно сделал?
Можно ли так переопределить абстрактный метод в классе-наследнике?
#483 #561277
>>561275

>loyee(Person, object):


object тут указывать не обязательно, он итак уже указан в родительском классе.
#484 #561280
А как работу-то найти в рашке, живя в мухосранске? Всем сеньоров подавай с опытом от 3х лет.
230 Кб, 1279x1691
#485 #561281
Аноны, решил вкатиться в Python 3, за плечами толком нихуя.
Начал с Лутца, осилил страниц 400, на которых он только начинает описывать как сделать Hello World, подустал от темпа.
С английским всё норм, поэтому друг посоветовал automatetheboringstuff.com для старта, прочёл её, но сейчас в каком-то ступоре - куда дальше-то? Посоветуйте мб чего, куда шагать (кроме очевидных "нахуй"), куда смотреть?

С меня как всегда.
#486 #561282
>>561280
Писать свои проекты 3 года.
#487 #561283
>>561280
Учи php вся работа там.
#488 #561284
>>561281

>прочёл её


Молодец. А применить на практике? Только читать - мало. Попробуй написать свой калькулятор или блокнот или изучай какой-то фреймворк и пили веб-проекты свои со своими идеями.
#489 #561285
Как обычно графически изображают структуру программульки? Что сейчас модно-молодёжно? Смотрю видео по UML, потому что что-то про него слышал, но может есть что ещё?
#490 #561289
>>561285
Я в блокноте коряво иображаю, лол
#491 #561291
>>561285
MindMap
#492 #561295
>>561285
microsoft visio
#493 #561299
>>561282
Но ведь кушать тоже хочется.
#494 #561304
>>561299
А на джуниора вакансий совсем нет?
#495 #561307
В наших компаниях зачастую такие требования, что лучше сразу к иностранцам ломиться с такими знаниями
ПОМОГИТЕ, ПЛЗ! #496 #561316
Такое вот задание:
" В соответствии с вариантом выделите базовый класс и постройте диаграмму классов с отношениями наследования, придумайте для каждого класса набор их свойств."

Есть четыре класса:
Персонал, кадровый служащий, инженер, административный персонал.

Базовым будет класс Персонал, остальные - наследники.
Базовом классе объявляем конструктор с следующими атрибутами:
1. ФИО
2. Возраст
3. Пол
4. Должность
5. Отдел

В классах-наследниках перезагружаем конструктор и добавляем уникальные атрибуты <-- я здесь обосрался,
не могу придумать атрибуты, помогите, плз
#497 #561318
>>561316
И, да, я знаю, что тупой.
#498 #561320
>>561316
А какой язык?
#499 #561321
>>561320
Бля. Подумал, что это помощи ньюфагу тред.
#500 #561322
>>561304
Ну так-то есть от 1-го года опыта. Но работать с одним языком и по вечерам изучать другой - не слишком эффективно, на мой взгляд. Хочется быстро и сразу как обычно.
#501 #561327
>>561320
да в общем-то не важен язык
просто я пишу на Python, потому тут и спросил
#502 #561329
>>561316

>кадровый служащий, инженер, административный персонал.



Сделай для каждой должности её обязанности, например.
#503 #561330
>>561316
Неужели так критично, что выбрать?
Пиши кадровику длину хуя, если баба, то можно отрицательную. Инженеру зп, чем ниже тем реалистичнееБ администраторам-кол-во квартир в нуорке.
#504 #561331
>>561316
Пиздец легко. А это на кого такое тестовое?
#505 #561337
>>561331
Это часть лабы по ООП

>>561329
Это можно реализовать и в базовом классе
просто лишний код придётся писать

>>561330
Нет, не критично.
ПРосто я нихуя не могу придумать
#506 #561341
не упомянут стаж, не упомянуто полученное образование, не упомянута зп, не упомянута форма одежды(дресскод), кол-во положенных отпусков, ну короч давай, сам выбирай и думай, это же самая легкая часть из всего ООП(пишу с дивана).
#507 #561342
>>561337
У инжеренов есть категории и специализация.
Например инженер-системотехник первой категории.
#508 #561345
>>561342
во, спасибо
#509 #561347
>>561341
Всё, что ты перечислил, можно отнести к всем,т.е. к базовому классу.
Мне же нужны уникальные атрибуты(даже одного будет достаточно), такие, которые не будут повторяться
#510 #561349
>>561347
бял, Администраторам может кол-во человек в управлении?
#511 #561352
>>561349
Или название отдела которым он управляет.
Логично было бы сделать связи, например у администратора список его подчиненных, а у инженера - администратор которому он подчиняется.
#512 #561354
>>561352
Вэт это годная идея, тем более отделы числятся в атрибутах общего класса
#513 #561376
>>561354
лол
#514 #561395
>>561352
административный персонал - это секретари, ассистенты и т.д.
#515 #561402
>>561316
ну же, аноны!
Осталось только кадровику атрибут придумать.
#516 #561410
>>561402
Давай рассуждать вместе. Кто такие кадровики? Это люди работающие в кадровом отделе, ведущие учет всяких трудовых книжек а еще слыхавшие про трудовой кодекс. Что такого необычного в кадровиках, чем они так притягивают взгляд, почему они сияют и так выделяются среди серой массы прохожих пасмурным днем? Ну?
#517 #561411
>>561410

>Это люди


Я бы не был столь категоричен.
12 Кб, 219x230
#518 #561414
Тут после полугода работы сайта (на джанго) внезапно выяснялось, что в гугловских емейлах точка как бы и есть, и как бы ее и нет, что позволяет на один гугловский ящик зарегать несколько аккаунтов. Чего делать то теперь, аноны? как валидировать новые и что делать со старыми аккаунтами?
#519 #561415
>>561411
Да ладно тебе. А кадровики какие имеются ввиду? Я вот немного путаюсь. Я ходил полнедели на курсы кадровиков, и там было делопроизводство, давали всякие ебливые тестики, а еще ТК и опять делопроизводсто, и учили что всегда в суд бежать если с работодателем терки какие. Ну это в моем понимании и есть кадровики, сидят, строчат в трудовых стаж. А есть HRы. Они к относятся к кадровиками?
#520 #561418
>>561410
Может, потому что людей нанимают, собеседования проводятгнобят и унижают? Или что?
#521 #561419
>>561414

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


Ну и что?
#522 #561426
>>561419
Плохо это. Клиент ругается, ночами заснуть не может. А только заснет, так ему сразу снятся сотнитыщ аккаунтов на одном ящике и съехавшая на 1 пиксель кнопка.
#523 #561427
>>561414

>в гугловских емейлах точка как бы и есть, и как бы ее и нет


А ты не мог бы подробней объяснить что это значит?
#524 #561428
>>561426
Погодь, это значит что? Это я могу свой к чужому ящику прилепить? Это такой ипсклойт местный чтоле?
#525 #561430
>>561427
a.non@gmail.com == an.on@gmail.com == ano.n@gmail.com == anon@gmail.com
Тобишь это не 4 разных ящика, а один. И письма отправленные на эти адреса будут приходить 1 пользователю.
#526 #561434
>>561427
Gmail doesn't recognize dots as characters within usernames, you can add or remove the dots from a Gmail address without changing the actual destination address; they'll all go to your inbox, and only yours. In short:

homerjsimpson@gmail.com = hom.er.j.sim.ps.on@gmail.com
homerjsimpson@gmail.com = HOMERJSIMPSON@gmail.com
homerjsimpson@gmail.com = Homer.J.Simpson@gmail.com
All these addresses belong to the same person. You can see this if you try to sign in with your username, but adding or removing a dot from it. You'll still go to your account.

If you get mail that seems to be intended for someone else, it's likely that the sender entered the wrong address, just like if you've ever dialed a wrong phone number for someone. In these cases, we suggest contacting the original sender or website when possible to alert them to the mistake.

One last thing: Google Apps does recognize dots. If you'd like to have a dot in your username, please ask your domain administrator to add your preferred username as a nickname.

https://support.google.com/mail/answer/10313?hl=en
#527 #561435
>>561430
Ну так удаляй все точки при регистрации и проверке. И всего делов.
#528 #561436
Хз, мож проверять строку на точки, и если более одной законной загружать юзеру вишмастер
#529 #561450
>>561414

> и что делать со старыми аккаунтами


Ну сделай выборку всех аккаунтов в manage.py shell
from django.contrib.auth.models import User
from collections import defaultdict
l = defaultdict(list)
for email in User.objects.all().values_list('email', flat=True): l[email.replace('.','')].append(email)
теперь если [e for e in l if len(l[e])>1] найдутся, то решай что делать. удалять таких юзеров например
#530 #561477
>>561410
Ну, и что ты хотел сказать-то?
Говори уже
#531 #561478
>>561477
Я хтел твою фантазию потеребить. Но вынужден констатировать полный провал
#532 #561482
>>561478
Блять, теребончик, я же сразу написал, что тупой
#533 #561497
>>561482
Блять, я теперь вместо того, чтобы искать ошибку в своем говнокоде, не могу перестать думать про твоего ебучего кадровика. В итоге, не выходит ни то, ни второе.
#534 #561589
Вы утонули.
#535 #561608
>>561589
та норм еще, поживем)
#536 #561641
>>561589
dive into python же
#537 #561646
Анон, а в tkinter можно как-то убрать рамки кнопок? Даже при указании своего изображения на кнопку, у нее остаются ебучие стоковые рамки, ептублять.
#538 #561655
>>561646
Сам копайся в этом навозе. Б-г дал им нормальные™ gui фреймворки, нет, хочу жрать легаси-говно.
94 Кб, 1061x812
#539 #561679
If the item is in stock and after you add the price to the total, subtract one from the item's stock count.

Не могу вот это сделать, не понимаю, как. Помогите, пожалуйста. Что ни вводил - неверный результат.
#540 #561685
>>561679
for key in food:
..if stock[key] > 0:
....stock[key] -= 1
....total += prices[key]
#541 #561694
>>561685
Спасибо большое. Я глупый какой-то.
#542 #561714
>>561713 (OP) - перекат
>>561713 (OP) - перекат
>>561713 (OP) - перекат
>>561713 (OP) - перекат
Тред утонул или удален.
Это копия, сохраненная 6 ноября 2015 года.

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

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