Вы видите копию треда, сохраненную 10 мая 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Для третьепистона utf8 указывать не нужно, она там по дефолту.
Путь к интепретатору только в начале скрипта, кодировка может быть на первой или второй строчке, дальше всё остальное.
Кумкуренты
Я в сгущенке храню
https://2ch.hk/pr/res/703923.html#708451 (М)
Раскрой пожалуйста эту тему. Сам админ, учу питон сейчас.
Такой-то человеческий язык, такая простота и мощь, ну правда, смотрю на эту красоту и жалею что раньше не обмазался
Поэтому интересна практика применения Питона именно с т.з. и опыта админа.
Как именно, кроме переписывания баш-скриптов на питон, ты используешь сабж в работе?
Интересует специфика твоей работы, что у вас там, команда девелоперов, CI во все поля и ты типа Девопса или что-то другое?
Таки сделал(методом перебора). Вот бы еще сократить этот убогий пиздец.
st = [...]
%read data%
for i in st:
__s = input(...)
__data = re.compile(r's%' % i, re.I).sub(s, data)
%write data%
как-то так
Попробую.
Сосать умеешь?
Гугл говорит, что все модные ребята делают так:
rdict = {'adj': s[0], 'noun': s[1], 'verb': s[2]}
r = re.compile('|'.join(rdict.keys()))
data = r.sub(lambda m: rdict[m.group(0)], data)
Да проще тебе ебало набить.
Я извиняюсь за нубский вопрос, а как распечатать кириллические символы в Windows-консоль?
В программе работа выполняется с utf-8
Модные ребята не используют константные индексы, например. И вообще не используют регулярные выражения.
>не используют константные индексы
Ой да иди ты нахуй, пиши свои хелловорлды и не выебывайся.
Продемонстрируй, пожалуйста. Любопытно было бы хотя бы посмотреть твой вариант.
> rdict = {'adj': s[0], 'noun': s[1], 'verb': s[2]}
yoba = dict(zip(("adj", "noun", "verb"), s))
Раз ольтфак, тогда ебало своё закрой чтобы тебя не видно было.
Нашел костыль:
myencoding = sys.stdout.encoding
line2output=original_line.decode('utf-8').encode(currEncoding)
print line2output
Если я правильно понял, этот код позволяет произвести все замены за один проход по заданному тексту. Будьте любезны, продемонстрируйте как это сделать без регулярных выражений. Буду очень вам благодарен.
ПИТОН ЛЕГКОЧИТАЕМЫЙ ЯЗЫК!
@
В НЁМ ЧИСТЫЙ И ПОНЯТНЫЙ СИНТАКСИС!
@
ОН СОВСЕМ НЕ ПОХОЖ НА ПЕРЛ!
@
>rdict = {'adj': s[0], 'noun': s[1], 'verb': s[2]}
>r = re.compile('|'.join(rdict.keys()))
>data = r.sub(lambda m: rdict[m.group(0)], data)
Вообще лучше ре по производительности не найдёшь. Это такой ход конём от бессилия и лени. Он оправдан в данной ситуации, но в целом это как ни крути плохое решение. Как сказал какой-то дибил: "нау ю хав ту проблемс".
>Это такой ход конём от бессилия и лени.
Мне приятно, что моя просьба не осталась без внимания, но всё-таки хотелось бы увидеть хорошее решение, так сказать, ход конём от силы и трудолюбия. Пока что я вижу лишь голословные нападки и казуистику.
f = open('dict.txt')
s = []
for i in range(1 000 000):
s.append(f.readline())
и он дико тормозит, по две минуты хуйней мается. Внутри файла строки длиной не больше 50 символов.
Я не не профессиональный душитель одноглазных змей, мне только для одной утилиты, тащемто, что я делаю не так? На жабе аналогичный код хотя бы не тормозит ололо, ну ладно, не так тормозит, но жрет на 5кк записях дохуя оперативы и выглядит как термоядерный пиздец, питон хотя бы лаконичный.
functools.reduce(lambda s, k: s.replace(k, yoba[k]), yoba, string)
Сам нашел self.window.get_property("visible")
Да, выглядит намного лучше.
Одна беда, вот у меня 2 'NOUN' и в предложенном тобой коде они оба заменяются последним проходом 'NOUN' . В своем примере я это решил с помощью параметром count = 1 в sub(). Тут такое не канает, приходится лепить второе cущ. уже другой переменной - 'NOUn'
>что я делаю не так?
не используешь генераторы, тебе же не нужно эти миллион строк как-то коррелировать между собой?
У тебя ещё отпадает необходимость в списке s, можно сразу заполнять словарь, например, вот таким сомнительным способом:
rdict = {k:input('Enter the {}:\n'.format(k)) for k in st}
И есть ли смысл тратить время на Codeacademy, или это бесполезный развод для лохов?
шапка там ^
> Вообще лучше ре по производительности не найдёшь.
Что ты несешь? Ты пробовал хотя бы две аналогичные программы запустить, которые просто ищут что-то в текстовом файле, одну на регекспах, а вторую на стоковых функциях и посмотреть сколько они выполняться будут? Регекспы медленнее.
Если ты совсем новичок, то скачай небольшую "Python for informatics"бесплатна на сайте самого автора там все сжато, пусть и по верхах не пытаются научить всему вся, скорее дать базу но позволяет быстро понять основы, и через 2-3 недели написать своё сетевое приложение.
Потом можешь обмазываться книгами посложнее.
На курсере есть курс от автора этой книги.
Стаж: 4 месяца питона и программирования в целом (до этого делфи/пхп4-копипаст-слесарем 10 лет назад иногда выступал)
Прошёл:
1. Кодекадеми
2. Байт
3. Дайв
4. Доусон
5. Лутц - изучаем / программируем
6. Синк пайтон
7. Кор питон прогамминг (1/3)
8. Хелло Пайтон (1/2)
9. Питон фор информатикс (спасибо что напомнили)
10. Джанго официальный туториал
11. Фласк официальный туториал
12. Джанго ДЕВОЧКИ
13. Лёрн Пайтон Зэ хард вей
14. Автомейт зэ боринг стаф
15. Хед Фёрст Пайтон
16. Пайтон на практике (Саммерфилд)
17. Пайтон самое необходимое (Прохорёнок - говно пиздец)
Из моих залежей, оно же туду осталось:
1. 2 скупс оф джанго
2. Флуент Пайтон
3. Грей Хет Пайтон (читать начинал, чего-то заебло, не помню чего)
4. Программируем коллективный разум
5. Пайтон Кукбук
6. Пайтон анд дата анализ
7. Зэ пайтон Стандарт Лайбрари Бай экзампл
8. Проблем солвин вис алгоритмс анд дата стракшерс
9. Тест Драйвен Девелопмент вис Пайтон
Прошу прощения что поленился и исковеркал всё транскрипцией.
Как видите, парни, в загашнике осталось самое интересное, хотя все эти книги я уже пытался читать и дроупнул на начале ввиду сложности. Обратно к ним ворваться меня не тянет вообще, жуткая апатия. То ли ввиду моего недостаточного уровня, то ли просто перегорел.
Кодить-то я уже кодю и почти всё что хотел закодил. Но развитие встало. А на работу пайтон пусть даже джуном меня ещё не возьмут.
Что делать? Мож чего на мой уровень "выше новичка, ниже середнячка" порекомендуете? Или закодить чего? (картинодоску пока кодить не хочу вообще, как и веб. Не врубаюсь я в джанго хоть убей.)
Стаж: 4 месяца питона и программирования в целом (до этого делфи/пхп4-копипаст-слесарем 10 лет назад иногда выступал)
Прошёл:
1. Кодекадеми
2. Байт
3. Дайв
4. Доусон
5. Лутц - изучаем / программируем
6. Синк пайтон
7. Кор питон прогамминг (1/3)
8. Хелло Пайтон (1/2)
9. Питон фор информатикс (спасибо что напомнили)
10. Джанго официальный туториал
11. Фласк официальный туториал
12. Джанго ДЕВОЧКИ
13. Лёрн Пайтон Зэ хард вей
14. Автомейт зэ боринг стаф
15. Хед Фёрст Пайтон
16. Пайтон на практике (Саммерфилд)
17. Пайтон самое необходимое (Прохорёнок - говно пиздец)
Из моих залежей, оно же туду осталось:
1. 2 скупс оф джанго
2. Флуент Пайтон
3. Грей Хет Пайтон (читать начинал, чего-то заебло, не помню чего)
4. Программируем коллективный разум
5. Пайтон Кукбук
6. Пайтон анд дата анализ
7. Зэ пайтон Стандарт Лайбрари Бай экзампл
8. Проблем солвин вис алгоритмс анд дата стракшерс
9. Тест Драйвен Девелопмент вис Пайтон
Прошу прощения что поленился и исковеркал всё транскрипцией.
Как видите, парни, в загашнике осталось самое интересное, хотя все эти книги я уже пытался читать и дроупнул на начале ввиду сложности. Обратно к ним ворваться меня не тянет вообще, жуткая апатия. То ли ввиду моего недостаточного уровня, то ли просто перегорел.
Кодить-то я уже кодю и почти всё что хотел закодил. Но развитие встало. А на работу пайтон пусть даже джуном меня ещё не возьмут.
Что делать? Мож чего на мой уровень "выше новичка, ниже середнячка" порекомендуете? Или закодить чего? (картинодоску пока кодить не хочу вообще, как и веб. Не врубаюсь я в джанго хоть убей.)
> Прошёл: 1..17
Пиздец, там же половина переливание из пустого в порожнее которое можно заменить https://learnxinyminutes.com/docs/python/.
Да мне задания ради все это скорее. Разумеется раз о работе со строками прочитал и туда-сюда понял, ну два раза. То что я их все пролистал - да, но что бы зубрил - нет конечно. Только задания искал и че пишут просматривал
>>709888
Ну да, каждый день или по заданиям, или свои скрипты. Свои - в основном всякие парсеры и апи-поебеньки.
Заменить можно конечно и лёрниксом, только я совсем уже старый а по-человечечки кодить не умел ни разу. Я даже не понимал нахуя классы нужны вообще. Того так много раз из разных источников и читал, из десятка трактовок одна будет прямо в яблочко для тебя, еще 3 ее дополнят а остальные конечно тупое неудачное повторение.
Годно, этакая памятка по всему.
Тут многократная замена. Строковые хуйни будут делать копию после каждой замены. Ради интереса зделал тест http://pastebin.com/k97wPrB3
У меня на компе в три раза дольше выполняется код с replace.
Это приложение используется в трех проектах.
В двух из них нужно расширить его функционал (добавить кастомной логики).
Как блять это сделать без манки-патчинга?
Я не он, но скажу, что для CI этот язык отлично подходит. Новые деплоймент скрипты пишем на нем и планируем переписать внутренние библиотеки на третьем питоне.
Вынести часть логики в пакеты, очевидно же. И модели тоже. Но так это как сухой тряпкой по стеклу водить.
Я живу в ДНР и это наверное единственный способ съебать отсюда в штаты/европку
Меньше знаешь - легче код писать.
А если на книжки подсесть можно теоретиком и остаться.
Кстати ребята, подскажите, как быстро освоить фреймворки? Фласк, Джанго. А то как-то все непонятно там объясняется. Благодарю.
По примерам могу тебе посоветовать работу с БД:
Сначала изучи SQL как стандарт, потом реализации с с привязками к питону.
SQLite > MySQL > MongoDB | PostgreSQL ...
Вчера сам почекал хэд хантер, если не на джанго/торнадо/ другой веб, то питонисты требуются для работы с биг дата.
Вот что я законспектировал из требований:
PostgreSQL, MongoDB, MySQL, NoSQL, Redis, rabbitMQ, memcached. В порядке уменьшения частотности в требованиях.
И ещё обязательно знать как писать асинхронные, многопоточные приложения. Если с асинхроном у питона все норм, то как реализовывать многопоточность я даже не представляю у него же GIL
Сам пока что читаю эту статью, https://www.opennet.ru/docs/RUS/rusql/
джангобук
Есть один мужик. Инженер. Смышлёный, но за свою жизнь программировал только на МК-61. Приходится лопатить много данных. Сейчас он это в экселе делает, но мучается, ибо костыли.
Имеет смысл ему пробовать какой-нибудь jupyter с numpy? Или маткад придётся красть? Если имеет, то какой русскоязычной литературы посоветуете?
Маккинли - Python и анализ данных
Во всяком случае её все подряд от ШАД до даже этого треда рекомендуют.
Полистай и думай сам. Как мне кажется не осилит он, просто ввиду того что для просто вката в программирование нужно смириться с хуевой горой абстракций, обычному человеку кажущихся нихуя не самыми логичными, а уже потом гонять все эти веселые нампи и сайпи
Есть два объекта с полями
time_start=...TimeField
time_end=....TimeField
Есть умный способ понять что они пересекаются во времени?
Пока я делаю так
(a.time_start>b.time_start and a.time_start<b.time_end) or (a.time_end.....)
Но чтото некрасиво
Тоже захожу в джангу с третьей попытки лол, пришлось немного пошерстить за ООП, а то туго всё шло :3
Присоединяйся, если можешь в язык:
https://www.youtube.com/playlist?list=PLei96ZX_m9sWowRU2mn0ccUNIBTTclcWO
https://www.youtube.com/playlist?list=PL6gx4Cwl9DGBlmzzFcLgDhKTTfNLfX1IK
https://www.youtube.com/playlist?list=PLCf_u6wlOgvZ6i6in3fSibdNgzNRmBNqf
там у некоторых прям всё есть для сайтопиления =3
Курс пистона на русском https://www.youtube.com/playlist?list=PLlb7e2G7aSpTTNp7HBYzCBByaE1h54ruW
Еще в гугле по "уроки django" есть курс от поехавшего деда-сео-гуру-продавана, но у него такой пиздец в структуре сайта, думаю с обучением у него такая же каша.
Добра :3
>>710692
это замечание тоже верное.
Но нужно определить любое пересечение интервалов, а значит нужно тестировать и на >a.time_end<
Думал, может для времени завезли какоенибудь волшебство
newboston какойто поехавший. Смотреть вроде и интересно, но глубина изложения никакущая. Джанго я у него не смотрел, а вот пистон посматривал.
Code For Enterpennuiruhyerj - както все быстро и поверхностно, понять(как оно устроено внутре) там нихуя не возможно
Лично для меня стартом стали polls и книжка Django by Example
Чо как дела, Змееусты?
https://gist.github.com/YokiToki/2739378f0033c9fe9bcb6b4d073c7e51
3.5
if self.window.get_property("visible"):
__self.window.hide()
else:
__self.show_main_window()
Не нужно делать повторную инициализацию копмонент окна которая происходит в show_main_window() название функции не соответсвует содержимому, достаточно просто отобразить инициализированное окно через self.window.show_all().
А реально, спс, просто до этого отдельно делал show для компонентов и не взлетало.
Официальный туториал по созданию приложения под названием polls https://docs.djangoproject.com/en/1.9/intro/
Да вы должно быть шутите!
Спасибо!
import subprocess
label = Gtk.Label("")
output, _ = subprocess.Popen(['command', 'arg0', 'arg1'...], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()
label.set_text(output)
И ещё один вопрос. Как забиндить (connect) кнопку "Enter"? Смотрел в "key-press-event", но так и не понял.
Топай на курсеру и записывайся на все курсы Доктора Чаке. Он, с одной стороны, всё разжёвывает и надо быть полным дауном, чтобы не понять и не научиться, а с другой, поясняет за продвинутые для уровня новичка вещи типа regular expressions и ООП.
В функцию которую повесишь на "key-press-event" будет передаваться событие с кодом клавиши, код проверяешь на "enter".
Нашёл.
Всё, работает.
Но... Как сделать питон красивым?
shell? iphyton?
ипайтон/юпитер ноутбук наверни
с форматированием и графиками которые можно прям мышкой разукрашивать
Вот так все выглядит.
Стандартный третий сублайм
Он вступил в ЛГБТ
Так, получается .all() возвращает не инстансы моей модели, а какой-то
<class 'sqlalchemy.util._collections.result'>
Сукин сын. Как-то в джанге все понятнее.
А, все. Это мои проблемы тут личные, посоны.
Рекомендовать 2 черпака, когда можно просто позвонить Гвидо и внести пару изменений в стандарт, убрав все что лично тебе непонятно.
Дружок, тут советуются инвалиды которые не вполне представляют что Джанго вообще такое, как его лихо использовать нам пока похуй.
Все-таки нашел.
Как это понять? Чем оно лучше Селениума?
Привет. Я вроде особо себя никак не идентифицирую. Ты меня ни с кем не спутал?
Да у меня обычный сублайм на винде 8.1. Вот какой там шрифт - хз. Скажешь как посмотреть - посмотрю.
consolas тогда
Я вот написал хуйню, вручную запихал на сервер, вручную подправил коекакие конфиги(как минимум базу данных другую же нужно использовать)
Закономерно возник вопрос что все это хуйня и должно же быть автоматизированно. Вот как это выглядит?
linux
python3-gi и gir1.2-vte-2.91, версии для последнего могут отличаться, версия для питона может быть опущена если трешка в твоем дистре - дефолт.
Терпи и доказывай равноправие и одинаковые возможности мужчин и самок.
https://ideone.com/VAr7lZ
Чертов сайт не открывается! Что за чепуха!
Если ты не можешь не мешать табы с пробелами, то лучше юзай вотрой питон, он это прощает.
Да стоит же и всегда стояло. Ну тебя, короче
Гениально!
У вас в трешке принт True возвращает? Вы там совсем ебанулись? В 2 инвалид-синтаксис
Ну да, с возвратом None из принта фейл вышел :(
Да пофигу, главное гляди как красиво получилось.
Либо моя функция не пашет, либо я опроверг ферма только что. Что же вероятнее?
Исправленная версия. В двушке понятное дело синтакс эггог, там же принт не функция
https://ideone.com/7oLxpY
зачем ты s (сумму степеней) повторно в степень возводишь, ты наркоман?
Наверное. Я не знаю.
Но там же сумма в степени же!
Тогда уж
https://ideone.com/4Sap4V
Юзать условные операторы, даже тернарник - зашквар! Только ленивые операторы!
Да вы охуели, хватит КОМПОНОВАТЬ МЕЖДУ СОБОЙ ВСЯКИЕ ШТУКИ ТАК, ЧТО КОД ОКАЗЫВАЕТСЯ КОРОЧЕ
Я вангую, что он не всерьез.
>print('sraka kota' if an + bn == cn else 'Fermat was wrong')
Бля ненавижу, когда гуманитарные пидрилы ломают святой порядок слов в устоявшихся еще со времен дидов выражениях. Сука моск не воспринимает, и все ради мнимой читабельности.
Вот так намного понятнее:
else 'Fermat was wrong' if 'sraka kota' on an + bn == cn
трамал++
Конечно!
Да, точно
stdcall
А какой попроще, для хелоувордов?
sublime, atom
нет, какой-то треш из 2000х
>sublime
о, годно, такой-то шустрый. А то тормознутый pycharm на моей древней пеке вообще не откликается.
Субляйм это просто редактор.
А пучярм это мощный инструмент разработки. Сравнивать их неправильно.
Сначала установи Package Manager, потом Anaconda. Это дополнения для сублайма.
Да я понимаю. Но хотелось бы анолог пючарм без тормознутой джавы.
Я знаю, ты много лет используешь pycharm, но ты никогда не благодарил разрабов за статический анализ кода, подсветку синтаксиса и ошибок, за
навигацию по проекту и исходному коду: отображение файловой структуры проекта, быстрый переход между файлами, классами, методами и использованиями методов,
за рефакторинг: переименование, извлечение метода, введение переменной, введение константы, подъём и спуск метода и тд
за поддержку систем контроля версий. Будем сейчас откровенны: ты никогда не задумывылся сколько у тебя есть всего
А теперь ты запускаешь сублим и говоришь:
> о, годно, такой-то шустрый. А то тормознутый pycharm на моей древней пеке вообще не откликается.
Но ты не просишь с уважением, не обновляешь железо, не накидываешь памяти до 2Г, даже не думаешь обратиться к коммьюнити за помощью в оптимизации IDE. Нет, ты запускаешь Pycharm со всеми примочками, которые используешь явно или нет и просишь шустрости простого редактора на халяву.
Ничего личного - только бизнес
Я им 500 баксов отправил за полный пак всех идешек, что у них есть.
Этот ваш пичарм такое же говно ебаное на яве, что и эклипс, и нетбинс, рот их ебал. Тормозит, блядь, всегда и везде. Нахуй надо.
Нормальную - это сервер на спарках, чтобы ява не тормозила?
дальше пиздец, тебе придется /etc/init.d скрипт залепить(если ты в православном редхэте)
блять, как мне не писать это ёба длинный файл чтобы стартануть приложение как сервис. все эти втозапуски это заебись, но как мне просто отправить на втозапуск приложение без этих сотен строчек описания?
"Гавно" у тебя в голове. Юзерские юниты делаются простым помещением юнит-файла в ~/.config/systemd/user/
>ёба длинный файл
>пятистрочний ини
>ёба длинный
Ну можешь стартовать руками, и если упадет перезапускать руками, и после ребута сервера опять стартовать руками, и вообще иди нахуй.
разговор о том ак написать скрипт для запуска, а не о том как легко его поставить в авторан.
a = [1,2,3]
b = [5,6,7]
Я хочу объединить их в 1, вставив между их содержимым дополнительный элемент и получить [1,2,3,4,5,6,7], т.е. сделать что-то типа ''.join(), но для массивов. Есть ли для этого специальная конструкция, или это делается руками?
Тебе дали как написать. Иди пиши свой еба длинный пятистрочник, может за год успеешь.
ручками
>Ты про деплой на какую среду говоришь дев или прод?
яебу штоле???
проще, как на хостинг заливать чтобы не вручную?
>check_fermat(a, b, c, n)
>check_fermat(1, 1, 2, 1)
>n
>1
Я бы тебя обхуесосил, но боюсь поля двача слишком малы чтобы содержать развернутое хуесосенье.
Ну чо ты начинаешь. В коде я опустил прверку чтоб степень была больше 2, откуда ему знать таа?
Спасибо.
Плюсиком.
Можно ли перечисленными средствами строить веб-ресурс без знания и понимания html & java?
Вордпреса мне может не хватить. Нужно раздавать файлики и сделать админку для толпы человек, которые эти файлики описывая будут вхуячивать в БД, по которой нужен поиск. Плюс внутри должна быть локальная математика, которая считается по-разному в зависимости от региона посетителя.
Ясен красен сможешь, я вот например официально отучился и работаю юристом, но мне это не мешает самому делать себе операции по шунтированию сердца.
Да он просто очередной дебил, считающий, что программисты - вообще отдельная каста и если ты с детства не писал под Спектрум, то далее Хеллоуворлда тебе не пойти.
А еще он школьник.
Получаю так:
import requests, json
url = 'https://2ch.hk/b/threads.json' (М)
i=0
r=requests.get(url)
js = json.loads(r.text)
threads = js['threads']
for thread in threads:
i=i+1
print("{}) {}".format(i, thread['subject']))
Но ведь я не бездарь, я работаю в IT, использую в своей работе Питон. А с таких шутников-даунов, сравнивающих клепание сайтика или написание скрипта, то есть, то что сейчас каждый студент делает для курсака, с операцией на сердце, мне действительно подгорает. Ведь такие как ты дебилы, порою действительно верять в то, что пишут.
У тебя ведь не про написание драйвера этот архитектор спросил.
ну если у API нету вывода в сортированном виде то , тебе threads.sort(key=lambda thread: thread['subject']
ченить в этом роде
иди бля работай за еду и слушай дядю, который тебе будет объяснять, что это блять пару кнопок нажать всего, за что тут платить.
очевидно, что после того как есть threads переменная и перед циклом вывода на экран
PS. скобку закрыть не забудь
просто в ляибду добавь tuple
threads.sort(key=lambda thread: (thread['subject']. thread['view']))
ченить в этом роде
Делаю так:
threads.sort(key=lambda thread: (thread['views'], thread['score']), reverse=True)
Срабатывает только первый параметр в кортеже
ну все прально, сначало сортируется по views, потом если есть азписи с одинаковым views то их сортирует по полю score
зови архитектора, хуй че построим без него.
ты дай вывод до и какой порядок нужен после, так мы быстрей продвинимся.
похоже я все таки наркоман, надо бы поспать. Сейчас подумал и понял какой бред пытался сделать. Всем спасибо за помощь
Заказчик дал сайт для парсинга http://web2.cylex.de/.
Но провал, потому что они возвращают 502 код если делать запрос через прокси
(как не спалиться через прокси?)
либо (если без прокси) с русских, украинских айпи вообще блокируют запрос и ничего не возвращают.
Есть ли пути обхода?
Памагите, с меня нихуя!
При чем тут конкретно Python?
Палится у тебя потому что бесплатные прокси передают в хэадере что они прокси, не палятся приватные. приватные стоят от 100р/шт в месяц. Чтоб тебя не побанили тебе нужно купить штук сто, если у них какие-то охуевшие настройки сервера что он банит например через N запросов с одного ойпи. Ну посчитай что эта работа тебе будет в убыток.
Ну конечно, платные.
Ну да. Можно сделать как-то так.
kek[]=input().split()
a=kek[0]
b=kek[1]
c=kek[2]
Но это через жопу, по-моему. Так делать или есть лучший метод?
что собираешься*
на вскидку можно сделать лист ключей переменных и потом их зипнуть в словарь
dictionary = dict(zip(keys, input.split()))
Законно ли это все, и есть ли предел этому безобразию?
Кажется, это называется функции первого класса.
Тогда все законно.
ValueError
Если ты имеешь в виду, что в списке будет 4 или более элементов, то выбросить ошибку.
Количество элементов должно быть равно количеству переменных по левую сторону, или можно использовать переменную со звездочкой, будет хранить все оставшиеся элементы:
a, b, c, *rest_elements = [1,2,3,4,5,6,7,8]
Ха ха. https://github.com/aq1/WillBeams вот тут есть немного работы с двач апи. Вроде я просто заходил на двач, смотрел в консоли куки и все такое и добавлял их в request. Одна такая куки работает достаточно долго.
Где ClassView, что за каша?
Нет. Самый изучаемый язык на дваче. Предполагаю будет избыток кадров. низкоквалифицированных
Хз, для меня притон это первый яп, я не собирался на нем пахать. Просто учу по нему кодить.
Только ли на Дваче? Скорее вообще.
Не-а, cfduid тухнет мгновенно. Даже если забить на то, что expire стоит понедельник 10-ого апреля, если я попытаюсь использовать, всё равно 403 Forbidden выдаёт. Чёртов cloudflare. Как и зачем они в китае-то работают вообще, если нет возможности использовать не гугловскую капчу.
vso, nashol
Подскажите годный гайд по компьютерному зрению.
Да зачем мне эти апи, я их не смотрел, что ли? Он все банально запрашивают http(s)://2ch.hk/board/xx.json и дальше уже что-то делают с этим. У меня же не рабоатет этот первый же шаг, не могу подключиться к двощу из-за cloudflare, 403 Forbidden.
Вот смотрите, список - это массив ссылок на объекты. Можно получить значение по ссылке, если указать положение этой ссылки при обращении к списку.
А как реализованы словари? Как происходит поиск, если в словарях хаос? Мне что-то сказали про хеш-таблицы, но я ничего не понял. Может мне кто-нибудь объяснить более-менее популярным языком?
Вопервых списки и массивы это разные структуры данных, в рузультате чего поиск по массивам, при некоторых обстаятельствах, быстрее чем по спискам.
Словари при просто приближении это теже самые массивы просто ключи из текущего представления(строка, набор переменных) должны перед доступом транслироваться в номера ячеек масива. Это как раз делается за счет хэш функции. Отправив в хэш функцию наш ключ мы всегда будем знать в какой ячейке надо искать ассоциированный объект, время доступа варируется в зависимости от реализации в разных языках. Например в джаве словарь лего может выродится в список по скорости доступа.
в питоне функция hash возвращает значения которые очевидно не могут использоваться в качестве индекса массива. Я не особо шарю, но либо внутри используется какая-то совсем другая хэш функция, либо в питоне словари реализованы на деревьях
тебе рассказали на пальцах, чтобы понять суть. Конкретная реализация зависит от конкретной платформы.
потомучто под капотом там что-то типа взятия по модулю от реального значения.
hash = hashfunc(key)
index = hash % array_size
Хер знает. Сколько не игрался, ни разу cfuid не спрашивало, хотя я каждый раз все треды с доски выкачиваю. Может ты запросы слишком часто делаешь? Попробуй реквест на каждый запрос заново создавать.
Раз уж вы тут такие курыте и умеете шевелить апи, есть вопрос. Можно ли скачать трейды по названию в шапке до того как их смоет, без участия человека?
По какому названию? В какой шапке? В чём тут вообще со скачиванием проблемы могут быть?
Да.
> списки и массивы это разные структуры данных
В пифоне список и есть массив.
> время доступа варируется в зависимости от реализации в разных языках
Тут не важно конкретно время доступа. Важно, что доступ O(1).
Так ты в рашке/украшке, лол, а я в китае, потому тебе и норм.
cfduid это просто единственный куки, если сделать запрос через прокси и resp.getheaders('Set-Cookie').
>Может ты запросы слишком часто делаешь?
Мне кажется, ты невнимательно читаешь. Я и одного-то запроса не могу сделать.
Короче, всё ясно. Я просто наивно полагал, что запрашивая json абу сжалится и позволит клаудфлер обойти, но нет. Буду пилить 2чбраузер на компьютер и посылать запросы через личный сервер...
Ты понил че сказал?
Тебе про фундаменталку сеньор мля втирает, сиди и слушай.
>>Тут не важно конкретно время доступа. Важно, что доступ O(1).
ты с такой хуйней закончишь собеседование сразу же.
Запомни O(1) не гарантирован для хэштаблиц, потомучто есть такие хуйни как хэш коллизии, которые могут быть в кастомных и нативных хэш функциях, чтобы людям не портить данные в некоторых реализациях есть костыли из-за которых 0(1) только во сне досигаем.
приватная переменная, соглашение за рамками базового стандарта
Ваще правильно говорить что у хэш таблицы время доступа О(н), потому что О вроде как верхнюю оценку должно обозначать
А вот OMEGA(1) будет верно
>Ну вторая строка - очевидный контрпример к теореме ферма (ошибочный).
на калькуляторе прокатывает
все верно О(н) для случая с реализации в виде списка значений, вместо одного(корзинный метод).
Спасибо, Анон.
Т.е. грубо говоря, интерпретатор берет ключ-значение, получает от него хэш-значение. И потом уже использует это int-хэш-значение вместо любого ключа?
>Часть про пончики я понял, а остальное что?
В первом он вроде указывает на массу бозона Хиггса
а в третьем постулирует что вселенная расширяется.
бля ты б по англейски базарил, я ни бельмеса в русских терминах не понимаю
понапридумывали корзиночек блядь
если ты имел ввиду многослойные хэши то да, там всю дорогу О(1) будет, но это тоже такое особенное О(1), потому что время вычисления последовательности хэшей будет увеличенное
Это не зависит от времени вычесления хэш функции, потомучто она по прикидкам может быть любая, и берется иделаьный случай, что не мудак ее писал. А вот коллизии например вещи непредсказуемые и например схватив одну, можно случайно затереть уже имеющиеся в таблице ключ, значение. Чтобы такоую хуйню избежать, каждый ключ имеет корзину а не прямую ссылку на объект(обычный список). Так вот тогла этам доступа будет складыватся из вычисления хэша и плюс поиска значения в списке. А список как раз имеет o(n).
если у хэш таблицы поиск o(n), нахуй она вообще нужна? у деревьев же o(logn)
смотря у каких деревьев, в некоторых случаех O(n) и у деревьев тоже.
Он и не должен быть понятным. Даже даун догадается что это решение lcs.
хуй там, тета это пересечение о и омега
те у которых logn, они все сортированные и самобалансируещиеся, что приводит к затратам при добавлений значений. А хэштэйбл всегда заебись ,е сли хэшфункция нормальная.
def eratosthenes(n):
prime = [True] n
prime[0] = False
prime[1] = False
for (i, isPrime) in enumerate(prime):
if(isPrime):
yield i
for j in range(ii, n, i):
prime[j] = False
gen = eratosthenes(100000002)
Обрабатывается за одну секунду, а если его немножечко исправить, чтобы было удобней на вот такой
n=100000002
gen=[]
prime = [True] n
prime[0] = False
prime[1] = False
for (i, isPrime) in enumerate(prime):
if(isPrime):
gen.append(i)
for j in range(ii, n, i):
prime[j] = False
То он обрабатывается слишком долго, чтобы ждать точную цифру. Ведь практически одно и тоже.
П.С. Изначальный код не мой
def eratosthenes(n):
prime = [True] n
prime[0] = False
prime[1] = False
for (i, isPrime) in enumerate(prime):
if(isPrime):
yield i
for j in range(ii, n, i):
prime[j] = False
gen = eratosthenes(100000002)
Обрабатывается за одну секунду, а если его немножечко исправить, чтобы было удобней на вот такой
n=100000002
gen=[]
prime = [True] n
prime[0] = False
prime[1] = False
for (i, isPrime) in enumerate(prime):
if(isPrime):
gen.append(i)
for j in range(ii, n, i):
prime[j] = False
То он обрабатывается слишком долго, чтобы ждать точную цифру. Ведь практически одно и тоже.
П.С. Изначальный код не мой
А чё не допилили то?
Пробелы не сохранились, но вроде и так понятно
Негоже спрашивать решение прстых задачек, даже если ты не можешь их решить в течении получаса
Я когда копировал в сообщение, отступы были, а когда отправил - пропали
вообще мы тут говорим о том как это работает под капотом и чего ожидать в худшем случае, в документацию все и так заглянуть могут.
вопрос был почему, а не чего.
Ну и лист я не использую вроде, только создаю
Видимо мне стоит почитать про генераторы побольше
Чтобы создать лист тебе нужно всё сначала исполнить, а генератор откладывает это действие на потом(в твоём случае, фундаментально это корутина)
Пиздец, что же за цифра в итоге получится. Большое спасибо
Ситуация такая, что в модуле a импортирую модуль b, который импортирует из модуля a какие-то имена, которые на данный момент не определены. Это приводит к ImportError. Так вот этот еррор можно исправить переместив строчку импорта модуля b в самый конец модуля a. В таком случае все символы модуля a будут определены до импортирования модуля b.
По шкале от одного до десяти решение дебильно на?
Скорее всего до. Термин "преинсталяция" в контексте python совсем не гуглится. Что это значит?
Уровень океана - 64 блока. Полный мир - 256 или около того.
ты толстяк чтоле? Реализацию умножения, деления на питоне не знаешь? Я кстати по названию не понел, но я его использовал для своей игры когда-то, чтоб по клику опледелить на какие плитки наступать.
я полный ноль в питоне (да и в целом в этом не разбираюсь), так что извиняй, поэтому и прошу разжевать.
мне конкретно нужно нарисовать окружность, используя этот алгоритм, в качестве фона - массив из нулей.
понял, как задать уравнение, цикл, но всё равно что-то не сходиться всё время - криворукий я.
Только у тебя вместо линейной функции, будет функция окружности,
x^2+y^2 = R^2
http://pastebin.com/kC9atFrc
спасибо тебе, добрый анон
Ой, иди нахуй.
Ну так и сравнивай тогда поэлементно. Как только поменялся знак с плюса на минус - пик какой физический смысл производной-то, по-твоему?. Чтобы убрать шумы, просто порог поставь. Чтобы избавиться от псевдопиков, как на 9-ом и 12-ом всплесках, через фильтр сглаживающий какой-нибудь прогони.
А можешь вообще пройтись разок по массива, ставя флаг, когда сигнал выше порога (0.2, скажем), и записывашь максимальное значение, пока сигнал снова не опустится ниже 0.2. И так у тебя будет 13 значений.
А вообще, что-то мне это не напоминает. Уж не Exploring Neural Data с courser'ы это?
FFT
ясно
>>713924
>>713930
https://docs.python.org/3/library/stdtypes.html?highlight=int.from_bytes#int.from_bytes
> начал бы с ряда Фибоначчи - и всё могло бы сложиться по-другому.
Это чтобы пустотелую пирамиду пилить?
import sys
bts = b'abc'
int(bts.hex(), 16) == int.from_bytes(bts, sys.byteorder) # False
на моей машине фейл ;(
пирамида имеется в виду - наверху 1 блок, следующий уровень 2 блока, 3 блока и т.д.? Если да то для высоты n решение sum(range(n+1))
Первый уровень 1 блок, второй уровень 9 блоков.
Колмво блоков на уровне = (номер уровня +(номер предидущего уровня - 1))в квадрате. Колво блоков на след уровне равно колву блоков на предыдущем плюс 2 и все это в квадрате.
Да, я мастер пояснений. Можно нарисовать на бумаге, глянуть зависимости самому. Я именно с рекурсией не совладал, без нее запилили бы
И чё?
Да. Проблемы у меня с композицией, или как это еще назвать. Нужно либо больше внимания уделять плану программы, либо нарешать кучу задачек подобных, чтобы выработалась интуиция.
Например:
def lists(*a_list, b_list....z_list):
ideone чтобы показывать код
>>708703 (OP)
В следующую шапку нужно добваить явное указание на идеоне, и игнорировать любой код не в нем или не в пастбине.
Но ты прочитал 8 слов на русском прежде чем прочитал на русском и прекратил читать. Что с тобой не так?
Вот уже пять слов на русском было прочитано тобой, прежде чем ты прочитал на русском, и прекратил читать
Вебассембля уже есть, только вот она не для парсинга страничек предназначена.
В хостс пропиши
Не спеши отчаиваться, может дело не в тебе
Странная пирамида. Разве не по 1-4-9-16 должно быть? Почему у тебя только нечётные длины сторон?
>>714250
Взял бы да попробовал.
http://ideone.com/bZ0Ujc
Больше одного аргумента развёртывать звёздочкой нельзя.
>Колво блоков на след уровне равно колву блоков на предыдущем плюс 2 и все это в квадрате
Какое ТЗ было так и написал. (10+2)^2 + 10 + 1 = 131
(9 + 2)^2 + 9 + 1, да что ж со мной такое сегодня
Дальше не читал
> ИТТ
>Какое ТЗ было так и написал.
Ну, он трохи косноязычный. Очевидно же имел ввиду "количество блоков в стороне основания +2, ^6"
А еще, он предлагал сделать тебе эвристических анализ, т.е. "нарисовать на бумаге"
х = 3
Тут переменной хэ присваивается ЗНАЧЕНИЕ 3? Или облект типа инт со значением три?
http://nuitka.net/pages/overview.html
ну в данном конкретном случае, по большому счету, можно считать что x хранит не ссылку на объект, а сам объект (т.к. инты не изменяемы и в пределах 1 байта кэшируются)
После штудирования Доусона и Лутца, я понял, что останавливаюсь на чем-то и не могу дальше продолжать из-за страха непонимания. Базовые вещи некоторые ясны, а как в кучу собрать - хуй знает. Но надо двигаться дальше. Сейчас штудирую "Укус Питона".
У меня такой вопрос по глобальным переменным.
Поясните на реальных примерах, как их можно использовать и где? Я так понял, что охуенно задать один раз значение переменной и потом эту переменную использовать в нескольких функциях однвременно, как глобальную? Легко поменять в одном месте переменную, чем менять её во всех функциях. Я верно понял?
Больше книг прочитай - большую часть общей картины увидишь. В одних книгах хорошо освещены одни аспекты и плохо - другие, в некоторых и вовсе всё говно от начала до конца - но которые из них тебе зайдут, а которые нет - тут только эмпирически поймёшь, прогнозировать бесполезно.
Необходимость использовать глобальную переменную == косяк в архитектуре
А так верно понял, конечно
Глобальные функции - должны быть по возможности чисты, т.е. быть зависимы исключительно от своих аргументов, поэтому использование в них глобальных переменных - зло.
В классах глобальные переменные вообще не нужны - есть атрибуты экземпляра/класса.
Глобальные переменные можно использовать только для хранения какого-то глобального объекта - например инстанса приложения, который создается в одном модуле и используется в других.
Спасибо.
http://ideone.com/wHnZjU поясните, почему здесь именно vegetables и fruits собираются в словарь и как Питон понимает, что они относятся к keywords?
ну ок. питон все сам понимает, распознает типы.
ведь например написав a = 20.0 , мы же не пишем что эта переменная относится к типу float? так и тут, распознается.
Но чет не получается запустить первый проект.
Выдает кучу ошибок как на картинке связанный с декодом походу. Как можно поправить?
Купи макбук
по кыиву кстати летом время такое же как и по москве, это зимой разница в час
У меня как то была такая ошибка на локали (на сервере все норм). Скорее всего из-за того что имя пользователя на пека было на русском, но мне лень было разбираться и я просто пропатчил файл socket.py (найди там строчку на которой бросается исключение, и добавь в список перехватываемых ошибок нужную)
vegetables и fruits попадают в словарь kwargs, потому что являются именованными аргументами. Как ты сам видишь, в отличии от позиционных аргументов, они передаются по имени, тем самым дают понять интерпретатору кто они есть и куда их надо девать.
А арбузы уже продают?
Точно имя компа было USER-ПК. Добавил исключение - все заработало. Спасыбо брат!
>>715102
Делал не помогало.
>>715228
Старый знаю, но в книжке эта версия, хотя книга 2016 года лол
Пруфы в студию.
Как же это все выучить? Учить не надо, знай где что лежит?
http://ideone.com/6Dqmk7
Смутил символ }, разве не должны в возвращаемом слове быть тоже буковы, что я не так сделал
> Красивое лучше, чем уродливое.
> return ''.join(chr(ord(c) + (13 if c.lower() < 'n' else -13)) for c in word)
> Явное лучше, чем неявное.
> return ''.join(chr(ord(c) + (13 if c.lower() < 'n' else -13)) for c in word)
> Простое лучше, чем сложное.
> return ''.join(chr(ord(c) + (13 if c.lower() < 'n' else -13)) for c in word)
> Сложное лучше, чем запутанное.
> return ''.join(chr(ord(c) + (13 if c.lower() < 'n' else -13)) for c in word)
> Читаемость имеет значение.
> return ''.join(chr(ord(c) + (13 if c.lower() < 'n' else -13)) for c in word)
> код боженьки.
Ясно.
Я не говорил, что это классно, я просто захотел уметь также. И вообще
>код нечитаетм!
А нехер читать мой код без меня!
Либо выучишь, либо нет. 50%
>Каковы шансы школьнику 18 лвл выучить питон?
Шансов ноль. Приручать питона нужно было лет с семи не позже, позже чакры программиста полностью закрываются, если не были активированы.
UВообще круто придумали, всем ньюфагам вместо хачкеля советовать питон. До сих пор в голос.
>Старый знаю, но в книжке эта версия, хотя книга 2016 года лол
у меня у самого такая проблема, но отставание на три версии, думаю тебя когданибудь достанет. Какаянибудь хуита не заработает и пиздец.
А что за книжка такая волшебная что ради нее терпишь?
>А нехер читать мой код без меня!
я может один такой тупой, но собственные прозрения написанные в час ночи потом сам нихуя не могу разборать.
>Шансов ноль. Приручать питона нужно было лет с семи не позже, поз
Не знаю, я вроде начал приручать питона лет в 12. 7 чтото совсем рано
Питон неудачный вариант для новичка. Язык сложный, возможностей мало, работы тоже мало, а на каждую вакансию десяток макак. Сейчас каждый школьник учит питон, а потом не знает что делать с ним. Лучше попробуй Haskell. На нём и конкуренция пониже, и зарплаты больше, и сам язык понятней. В Sublime Text как раз есть режим для него. По книгам. Если есть хоть немного знаний программирования, читай это: http://www.ozon.ru/context/detail/id/30425643/ Если совсем новичок, пойдет эта книга: http://www.ozon.ru/context/detail/id/28346038/ Ну и куча онлайн-учебников. Вот, например: https://anton-k.github.io/ru-haskell-book/book/home.html Хороший учебник, всё расписано подробно. Сам по нему учился. Рекомендую.
потому что так исторически сложилось, гугл ASCII table
Учи, не ссы и не слушай этих оленей этажом ниже! Нормальные шансы и неплохой язык для новичка. Если умеешь в английский или через русские субтитры, регайся на курсере, записывайся на их питон-курсы от Доктора Чаке (Charles Severance) - и вперёд!
>Лучше попробуй Haskell
Не еби мозги школьнику, заклинаю; ему ещё учиться! Питон широко распространён в академической среде и для школоты это должно быть решающим аргументом. Все прикладные курсы - хоть в ведущих западных универах, хоть на MOOC-площадках, - заточены либо под Питон, либо под Матлаб. И вот вместо того, чтобы получить доступ к качественному образованию, он выучит твой ссаный Хаскель и будет сосать с ним кочергу.
кот нибудь может объяснить, что за хуйня? почему если я таким способом задаю список, то я отсасываю?
Собираю webview, заебался уже. Сейчас nullege перекапываю, ужос какой-то, как с этим работать вообще?
только с более гибкими настройками? функцию загрузки файла так и не смог дописать в этот спайнер
[CODE]numerator = input("Numerator = ")
denominator = input("Denominator = ")
if abs(unmerator) >= abs(denominator) :
whole = numerator // denominator
new_numerator = (numerator % denominator) * denominator
new_numerator = math.ceil(new_numerator)
print '%s + %s / %s' % (whole, new_numerator, denominator)
else : print "%s/%s" % (numerator, denominator)[/CODE]
Только без абстрактных ну там в гугле и инстаграме его юзают.
Спасибо.
(Прочитал шапку и несколько статей но пока не понял органичную область применения этого языка)
> пока не понял органичную область применения этого языка
Чем она ограничена? Твоим мирком?
> 5 конкретных задач которые вы решаете
1. Samba
2. Trac
3. Deluge
4. Mercurial
5. Gajim
И вообще, ознакомься: https://en.wikipedia.org/wiki/List_of_Python_software
Да, если выкинуть аксес.
Но как это сделать, если текст находится на следующей строке? Например:
h1;
text
text
text
;h1
Как тут поступить?
Анон, какого хрена, если я ввожу код в терминале:
word = '''BOLD
Some text
END'''
reText = re.findall(r'BOLD\n(.*?)\nEND',word), то он работает. Но если я пишу скрипт в редакторе, а потом запускаю его, то он не выводит текст?
В запуске пишу python3 helloworld.py
Не подскажите толковые туториалы по питончику?
Поясните за python-requests
Как отправить requests.post() с кириллицей? Все, что я отправляю с русскими буквами, приходит в какой-то параше а-ля %D1%82%D0%B5%D1%81%D1%82%0A
Алсо, вот пример кода:
def sendpost(data,files):
requests.post('example.com', data=data, files=files)
data = {'test':'тест с кириллицей'}
files = {'test.txt':open('./test.txt', 'rb')}
sendpost(data,files)
пишите мне в вк: disco 9000
Вы видите копию треда, сохраненную 10 мая 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.