Этого треда уже нет.
Это копия, сохраненная 31 марта 2018 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
pythonbeforeafter.jpg39 Кб, 500x326
PYTHON №4 1134827 В конец треда | Веб
F.A.Q. https://github.com/TheKnightsWhoSayNi/info/wiki/Hat

Свой код кидайте через https://ideone.com/

Книги и ссылка на PyCharm: https://yadi.sk/d/tArKKuQu3Kejuq

Предыдущий тред >>1130518 (OP)

Python питон
2 1134831
>>1134798
assert vs self.assertEqual

def test_yoba vs class YobaTestCase(unittest.TestCase): def test_yoba(self)...

@fixture
def heavy_resource():
..d = database.open()
..yield d
..d.close()
vs
def setUp(self):
..self.d = database.open()
def tearDown(self):
..self.d.close()

При чём в последнем случае тебе придётся делать наследование везде где нужна эта database, а для подтягивания фикстуры нужен только параметр в функцию добавить.

Далее всякие pytest.parametrize, которые ты будешь колхозить циклами в unittest.

Ещё pytest может запускать твои искаробочные™ unittest-тесты, тебе их даже не нужно переписывать.

Ой, в общем это примерно как спорить с 80-символов-в-строке-ретроградами. На широкоформатных мониторах в 2k18.
tk0.jpg2 Мб, 1346x1748
3 1134835
>>1134825
Тогда страдай.
4 1134854
У кого-то пердак подгорел из за того, что университет пидарнул С++ и наконец-то взял Python

https://www.reddit.com/r/Python/comments/7vllc2/university_switching_from_teaching_c_to_python/
5 1134869
>>34827 (OP)
Объясните простонародным языком про pandas

import pandas
p1=pandas.DataFrame(data=[[1,2,3],[4,5,6],[7,8,9]])

print (p1):
(id) 0 1 2
0 1 2 3
1 4 5 6
2 7 8 9

p1.loc[1,[1]] выдаёт
<class 'pandas.core.series.Series'>
который распечатывается так:
1 5
Name: 1, dtype: int64

Почему
a=p1.loc[1,[1]]
print (a[1])
выдаёт5, а a[0] - KeyError ?

Series, включая отдельные строки и столбцы, нельзя перебирать как обычные последовательсности, а можно только по известным индексам столбцов/колонок или надо делать переиндексрирование с 0 перед перебором по порядку ?

Почему iloc[1,1] даёт число, а iloc[1,[1]] - Series ?
5 1134869
>>34827 (OP)
Объясните простонародным языком про pandas

import pandas
p1=pandas.DataFrame(data=[[1,2,3],[4,5,6],[7,8,9]])

print (p1):
(id) 0 1 2
0 1 2 3
1 4 5 6
2 7 8 9

p1.loc[1,[1]] выдаёт
<class 'pandas.core.series.Series'>
который распечатывается так:
1 5
Name: 1, dtype: int64

Почему
a=p1.loc[1,[1]]
print (a[1])
выдаёт5, а a[0] - KeyError ?

Series, включая отдельные строки и столбцы, нельзя перебирать как обычные последовательсности, а можно только по известным индексам столбцов/колонок или надо делать переиндексрирование с 0 перед перебором по порядку ?

Почему iloc[1,1] даёт число, а iloc[1,[1]] - Series ?
6 1134877
Ой, я заснул.

>>1134766

> ddlc-android


Все верно, оно. Но я и не скрывался ;3

>>1134797
Попал в правильный запрос Google, выставил порт в релизы на vndb.org. остальное само.
Doki Doki Literature Club!
NatsukiTrap.png504 Кб, 960x960
7 1134889
>>34877
Ох.. Надо бы закончить катаву и попробовать этот ваш тук-тук. Хотя /vn/-элита плюётся
8 1134941
Здравствуйте, я по учебе сделал домашнее задание на языке Python c применением sklearn. И применил несколько метрик из sklearn. Но, я не знаю как правильно перевести на русский названия этих функций, чтобы записать в отчет, и чтобы было понятно что это за результат получился. Подскажите пожалуйста, как правильно это перевести на русский.

1) explained variance score - тут даже не знаю как это на русский перевести. Помогите, пожалуйста.
2) mean squared log error - я думал, что это "средняя квадратичная логарифмическая ошибка", но загуглил такое сочетание слов и оказалось, что его не существует. Ещё помогите пожалуйста с mean squared log error, как правильно понимать error как ошибку или как погрешность?
9 1134954
>>34941
лох объелся блох
10 1134959
Как проиндексировать класс?
image.png276 Кб, 1920x1080
11 1134967
Почему не работает?
image.png276 Кб, 1920x1080
13 1134978
>>34969
Вот так то есть должно быть?
14 1134993
>>34978
Начнём с того, что в питоне нет мутабельных строк. Зачем они тебе вообще понадобились?
15 1135019
>>34889
Главное — в оригинале, переводы == пиздец.
16 1135021
Какой язык учить в довесок к питону?
хочу в сетевую структуру окунуться
image.png376 Кб, 699x629
17 1135029
https://pastebin.com/RinLLBYH
Нашёл вот такой пример на stackoverflow. Почему функция create_menu_item вынесена за пределы класса? Более того, почему, если я её переношу внутрь класса, всё ломается? В частности, pycharm в функции CreatePopupMenu подчёркивает create_menu_item красным и пишет что-то про неразрешенную ссылку (unresolved reference)? Программа запускается, но при попытке вызвать всплывающее меню падает со странным exit code.
18 1135059
19 1135116
Аноны, подскажите.

https://ideone.com/6i1YJb

У меня есть csv такого формата, из которого нужно подставить значения в формулу hypot(x1-x0, y1-y0, z1-z0) и записать отдельный результат. Как это лучше всего сделать?
20 1135156
>>35029

>Почему функция create_menu_item вынесена за пределы класса?


Автор посчитал её достаточно общей и непривязанной к конкретному классу, вот и вынес.

> почему, если я её переношу внутрь класса, всё ломается?


Очевидно, потому что функция теперь стала методом класса, но ты не изменил, ни сигнатуру функции, добавив первым аргументом self, ни строки с вызовом (на self.create_menu_item)

>>35116

>Как это лучше всего сделать?


Прочитать файл и в цикле подставить значения в формулу. В чём у тебя конкретная проблема?
21 1135173
Господа, такой вопрос.

Есть класс. В нем есть длинная лапшичная функция. Внутри функции используется переменная self.Х, переменная класса т.е.. Все это чужой код из библиотеки, к которой я пишу экстеншен.

Мне надо изменить значение этой переменной X, но только для этой одной функции. Т.е. я не могу просто перезаписать ее для всего класса. Как это сделать? Наследовать весь класс, потом копипастить длиннющую функцию и там уже самому менять self.X на local_X? Ну, пока так и сделал, но смотрится странно - копировать функцию на три экрана ради такого мелкого изменения. Есть более питоничный путь?
22 1135174
>>35173

>Есть более питоничный путь?


Изначально не делать

>функцию на три экрана



А так, разве что

>temp, self.x = self.x, local_x_value


>self.method()


>serlf.x = temp


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

Вообще, если тебе нужно изменить значение атрибута лишь в каком-то одном месте, то велика вероятность, что либо ты как-то неправильно этот атрибут пытаешься использовать, либо автор либы хуёво всё сделал.
23 1135176
>>35174

>если есть контроль над точкой вызова


Через часик пичарм запущу и попробую, спасибо. Функцию эту я не особо копал, но надеюсь она не вызывает других функций этого класса, а то измененная переменная передастся дальше.

Вот еще один подводный камень полного копипаста нашел - если автор либы изменит оригинальный код, а у меня останется старый, то у экстеншена будет непредвиденная багофича.
24 1135177
Сап, собираюсь пилить парсер в связке aiohttp + lxml + Celery + Redis. Суть - раз в минуту опрашивать сайты по списку, сравнивать с инфой из базы и по необходимости её дополнить. Как лучше всего это сделать? Пока есть такая система - aiohttp делает запросы, передает в lxml, там проверяется необходимость обработки. Если она нужна - оставлять здесь же или пихать в очередь Celery?
алсо реквестирую годные гайды по асинхронке.
Не в стиле это может работать так, скопипасть меня,
а это хуйня устроена так
25 1135178
>>35177
Не проще ли взять scrapy?
26 1135179
>>35178
Не проще, есть причины.
27 1135185
>>35021

>Какой язык учить в довесок к питону?


Perl Regular Expressions Syntax. Базарю, навсегда благодарен будешь.
28 1135315
>>35156
Как правильно конвертировать во float значения csv, которые все string? Применять в map?
Снимок экрана2018-02-0913-32-58.png7 Кб, 660x117
29 1135333
Пол часа ищу где это поменять
30 1135359
>>35333
В коде.
31 1135360
Доброго времени суток, няши.
Пытаюсь тут поставить один проект джанги локально, при миграции выдают такую ошибку

RuntimeError: Model class applications.quests.models.Tasks doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

в гугле пишут, что надо добавить
'django.contrib.sites'
и ID_SITE = 1
но ничего не меняется. Плиз хелп
Screenshot from 2018-02-09 14:29:40.png14 Кб, 916x118
32 1135361
Как быть, кому звонить? Написал в саппорт, саппорт молчит уже третий час. Флагнули после того как ответил в issue левого проекта ссылкой на свой форк, потому что мейнтейнер оригинала не хочет баг исправлять (и принимать PR тоже). Вообще охуеть.
.png132 Кб, 350x348
33 1135365
>>35361
Я паникую, блядь!
34 1135367
>>35361
Показывай что написал, похуй на диванон.
35 1135382
После Укуса читать Дайв?
36 1135383
>>35382
Дайв в уксус
37 1135386
>>34993
Для задач олимпиадных.
38 1135390
>>35386
Сделай list(string_value) и ковыряй его, зачем тебе целый класс? В питонах строка итерируется по символам.
39 1135399
>>35361
Чиво блядь?!
40 1135425
>>35361
Бред какой-то, так не могут сделать.
41 1135427
>>35425

>так не могут сделать


>гитхаб


Напомнить что эти пидоры банят направо и налево, и вот совсем недавно забанили утекший от Яббла код загрузчика?
42 1135431
Аноны, под FreeCad на питоне писал скрипты кто?
1.png18 Кб, 727x383
43 1135432
С такими параметрами хоть куда нибудь возьмут?
Мб добавить что, или убрать?
image.png13 Кб, 881x147
44 1135434
>>35432
Никуда не взяли.
Screenshot from 2018-02-09 16:42:51.png52 Кб, 955x130
45 1135438
>>35361
Перемога!

Однако пока флагнутый мало того что профиль, репы, форки и гисты скрываются, так еще даже звездочки которые я наставил прячутся. Будто и не регался никогда.
46 1135440
>>35434
А на фальконе с торнадой что писал? Или так, прочитал get started и добавил в теги?
47 1135441
>>35432

>5 000 руб.


Могу тебя взять к себе, будешь моего питона осваивать.
48 1135451
>>35440
На Falcone сейчас прожект пишем(чисто API-шку для связи сайта и ядра основного), на Tornado года 1,5 назад писал небольшой чатик(вроде ещё для чего-то юзал, но не помню конкретно), для себя чисто.
Но ни разу про Falcon и Tornado не спрашивали на собесах, в основном по Flask/Django/Celery/Postgres/GIT.
49 1135473
Где можно почитать про джанговские проекты, которые не по стандарту оформлены, хз как это назвать.
Локально поставил проект, а там настройки хранятся в папке systems, приложения в папке application.
Обычные команды миграций на создают таблицы определенные в этих аппах.
Где про это прочитать можно?
2018-02-09 184828-AByteofPythonRussian-2.01.pdf - SumatraPDF.png31 Кб, 824x144
50 1135508
Подожи ебать, то есть если я меняю какую-то переменную в цикле, то она глобально не меняется? А как можно тогда синхронизировать локальные переменные с глобальными?
karkatbasebyjustsomehsbases-d58280t.png9 Кб, 650x450
51 1135511
>>35508
А, я даун. Следующая глава как раз об этом
кэшбэк.png116 Кб, 778x1122
52 1135516
Пытался найти олимпиадного-программирования-тред -- не нашёл. Поэтому сорян, но запощу сюда.

Задача пикрелейтед.

Я пытаюсь её решить исходя из того, что наибольший кэшбэк можно получить перебором всех сумм покупок к лимиту карты с наибольшим процентом кэшбека (то есть, выбирать те покупки, сумма чисел которых будет наиболее близка к лимиту карты: abs(лимит_карты-сумма_чисел) <-- чем меньше, чем лучше), затем делать так же с оставшимися суммами покупок (которые "не влезли" в лимит самой выгодной карты), но уже к карте с меньшим процентом кэшбэка, и так до конца.
И вот тут я застрял, так как я тупой и не могу осилить подобный алгоритм (если он вообще правильный).

Халп плз, дедлайн завтра, а я ленивое хуйло.
762b8b3ac71b4d3f022b94ba0d1dfc31.webm9,7 Мб, webm,
640x360, 1:49
53 1135518
>>35432
В описании напиши, что умеешь, в ссылки добавь гитхаб с очередным бложиком, поизучай бд и поставь фотку на аватар профиля, на которой тебя будут гореть глаза, желательно с какого нибудь митапа-конференции, рычи, двигай тазом сыч без профиля, который говорит за него не нужен, софт скилс очень решает в устройстве на работу
15128200017540.mp41 Мб, mp4,
480x480, 0:10
54 1135524
>>35177
А обработка жирной логикой обладает, необходимо потом обращаться к сайту после проверки страницы? Если да, то я бы ее в отдельный сервис вынес и отправлял задачи в Celery, а если там нужно только значения вытаскивать, то можно и оставить
55 1135543
>>35441
Он из белорахи походу
56 1135545
>>35473
project layout
57 1135547
>>35518
Спасибо
58 1135548
>>35516
сортируешь карточки по возможному профиту (процентпорог), для каждой карточки получается задача о рюкзаке. Вес ограничен порогом, стоимость = процентзаполненный вес. Плюс угловые случаи.
59 1135550
>>35548

сортируешь карточки по возможному профиту (процент x порог), для каждой карточки получается задача о рюкзаке. Вес ограничен порогом, стоимость = процент x заполненный вес. Плюс угловые случаи (товары не могут заполнить карточку).
60 1135570
>>35550
Задача о рюкзаке, я так полагаю, учитывает лишь значения ниже порога лимита, а мне (как я думаю) нужно самое __близкое__ число к порогу лимита, которое может быть и выше самого числа порога лимита. То есть, вот у нас порог например 100, есть две суммы покупок: 98 и 101, выбираем 101, т.к. оно более близко к 100, чем 98.
15179937972271.jpg36 Кб, 622x350
61 1135571
>>34827 (OP)
Что по PyQt? Можно ли его брать для своих проектов во время надрачивания и изучения? Или взять PySide? А может нахуй его и обратно сесть в C++ писать на чистой Qt?
62 1135591
>>35571
Кидаю змеюку в биндинги между либами на крестах с использованием Intel MKL. Развлечение такое себе, но давеча читал на хабре, как в яву пихают ассемблерные функции. Потешился знатно.
пиши сразу на си, чо ты
63 1135592
>>35571
Смотря для чего. Если будешь делать коммерческую прожку, то лучше взять python 3.5 и wxpython 4.0.1 , на виндувсе исполняемый файл где-то 10mb выйдет, если pyinstaller 'om собирать
64 1135593
>>35591
Не, писать на крестах с интеграцией пайтона ты меня не убедишь. Я лучше наоборот.
>>35592
Хорошо, попробую. В инсталер можно запихать спрайты? Или когда для проэкта напишу установщик с папкой для всех изображений и туда вместе со скачанными через сеть картинками смогу запихать?
65 1135598
>>35593
По сути у pyinstaller есть несколько опций, можно все в один файл собрать, туда запихаются сама машина python и другие библиотеки, можно сделать чтобы питоновские либы были отдельно, но так дохрена файлов получится, если нужно какие-то файлы отдельно держать например картинки, то можно по старой схеме подключить директорию в самом скрипте:

sys.path.insert(0, "C:\myProgDir")

Документация http://www.pyinstaller.org/documentation.html
66 1135603
>>35593
Недавно по wxpython свежая книжка вышла, можно отседа утянуть.

http://www.allitebooks.com/wxpython-recipes/

PySide2 кстати тоже развивается семимильными шагами, 1,5 года назад директор Qt объявил что возобнавляют разработку биндинга для питона, но там лицензия немного хуевей чем у wxpython, если делать коммерческую прожку
67 1135604
>>35598

>sys.path.insert(0, "C:\myProgDir")


То есть таким вызовом просто подключаешь директорию к исполняемому файлу ещё до компиляции в exe? Я думал без проблем можно подключать и когда запихаешь, нужно будет просто иметь при себе эти папки. А я вообще говорил про запихивание картинок в exe. Так понимаю, что с этим проблем никаких.
В документации написано, что нужно задавать новую среду. Это прям необходимо?
68 1135609
>>35604
Нет, я имел ввиду что в эту директорию ты сможешь сложить разное дерьмо типо py скриптов, картинок и других библиотек , но можно этого не делать. Я хз что там за среду нужно задавать. Я просто делаю в консоли

pyinstaller --onefile --noconsole main.py
И все дерьмо в один файл собирается, но если нужно в exe добавить различные иконки, картинки то нужно немного подшевелить и настроить пути , нужно немного погуглить будет и посмотреть примеры
69 1135611
>>35609
Ладно, не буду пока заморачиваться и напишу установщик, только больше практики.
70 1135625
>>35571
Юзаю PyQt с мануалом PySide. Брат жив.
71 1135641
Как объединить элементы списка в строку?
72 1135653
73 1135656
>>35653
Смищно, но нет. Сделал коряво через цикл, но мне кажется это пиздец:
for i in list:
____string = string + '/' + str(i)
Screenshot from 2018-02-09 23:49:29.png10 Кб, 261x148
74 1135664
>>35656
Второй вариант если в листе не только str.
75 1135687
Как написать клиент для интернетов? Везде пишут один и тот же пример, который не работает. Сайты нихуя не шлют.
Безымянный.png9 Кб, 469x321
76 1135701
>>35687
Ну не работает эта хуйня. Как эти копипастеры не понимают?
77 1135702
>>35687
Возьми request
78 1135703
>>35702
Это не имеет смысла если даже через сокеты не работает. Почему не работает?
79 1135711
>>35702
>>35703
Но должен заметить либа топ. Теперь только её пользовать буду.
80 1135714
>>35703
Меня смущает запрос. С таким запросом только нахуй ходить. Используй curl или urllib чтобы нормальные запросы были.
81 1135716
Джанганы, моя жепа на кону, подскажите как нормально замутить тестирование знаний пользователей, экзаменационные билеты типа:

Есть список скажем модельки
Экзамен

Вопрос
..К экзамену (форингкей)
..вариант1правильно (тру / фэлс)
..вариант2правильно

Ответ
..К вопросу
..вариант1тру
..вариант2тру

И чё мне перебирать цыклом все Экзамен.вопросы__сет, сопоставлять с соответствующимими Ответами, потом сравнивать Ответы с правильными вариантами Вопроса, потом считать скоре=0 если вариант

Но это ж как-то тупо
Выручайте плиз
82 1135728
Привет, анон, очередной манявкатывальщик на связи.

Задрочил фласк, дрочу джангу, встал вопрос - насколько ГЛУБОКО надо понимать фронт? Имеет ли смысл недостажеру воннаби-июню катиться в full-stack или стоит концентрироваться на родимом петончеке?
83 1135740
>>35714
А хули? В вики так написано.
84 1135748
>>35728
Sql и nosql позадрачивай пока.
85 1135847
Есть такой код:

import sqlalchemy as sql
import sqlalchemy.orm as orm

eng = sql.create_engine('mysql+mysqldb://test:test@localhost/test')
Session = orm.sessionmaker(bind=eng, autoflush=True)
session = Session()

session.close()

Как средствами SQLAlchemy лаконично (без перечисления все колонок) передать запрос SELECT * FROM test ?
86 1135859
посоветуйте пожалуйста либу в питоне для работы с книгами, интересует поиск по тексту, номера страниц (на которых, например, было найдено текст), поддержка оглавлений и всего такого.
87 1135861
>>35859
Электронные книги бывают разного формата. Выбираешь либу под нужный формат и хуячишь. Если "книги" отсканированные то OCR полно, даже апи к гугловскому есть.
88 1135862
Ребята, как вытащить отсюда test3?
https://pastebin.com/Jsrhx22g
89 1135863
>>35862
Красивым Супом.
90 1135865
>>35863
В том то и дело, что не получается им вытащить.
Все остальное - изи. А test3 не внутри тегов болтается и хуй знает как ее получить.
91 1135866
>>35865
Вытаскиваешь по классу pull-right, перебираешь вытащенный список либо сразу по индексу [1].

Сам я суп уже забыл, поэтому писать не буду, но общая идея вроде такова.
92 1135867
>>35866
Уже пробовал, вытаскивается только 2 значения.
test2 и test4
93 1135883
>>35524

Первичный запрос берёт значения - хэш и дату и сравнивает с тем, что есть в Redis, если новее - второй запрос, парсинг и запись в БД + обновление записей в Redis. Новых записей может быть несколько, соответственно, запросов тоже.
95 1135890
>>35862
xpath

a/text()[last()-1]
96 1135936
>>35861
нужного формата нет, чем больше тем лучше, так что если есть какая-то либа для чтения хотя бы основных типа .doc, pdf, ebup, то было бы очень здорово.
97 1135959
>>35936

>ebup


Это зазипованный html
98 1135976
Существует ли модуль для питона, способный выполнять groovy код?
99 1136002
>>35976
Не модуль, но посмотри в сторону Jython.
100 1136003
>>35885
Я так и не понял как SELECT * FROM Table написать в SQLAlchemy. Help.
1395928120362.jpg94 Кб, 421x834
101 1136021
Как проверить, является ли символ цифрой?
102 1136028
>>36021
isidigit
103 1136030
>>36021
По её коду дебил ты ёбаный. ord()/chr()
104 1136031
Код написанный на python 3.0 будет работать в 3.5?
105 1136035
>>36031
Нет, это де совсем другой интерпретатор конечно боядь будет обратная совместимость нет не слышал сука мразь ты тупая?
106 1136036
>>36035
А от 3.1 будет работать на 3.6?
107 1136038
>>36036
Пошёл на хуй
108 1136039
>>36038
Полируй моего питона, быдло.
109 1136040
>>36035
Спрашивал ли я,зная ответ на вопрос?Купи валерьянки что ли, сходи погуляй, выспись.
110 1136041
>>36039 ———> >>36038
111 1136043
>>36040
Дебила кусок, об этом чуть ли не на заглавной странице питона написано. Читать внимательнее надо. Весь тред засираете уроды малолетние тюсвоими тупыми вопросами.
112 1136045
3==э 0 >>36041
113 1136046
>>36043
А от 3.2 на 3.4 работать будет?
114 1136056
a2k5aC0vG0s.jpg33 Кб, 512x604
115 1136082
>>1133826
А если для третьего питона переделать, то так оно будет выглядеть?
proxy = urllib.request.ProxyHandler({'http': '127.0.0.1'})
opener = urllib.request.build_opener(proxy)
urllib.request.install_opener(opener)
urllib.request.urlopen(n)
116 1136091
Я кажется понял смысол прогромированя. Надо просто сделать архитектуру и напиздить чужих библиотек.
117 1136092
>>36091
Правильно понял.
118 1136094
>>36082

>urllib


urllib2
119 1136098
120 1136116
Чуваки, в чем может быть проблема, пытаюсь открыть .py файл в cmd строке путем написания python файлнейм.py но выдает ошибку python: can't open file 'файлнейм.py': [Errno 2] No such file or directory. Вроде при установке питуна галку на PATH поставил.
121 1136127
>>36116
Он нашел твой питон, он не может найти сам файл
122 1136131
>>36116
Проверка на петуха. Запусти cmd.exe и выполни команду echo %path% и покажи её вывод.
123 1136132
Совсем ли долбоебизм создавать класс с одним атрибутом? Просто у меня есть очень похожие классы и у них больше атрибутов. Значения будут писаться в файл через генераторы списков.
124 1136133
>>36116
Ты в какой директории находишься консолью? Нужно консолью перейти в директорию со скриптом.
125 1136134
>>36116
ПРОСТО поставь линукс или перекатись на макось.
126 1136135
>>36134
Может еще и на javascript перейти?
127 1136137
>>36135
Может. А может и нет.
128 1136142
>>36131

>echo %path%


C:\Prog\Python\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Prog\Skype\Phone\;C:\Desktop\;C:\prog\python\;C:\Users\Random_Name\AppData\Local\Microsoft\WindowsApps;

>>36133
Я хз, только вкатываюсь, по Луцу я могу из cmd написать python и имя файла и тогда он откроет питон и импортирует файл, а у меня выдает ошибку. Хотя если в cmd написать путь к файлу он откроет питон и откроет файл, но это очен геморно писать путь файла всегда, вся проблема похое в path, сорян ребят за тупость
129 1136143
>>36142

>Виндоус


Страдай
130 1136145
>>36142
а перейти в папку со скриптом и запускать уже оттуда что не позволяет?
131 1136155
>>36145
проблема в том, что приходится вместо названия файла писать путь к нему
132 1136179
Найти наиболее близкую сумму чисел к заданному числу.

Например, дано:

[CODE]7 2 19 3 22[/CODE]
[CODE]28[/CODE]

[CODE]Наиболее близкая сумма к 28: 2 + 3 + 22 = 27[/CODE]

Хотелось бы именно код, так как сроки поджимают.
133 1136190
>>34827 (OP)
Питонач, я совсем дупля не отбиваю под вечер.
Смотри есть функция, которая получает массив с вложенными в него массивами и возвращает массив без вложенности (пик1)
# in -> [[1,2,3], [1,2,3,4], ...]
return list(chain(*results))
# out -> [1, 2, 3, 1, 2, 3, 4]
Вопрос в том, как мне сделать добавление этого результата в еще один массив ?
Если сделать как на пике 2
на выходе будет [[1,2,3,1,2,3,4]] а мне надо плоский массив
15182721801780.jpg28 Кб, 400x400
134 1136191
Еба-а-а...
Аноны, как и чем запихнуть ассинхронно три вечных цикла, получающие значения друг из друга?
Типо бля, это вообще возможно?
136 1136200
>>36191
Алсо я посмотрел на asyncio и чёт сомнение меня охватило. Функции прерываются, а значения из них не вытянуть. Только, блять, передавать в другой процесс чтоли, а в этом ставить await'ы сверху бесконечных циклов и надеяться, что дух рандома уровняет всё и запилит мне нормальные ассинхронные задачи?
Снимок экрана2018-02-1021-42-36.png16 Кб, 476x219
137 1136201
>>36195
Так я в общем то и сделал
138 1136204
Почаны, такой вопрос. В джанге делаю manage.py shell, иногда он открывается моментально, иногда думает секунд 5-10. Хуле так?
139 1136206
>>36201
Extend
140 1136208
>>36191
Каждый в своем процессе через мульти процессинг, не ?
141 1136209
>>36190
for i in первый-массив:
второй-массив.append(i)

Лол. Можно ещё через генератор.
142 1136210
>>36208
Бля, спс. Я чёт затупил, забыл про threading и подобное.
143 1136213
>>36210
>>36208
Бля не. Как значения то вытаскивать?
144 1136215
>>36213
Обменивался через очередь
Снимок экрана2018-02-1021-52-01.png11 Кб, 469x77
145 1136218
>>36206
Двойной чаек тебе. Самый красиво выглядящий варик предложил.
я знал про extend, но у меня array-like объект, я думал в нем только необходимый минимум аля append/pop
146 1136219
>>36179
почаны, помогите плз, а то я совсем не могу в это, код попозже проанализирую

пытался через что-то через жадный алгоритм делать, но не выходит
147 1136220
>>36218
Ну в смысле у меня Manager().list()
148 1136226
>>36215
Как, если они рандомно в очередь встают?
149 1136231
>>36142

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


У тебя на клаве нету стрелки вверх?
150 1136233
>>36226
Ну можно проверять очередь.
я на питухе не писал, в скалке это легко какой сделать
images.duckduckgo.com.png43 Кб, 404x479
151 1136234
>>36142
Нужно добавить еще одну переменную PYTHONPATH в значении - директория с твоим скриптом. Тогда, возможно, заработает как по Лутцу. Но это блядская кустарщина. Обычно каждый скрипт в отдельной папке лежит. Заебешься добавлять.
https://duckduckgo.com/?q=pythonpath+windows&ia=qa&iax=qa
152 1136235
>>36233
Безумие какое-то. Почему, блять, нельзя задать публичную переменную и вызывать её из функции?!
153 1136236
>>36235
А что ты вообще делаешь ? Может у тебя xyz проблема
154 1136241
>>36236
Я пока ничего не делаю. У меня есть три теоретических цикла:
1. Принимает строковое значение даёт на выход 2 списка.
2. Принимает списки. Записывает некоторые обработанные данные в файлы, даёт списки на третий цикл, затем передаёт строковое значение в 1 цикл.
3. Принимает списки и остальные данные о работе процесса.
155 1136243
>>36235
публичную переменную и юзать ее в разных процессах?
у параллелизма дохуя проблем и это одна их них, хочешь сказать что в скале так можно?

>>36241
ну гугли пайпы же
https://docs.python.org/3/library/multiprocessing.html#multiprocessing.Pipe
156 1136247
>>36243
Смотря как ты ее хочешь там использовать.
157 1136253
>>36234
спасибо, анон, все заработало
Безымянный.png13 Кб, 512x460
158 1136267
>>36243
Ну и этот гомункул нихуя не делает в итоге.
159 1136273
>>36267
це дичь какая то, обожди, я закончу свою хуйню
Снимок экрана2018-02-1023-14-27.png88 Кб, 1440x900
160 1136274
>>36267
на, я думал ты распараллелить хочешь
1285961942495.jpg22 Кб, 455x252
161 1136276
Анон, выручай.
Попробовал скормить своему недопарсеру текстовый файл со ссылками на архивные треды, так он в папку скачивает только картиночки из первого треда в списке. Больше в папке ничего не появляется, хотя процесс так и идёт(!). Приходится останавливать вручную. Что не так?
https://ideone.com/OeOZJW
162 1136278
Этче, code работает?
[code] test()0[/code]
``` test()0```
163 1136279
>>36278
Уря!
164 1136281
Помогите осознать разницу между @staticmethod и @classmethod. Правильно ли я понимаю, что единственное, что их отличает, это то, что второй неявно передает в качестве аргумента класс? Если так - зачем это делается? Ведь можно получить доступ к полям класса и с использованием @staticmethod.
1287226994651.jpg2,4 Мб, 1996x2910
165 1136285
>>36276
Кажется с каждым новым открытым тредом он перезаписывает уже скачанные картинки и прочие файлы.
Анон, моя догадка верна? И как исправить?
изображение.png1 Кб, 642x37
166 1136288
Пытаюсь отправить из shell Джанго через консоль сообщение, на мыло. т.е реализую оповещение о новом посте в блоге. Выдаёт encode(скрин прилагается)
В коде ни строчки на кириллице
13186073382002.jpg13 Кб, 400x266
167 1136289
169 1136293
>>36291
inb4:ссылка на второй питон
Это я случайно, какая первая выдалась, ту и скопировал.
indianman.png16 Кб, 481x544
170 1136300
>>36274
Всё равно нихуя не работает.
Снимок экрана2018-02-1023-37-20.png1 Кб, 166x41
171 1136302
>>36274
Это бля что? в квадратных скобках, значит, что аргумент опциональный
172 1136303
>>36302

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


в документации в смысле
173 1136304
>>36302
Так в документации было.
174 1136305
>>36285

>И как исправить?


Изменить схему именования файлов? У тебя каждый вызов take_image называет файлы от 1.png до m.png, независимо ни от чего.

>Ведь можно получить доступ к полям класса и с использованием @staticmethod.


Нельзя. Ну, разумеется, через название класса можно, но так откуда угодно можно. Суть classmethod'а в том, что внутри вызова ты знаешь, что это за класс.
175 1136306
>>36304
Лол.
Снимок экрана2018-02-1023-41-41.png4 Кб, 290x45
176 1136308
>>36304
так помечаются необязательные аргументы
177 1136311
>>36308
Ну. Я и пометил.
178 1136313
>>36311
Ты бля о чём, шутник ёпт. Я не настолюко умный чтоб до такого догадаться.
Дайте мне просто библиотеку, стандартная питоновская для меня слишком сложная.
179 1136315
>>36311
его не надо в коде помечать, ты либо его передаешь как на первом пике либо нет как на втором
еще он по дефолту True
180 1136318
>>36315

>его не надо в коде помечать


Я думаю документация лучше тебя знает, надо или нет. Давай ты не будешь тут сбивать всех с понтолыги, да?
181 1136320
>>36318
мне показалось или ты бравируешь умением читать документацию к пистону?
182 1136322
>>36320
Если в документации написано mp.Pipe([True])
значит так и надо писать, что тут непонятного может быть
indianman.png17 Кб, 483x556
183 1136329
Корочебля. Засунул в треадинг. Выдаёт ошибку. Но хотя бы работает с исключениями, я не ебу. Пишет, что переменная messege не объявлена, хотя она же там объявлена.
184 1136330
>>36329
Хотя не, нихуя не работает по сути, но хоть запускается, лал.
185 1136332
>>36329
тебе похуй на основе asyncio или multiprocessing/multitreading делать?
186 1136333
>>36332
Мне вообще похуй что делать, я пытаюсь понять как, блять это работает и как его написать ёпт.
187 1136335
>>36333
ща я досмотрю видосик ~6мин еще и сделаю сэмпл
188 1136344
>>36329
у тебя путаются две переменные:
messege и message
189 1136352
>>36344
Бля, спсибо тебе. Буду дрочить теперь мультипроцессинг пока не пойму какого хуя он копирует программу.
190 1136357
>>36333
https://pastebin.com/jMyCyqFD
на, ток я с названиями переменных не стал заморачиваться, сам как нить
191 1136441
>>36329

> def ggg



Оу, у нас тут ценитель german goo girls
192 1136449
>>36179

>[CODE]Наиболее близкая сумма к 28: 2 + 3 + 22 = 27[/CODE]



Ты не дал определения близости.

22+7 = 29, ближе к 28 чем 27 арифметически.

Если ты имеешь в виду не более заданной суммы, то это рюкзак в чистом виде.
193 1136457
Так, подскажите туплю уже второй день.
Простой вариант
Есть 3 списка, 2 с интеджерами, один со строками
Первый список и список со строками одинаковы по длине и соответствуют интеджер - текст
во третьем списке лежат интежеры в плоскости между интеджерамит из первого, т.е.
Первый - [10,20,30,40]
Второй - ['text1', text'2, text3', text4', ]
Третий - [25, 35]
Задача достать текст из второго списка соответствующий третьему в меньшую сторону. Соответственно 25 бы здесь получил text2, а 35 text3.
Пробовал через bisect, но он, что логично, возвращает индекс большего вне зависимости от left right

Хард мод.
Третий список остается как есть, а первый и второй это один и тот же генератор такого вида:
for (level,text,int,a,se) in genobject
194 1136466
>>36457

>робовал через bisect, но он, что логично, возвращает индекс большего



как насчет единичку вычесть?
195 1136467
Плиз, не гоните ссаными тряпками. Не могу понять, что нужно делать, когда n>1440(это число минут в сутках)
Дано число n. С начала суток прошло n минут. Определите, сколько часов и минут будут показывать электронные часы в этот момент. Программа должна вывести два числа: количество часов (от 0 до 23) и количество минут (от 0 до 59). Учтите, что число n может быть больше, чем количество минут в сутках.
196 1136468
>>36466
Мда, что-то я что вчера вечером тупил, что сегодня утром тупил, спасибо, надо будет посмотреть, правда, не появятся ли у меня где ексепшены после этого.
197 1136473
>>36467
Изи же
print(timedelta(minutes=int(input())))
198 1136474
>>36473

>))))


Это лисп?
199 1136475
>>36473
Я еще плохо в языке разбираюсь, надо как-то через // и % это оформить
201 1136607
Аноны, привет
Платиновый вопрос. 25 лвл, работаю аналитиком, хочу вкатиться в питон. Если учить вечерами и прибегать к помощи ментора, то смогу ли я через год-полтора вкатиться? Сейчас получаю 100 и понимаю, что пиздец просяду.
Да, еще хочу трактор завести
202 1136613
>>36607
В английский можешь? Если нет катись сначало в него
203 1136618
>>36613
Могу неплохо. Литературу без проблем
204 1136622
>>36607
Хуже чем в банке уже не будет. Вкатывайся. Сертификатик по БД не забудь.
205 1136625
>>36607
Библиотека питона, анализирующая рынки ценных бумаг на биржах называется TAlib.
206 1136630
https://github.com/python-telegram-bot/python-telegram-bot
soooqua как эту срань тестить то?
207 1136635
>>36622
>>36625
Я бы рад, но я системный аналитик
208 1136637
>>36468

> не появятся ли у меня где ексепшены после этого.


index = max(index - 1,0)
209 1136638
>>36467

>Не могу понять, что нужно делать, когда n>1440(это число минут в сутках)



n = n % 1440
210 1136639
>>36635

>системный аналитик


И куда это засовывается?
211 1136646
Как во фласке, записать файл, или точнее путь к файлу в дб?
Есть что-то прохожее на FileField из джанги?
изображение.png1 Кб, 642x37
212 1136691
Аноны, помогите.

Пилю значит в Джанго блог, пытаюсь сделать отправку оповещения о постах на мыло.
При попытке отправки сообщения через shell оболочку, выдаёт
ошибку кодировки. В КОДЕ НЕТ КИРИЛЛИЦЫ!
213 1136702
>>36691
.encode('utf-8', errors = 'replace')
214 1136718
>>36702
и куда мне это дописывать если я элементарно не знаю какая строка принимающая данные - выдаёт ошибку кодировки?
215 1136877
Питоныч, напомни какой из массивов хешируется set или tuple?
15045089901281.jpg199 Кб, 1366x768
216 1136887
>>34889
Лучше дорогу правопорядка почитай!
217 1136901
>>36877
frozenset, tuple
218 1137191
Такой вопрос по ооп, есть класс, в нём три метода, из экземпляра юзается один из них, остальные не должны вызываться напрямую, это надо их определить вот так __имя_метода__? И ещё эти метода используются с того, который вызывается напрямую и им тоже нужен экземпляр. В общем, поясните как это должно по красоте ооп работать?
219 1137195
>>37191
Приватный методы и данные класса принято именовать с лидирующим подчёркиванием `_yoba`.
220 1137200
>>37195
Понял, что-то затупил, думал, с двух сторон выделяют.
221 1137207
Подскажите ещё по селери и фласку.
Вот есть такой код
https://ideone.com/82pVxS
Никаких ошибок, ничего не происходит, редирект срабатывает, но сама send_async_email не работает.
Ставил туда принты, вообще туда не заходит.

Просто емейлы без селери работают.
222 1137232
>>37200
С двух сторон выделяют двумя подчёркиваниями мэджик методы.
223 1137237
>>37232
Кто пиздит, понять не могу.
225 1137252
>>37237
>>37238

> с двух сторон


> self.__superprivate


> с двух сторон


> self.__superprivate


> с двух сторон


> self.__superprivate

227 1137313
>>37284
https://ideone.com/rmrDcx
Пофиксил, делов то на 10 секунд.
228 1137317
Короче, ситуация такая. У меня написан простенький бот на питоне, использует он библиотеку vk_api, все шло хорошо, но вот беда, раз в сутки выдает vk_api.exceptions.ApiError: [10] Internal server error и прекращает работу бота, приходится запускать заново. Что с этим можно сделать?
229 1137323
230 1137324
>>37317
while True:
____try:
________/ запуск бота /
____except ApiError:
________time.sleep(60)

p.s. А вообще, лучше напиши разрабу, он отвечает в ВК.
231 1137327
>>36901
tuple только из иммутабельных сущностей
232 1137345
>>37313
Не правильно. Когда минут>540, то часов больше 9, ты теряешь первую цифру. Вот как надо https://ideone.com/H1NMjW
233 1137367
>>35592
Собранный проект на 3 питоне с pyqt5 весит 17мб, так шо хуй знает
234 1137391
>>37367
Подтверждаю, у меня тоже c PyQt5 + pyinstaller получалось 18-19мб.
235 1137395
>>37345

>часа(ов)


Ну ты чо, некрасиво. Вот как надо: https://ideone.com/OimbCw
236 1137396
>>37395
Ну всё, ты лучше.
238 1137486
Как в numpy можно создать массив из объектов np.ndarray разной размерности?
np.append() сжимает массивы и в итоге выдает одномерный массив, а стандартный питоновский append, хоть и работает, но слишком медленный.
1fe.png59 Кб, 658x662
239 1137492
>>37486
Что? Ты вообще как себе это представляешь? Создаёшь сначала целевой массив нужной размерности, затем копируешь в него хоть из сотни других через slices.
240 1137503
>>36031
>>36036
Нет.
Нет.
Но с большой вероятностью с минимальным допилом или вообще без него может заработать. На самом деле использовать сегодня 3.0/3.1 это ещё хуже чем даже 2.7.
241 1137507
>>36132
Нормально. Главное чтобы твоя система классов была понятной.
242 1137516
>>37449
Он всё правильно сказал. Ты в tuple можешь сложить даже небо и аллаха и от этого он перестанет хешироваться.

hash(([], [], []))
TypeError: unhashable type: 'list'

set же в любом виде, даже замороженном, просто не даст добавить такие элементы.
243 1137556
Привет, программисты
Зеленый пездюк в треде. Для успешного освоения питона (только про питон спрашиваю) нужны уметь в линукс? Даже в будущем потребуется обязательно?
244 1137559
>>37556
да, если хочешь прогать на винде то тебе в C#
245 1137561
>>37556
Да. Но можно и макось, они на самом деле очень похожи. Однако имей ввиду если хочешь в вебдев то 99% твой бекенд будет крутиться на линуксах.
246 1137563
>>37559
>>37561
Спасибо, тогда да, лучше пидорить в шарп и не разводить флуд
247 1137571
>>37492
Создал массив с типом элементов object, через присваивание по индексам все, вроде, работает. Спасибо
248 1137586
>>37556
Нет, питон работает на винде лучше чем php. Можно писать настольные приложения и под веб без проблем.
249 1137631
>>37516
Ты дебил? Вопрос был:

> какой из массивов хешируется set или tuple?


Хешируется и tuple и frozenset.
250 1137633
>>37631
Жаль тебя.
252 1137656
>>37645
Разговор с собой это серьёзный симптом. Подумой об этом.
253 1137658
>>37631
Вопрос о хешировании стоит в контексте кто может выступать в роли индекса dictionary.
254 1137662
>>37658
frozenset может выступать в роли индекса dictionary. жаль тебя
255 1137668
>>37556
Нет, не нужно. Я бы сказал иначе, нужно понимать основы ОС в общем, линуксы здесь только как наиболее предрасполагающая к такому изучению среда. Как видишь, полтреда зелёные спрашивают что такое PATH и почему не срабатывает импорт. А ведь envvars и в винде есть.
256 1137681
>>37668
Спасибо!
257 1137683
>>37556
Хватит вообще бояться линукса. Типа, в любимые игры не поиграешь? Так линукс можно использовать на виртуальной машине, он там работает быстрее, чем винда на основной.
258 1137838
Здравствуйте, у меня такой вопрос: если у меня есть

1) функция f(x) выражающая количественные характеристики первого вещества, неважно какие характеристики, главное, что количественная характеристика "у" зависит от количественной характеристики "х" по закону f(x)

2) есть второе вещество с такими же количественными характеристиками "х" и "у", но "у" от "х" зависит уже по закону g(x)

3)А потом первое и второе вещество смешали в пропорции 40% на 60% и получился для смешанного вещества третий закон зависимости "у" от "х" h(x).

Подскажите, пожалуйста, есть ли методы машинного обучения позволяющие по законам f(x), g(x), h(x) и по величине пропорций, определить как закон смешанного вещества h(x) выражается через первые два закона g(x) и f(x)?

Ну например, допустим, что окажется, что h(x) = 0.4f(x) + 0.6g(x). То есть ли методы машинного обучения позволяющие эту зависимость h(x) от f(x) и от g(x) выявить?
259 1137851
>>37683
Бля, да ну мне поебать на игры, я об этом ни слова не написал
260 1137940
ПОСАНЫ, смотрю сейчас статистику и не могу вкурить, есть такой популярный сей чатурбайт, где люди голыми пердаками на вебкамеру светят, дак этот сайт невъебенно нагруженый трафиком. Смотрю в статистики отображается, что написан на Django, Как ЭТО возможно вообще или там на бекенде овер дохера С++ кода???

https://www.wappalyzer.com/technologies/django
261 1137960
>>37940
Очевидно, что стримингом и перекодированием видео занимается не питон. В остальном же скорость любого сайта ограничивается субд, а не интерпретатором.
262 1137962
>>37960
А зачем перекодировать видео? Пускаешь потоки как есть, кодируя на стороне клиента сразу как надо. То есть сервак реально занимается только перегоном трафика, по-любому есть какие-то специализированные сервера под это дело, какие-нибудь плагины для nginx/haproxy или что даже более вероятно какие-нибудь циски где количество работы на цпу сведено почти к нулю и всей работой занимаются сетевые интерфейсы на уровне хардвари. Питон, само собой, только выруливает где кого куда, кто заплатил, кто не заплатил и прочий менеджмент.
263 1137991
>>37838

> То есть ли методы машинного обучения позволяющие эту зависимость h(x) от f(x) и от g(x) выявить?



Да.
264 1137996
>>37962

>А зачем перекодировать видео?


Чтоб трафика меньше гонять, а то канал забьется и гроб гроб кладбище.
265 1137998
>>37324

>p.s. А вообще, лучше напиши разрабу, он отвечает в ВК.


Так, не понял. Как с ним связаться-то?
266 1138009
>>37962
Надо видео в 5 форматах, даже если перекодировать их на стороне стримера, ADSL канала на 512кбит не хватит.
267 1138031
>>38009
Если у стримера хуёвый интернет, то 5 форматам взяться будет неоткуда. Но так-то да, мне кажется, с клиента уходит одно видео в наилучшем возможном качестве, а потом ужимается уже на сервере.
268 1138059
Я вам книжечки принёс.
https://yadi.sk/d/H-00n-UG3RSQem/
269 1138098
Поясните нуфагу, где я обосрался? https://ideone.com/aS5Rl5
270 1138123
>>38059
добра тебе
271 1138145
>>38098
Тебе же на сайте пояснили. Двоеточие после елсе забыл
else answer == 8:
^
SyntaxError: invalid syntax
Screenshot2018-02-1314-41-05.png66 Кб, 1054x706
272 1138153
>>38059
Годнота
273 1138165
>>38145
А, все, я понял, не совсем осознавал предназначение else
274 1138167
>>37960
Может там на сервере какой-нибудь ffmpeg стоит и эта либа этим дерьмом занимается, не?
275 1138168
>>38059
Спасибо за книжки. Сейчас как раз читаю Thinking Python в русском переводе
276 1138240
>>38009
Там разве не тет-а-тет дрочильни? Если стример один, то да, имеет смысл перекодирование делать на сервере, но дальше всё та же задача мультикастинга. Они там скорее всего на все CDN перегоняют в единственном экземпляре, а CDN уже обслуживает подсеть просматривающих. То есть вместо n потоков можно получить что-то вроде log n.
277 1138269
>>38240
Чтоб пизду выгодно пристроить её нужно как можно большему числу людей показать. Однажды спросил нигру: "чувиха, нахуя тебе две мышки?" А её понесло: потому что у меня 2 Ip, соответственно 2 компа, 2 монитора, камеры мышки для управлениями ими. Я могла бы использовать kvm, но одной рукой дрочить,а другой переключаться - неудобно."
278 1138385
Аноны, зачем вообще тестить скрипты? Я просмотрел полностью код, в терминале ошибок не выдает, работает нормально.
279 1138387
Так сколько подчеркиваний надо для приватности?
280 1138461
>>37998
Ну ВК ж его есть, хули ты.
Я писал ему, норм товарищ.
281 1138464
>>38385
А ВДРУГ при определенном значении выдаст? А эта сука выдаст, будь уверен, невозможно все предугадать, если ты конечно не совсем минискрипт делаешь.
>>38387
Два.
282 1138481
>>38464
ну у меня скрипт на 60+ строк, все работает нормально, думаешь нужно будет создать тест?
283 1138486
>>38481
Твое право, я для себя пишу тесты редко, не приучен, но у меня со стилистикой кода все ок.
На 60 строк кода тест и не нужен, скорее всего, если ты умеешь дэбагер юзать и правильно оформишь отлов и вывод возможных ошибок.
284 1138511
Как проверить что у объекта есть аттрибут неизвестного мне типа?
285 1138519
>>34827 (OP)
Для вас, наверное, не сложно будет решить как сделать во такое:
Нужно создать функцию, которая из предложенных строк случайного размера будет находить последовательности символов, которых ещё нет в какой-то определённой БД и записывать их туда, присваивая уникальный идентификатор и список простых чисел.
Да, я знаю, что это просто, но БД должна быть просто огромная, а каждый раз пролистывать её записи - не хватит никакого времени. Соотвественно нужно как-то так сделать, чтобы это было очень быстро.
286 1138520
>>38519
Поставь индекс unique на колонку БД
287 1138524
>>38520
Я не понял.
image.png77 Кб, 797x588
288 1138533
>>38519
>>38520
>>38524
Ебать я из одного предложения сделал. Грузит минуту. Надо к задаче по-другому подойти.
289 1138544
Поясните за питуханские понятия. Как вообще положено делать: каждый класс в отдельном файле или наоборот побольше классов в файл пихать? Названия файлам какие давать? Их в поддиректории перемещать или лучше когда в корне?
290 1138546
>>38544
В одну строку конечно же! Не блогодори!
291 1138555
>>37991
Какие, как называются?
292 1138557
>>38533
бинарное дерево хэшей текста?
293 1138574
>>38486
окей, спасибо
294 1138575
>>38481
>>38385
>>38385
Скрипты разные бывают. Если у тебя хуйня на 20к строк и пилит ее куча мартышек то без хорошего покрытия тестами не обойтись. А иначе любое изменение может обернуться непредвиденным поведением где-то дальше по линии, и будешь потом скакать и выискивать отуда уши растут. Запуск кучи тестов на каждый коммит это сразу спалит. Но на 60 строк можно конечно забить, можно и на 2к забить если ты пишешь один.
295 1138579
>>38575
Кулстори из своего опыта. Есть популярный фреймворк, есть небольшая батарейка для него за моим авторством. Батарейка была сделана без тестов, задачу выполнила, была выложена в открытый доступ и благополучно забыта. Тем временем фреймворк успел выпустить несколько релизов, мне присылают тикеты что всё сломалось. Залезаю в код и, вот честно, хуй его знает что и где пофиксить. Пришлось разбирать по кусочкам всё и каждому простейший тест написать чтобы хотя бы выяснить что в каком месте куда передаётся (там довольно сложные структуры ходят, не просто int/str), а затем через тревис проверить на каких версиях фреймворка это падает и почему. Кода буквально 500 строк, кроме меня его почти никто не трогал. Однако за годы для тебя твой же код становится настоящим чёрным ящиком, в котором снова нужно разбираться, как с чужим проектом.
296 1138580
>>38519

>которая из предложенных строк случайного размера будет находить последовательности символов, которых ещё нет в какой-то определённой БД



префиксное дерево

или фильтр Блума, если ложноположительные допустимы
297 1138581
>>38580
гугли prefix tree, radix tree, patricia
298 1138586
>>38519
Нужно вводить максимальную длину последовательности символов, иначе пиздец.
299 1138588
>>38544
гугли python project dir layout
300 1138589
Для чего нужен \ (бэкслеш) в python?
301 1138590
>>38555
polynomial fitting попробуй
302 1138591
>>38589
Как и везде line continuations + экранирование в строках/регексах.
303 1138598
>>38579
Без коментов писал?
304 1138626
>>38598
А чем коменты помогут? Там в принципе декомпозиция по функциям нормальная была, имена функций тоже достаточно удачные, их нужно было повыносить из одного большого класса, так как self почти не использовался, и разделить на пару модулей по функциональности.
305 1138647
Подскажите книжечек по рег экспам в Питоне пожалуйста
307 1138673
Господа, есть джанго-проект, в нём Celery периодически запускается(по расписанию) и наполняет кеш(LocMemCache) двумя словарями с данными(они вытягиваются из другого сайта), кеш заполняется успешно, время хранения выставленно большое.
Проблема в том, что обращаясь потом во вьюхе к кешу, я получаю - None. То есть даже не создаётся в кеше запись с таким ключом. Эта хуйня происходит лишь на сервере, на локалхосте всё ок.
В чём может быть проблема? В какую сторону копать? Как вообще проверять работу с кешем?
308 1138712
>>38647
regex везде одинаковый. Программку используй regex buddy или regex coach.
309 1138731
>>38673
А, это я долбоёб просто, memcached не поставил на сервак.
310 1138925
Почему в os.path хранится путь к несуществующему архиву?

D:\Python36\python36.zip
D:\Python36\DLLs
D:\Python36\lib
D:\Python36
D:\Python36\lib\site-packages
D:\Python36\lib\site-packages\win32
D:\Python36\lib\site-packages\win32\lib
D:\Python36\lib\site-packages\Pythonwin

В линуксе тоже https://ideone.com/B44igy
311 1138933
Друзья скиньте пример самого быстрого способа записи в txt файл с помощью буффера, нужно записать 100.000.000 цифр в файл
раздел Польши.webm681 Кб, webm,
358x326, 0:16
312 1139000
У меня есть строка произвольного размера. Необходимо как-то ей дать целочисленные координаты в кубическом пространстве. В одномерном понятно - берёшь хэш и суёщь в функцию. Но как в трёхмерном? Конвертировать значение [0:8000] в какую-то точку по столбцам, строкам и колонкам? Каким образом это сделать быстро? Смысл в том, чтобы похожие по составу строки находились ближе. Если делать как я написал выше, то нихуя подобного не получится. Нужна манипуляция именно со всеми координатами.
14681231007100.jpg52 Кб, 600x600
313 1139001
В факе в основном серверная часть языка, а нету книжца по стандартизации кода для написания игр?
314 1139025
>>39001
Ну вот каких, нахуй игр? Десктопных(pygame)? Мобильных(kivy)?
315 1139037
>>39000
У тебя будет массив массивов в массиве. Каждая из трех коорбинат будет индексом массива.
316 1139054
>>39037
Ты що, поехал? Нахуй мне нужен многомерный массив? Я хочу координаты определить по символам. Ебать у тебя советы конечно, будто я не знаю что в массив можно массивы пихать, лал.
317 1139068
Почему идет медленная запись в файл и как увеличить?
with open('file.txt') as f:
for i in range(10000000):
f.write(str(I))
318 1139072
>>39068
Буфер сделай больше. И хард нормальный купи/тестируй на tmpfs.
319 1139081
>>39072
Как сделать буфер и какого размера ?
58bee2de5322aa1bffef4da55eaf9b66--offensive-memes-sandwich.jpg130 Кб, 736x832
320 1139089
>>39000
X=hash(s[0:8000:3])
Y=hash(s[1:8000:3])
Z=hash(s[2:8000:3])

ну или

X=hash('хуй' + s)
Y=hash('пизда' + s)
Z=hash('сотона' + s)
321 1139092
Бля посаны я в отчаянии, Джавка в 20 раз быстрее пишет в файл , чем пихтон, а кто-то говорил, что работа с диском будет слабым местом и похер на язык(
322 1139093
>>39092
Жаль тебя.
323 1139102
Хэлп нубу.
"
Создайте конструкцию if, которая проверяет, действительно ли количество бисквитов (которое задано в переменной twinkies) меньше 100 или больше 500. Если это условие выполняется, пусть ваша программа напечатает сообщение «Слишком мало или слишком много».
"
324 1139109
>>39102
Да ты серьёзно? Это чисто одна операция через конструкцию if.
325 1139116
>>38933
file.write(sto_millionov_cifr)
Это же меньше 100-200мб (или меньше гигабайта, если ты таки от 1 до 10^8 числа записываешь), тьфу для сегодняшних скоростей.

>>39068>>39092
Сначала собери целиком строку, а потом один раз её записывай.
В файл пишет ОС, а не сам питон, и скорость зависит по большей части только от твоего диска. Спокойно записал 788 мегабайтную строку (все числа от 1 до 10^8) менее, чем за секунду. Вызов же f.write сто миллионов раз уже 15 секунд, не считая всего остального лупа.

>>39102
Если ты просишь помощи уже таком шаге, то советую забросить это дело. Перед этим упражнением наверняка была куча идентичных примеров, и если ты по ним ничего не усвоил и не можешь даже ещё раз пройтись и разобраться, то плохо всё, очень.
326 1139152
>>38461
Сорян за тупой вопрос, но где найти его контакты-то?
327 1139159
>>39000

> Необходимо как-то ей дать целочисленные координаты в кубическом пространстве.



зачем? Ты уверен, что понимаешь, что делаешь?

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



кривая гилберта.
328 1139180
>>39081
Читай доки по open().
329 1139185
Господа, подскажите.
Читаю "effectivedjango.com/", и там, как я понимаю, работа ведется на линуксе, в терминале.
Следовательно, джанго работает в режиме виртуальной машины, и автоматом создает шаблонные файлы, как пример:
(tutorial)$ python ./manage.py startapp contacts
Как подобное провернуть на винде, и в PyCharm? Написать пару лишних строк - не проблема, но к примеру, указывается, что после создания файлов желательно базу данных обновить.
Вопрос - как это сделать на винде?
330 1139201
Работяги. Хочу сделать бота для 3д игры. Какой фреймворк отвечает за имитацию клавиш?
331 1139204
>>39185

>Вопрос - как это сделать на винде?


Также как и в линуксе.

> джанго работает в режиме виртуальной машины


Наркоман шоле?
332 1139210
>>39204

>Наркоман шоле?


Скорее не наркоман, а неправильно поставил вопрос.
Где в PyCharm'e синхронизировать(обновлять) бд, создавать "приложения" так, чтоб в них уже были такие файлы, как:
__init__.py
models.py
tests.py
views.py
И чтоб это делал PyCharm, а не я.

Не запускать же ради этого консоль.

>Также как и в линуксе.


Линукс и винда - разные ОС, не находишь?
333 1139222
>>39201
autohotkey возьми
334 1139237
>>39152
И правда хуй найдешь, даже не знаю как тогда вышел на него.
https://m.vk.com/python273
zLlWLAvb6fw.jpg59 Кб, 605x807
335 1139238
>>39222
Что еще есть?
337 1139254
>>39238
xdotool
338 1139258
Аноны, помогите. Как оформлять скрипт? Ну там --help, --version и все в этом роде.
340 1139260
>>39259
Спасибо
342 1139263
>>39185
Тебе недостаточно Pycharm. Нужно поставить на винду python, pip, django, субд, вебсервер.
343 1139323
Как узнать директорию, в которой был запущен главный скрипт. Проблема __file__ в том, что он указывает на модуль исполняемый в данный момент и этот модуль может быть в произвольной директории, а нужна главная директоия.
344 1139325
>>39323
О, кажется сам догадался:
os.path.dirname(os.path.abspath(sys.argv[0]))
Не таит ли это подводных каменей после компила? Есть вариант более правильный?
345 1139327
>>39263
Ну на хуй тогда, С# буду учить тогда
346 1139331
Анончики, поставил себе задачу спарсить один ахуенный сайт с парой лямов страниц. Данные буду оформлять в dict, типа названия, текста, тегов и т.д. Ясен хуй столкнулся с тем, что я не смогу всё это хранить в переменной чтобы в конце парсинга сохранить в файл. Подкиньте совет как организовать сохранения дохуища данных без убийства оперативки ради переменных, как вообще работать с тегами и фильтрами в дальнейшем. Кидать теги в отдельный словарь и потом при выборе прогонять генератором по всему списку и если в тегах есть выбранный тег, то высвечивать? Статейки или книги подкиньте по это хуйне в общем, а то я ньюфаг ещё ебаный
347 1139332
>>39331
Берешь парсер и парсишь. Делов-то.

берешь хтмл парсер и указываешь какие блоки сохранять. Сохранять лучше в БД.
348 1139334
>>39327
Тогда тебе приедтся поставить IIS, MS SQL, .NET, Visual Studio.
349 1139335
>>39332
Ну понятно, что просто берёшь и парсишь. Всю эту хуйню я знаю, это не проблема. Я просто озадачился правильностью сохранения таких данных, ибо я попытался хотя бы 100к страниц спарсить с сохранением в одну переменную и ахуел от -1гб озу. Потом подумал, что нужно бы в какой-то файл писать, но каждой иттерацией открывать - дозаписывать - закрывать, эт пиздец кромешный. Насчет бд ты ахуенно подсказал, спасиб. С фильтрами и тегами как быть?
350 1139337
>>39334
Блядь. Ну буду тогда на vbscript/powershell писать, там ничего ставить не надо.
351 1139341
>>39335
Doorique, я же тебе русским языком написал. Соьираешь коллекцию ссылок на те страницы, которые надо парсить. Из этих страниц хтмл парсером выбираешь блоки с текстом и блоки с тегами. Заносишь это в БД. Как? Чуваки, которые лучше меня шарят сиквеле меня поправят, но мне видятся 2 таблицы связанные с клбчами. В первой поля id, text, tags, где теги ключи на вторую таблицу с тегами. И так страницу за страницей заносишь в БД
352 1139342
>>39337
powershell ставить надо
353 1139344
>>39342
Он начиная со спермерки предустановлен.
354 1139352
>>39325
Что ты хочешь сделать?
355 1139353
>>39352
открывать и парсить файл settings.ini во всех случаях, включая запуск программы через клик в контекстном меню.
356 1139354
>>39353
Храни настройки в определенном месте. На сперме это реестр, на никсах это ${XDG_CONFIG_DIR} или ~/.config
357 1139358
>>39354
А еще у меня иконки...
15256346780.jpg46 Кб, 1600x720
358 1139413
Как строку текста преобразовать в массив слов и знаков препинания в том же порядке? ?
360 1139416
>>39415
Через спллит я по пробелам то могу разбить, но знаки препинания то останутся со словами.
361 1139423
>>39116
>>39109
>>39252
Лол в том то и прикол, что книжка видимо глупая. Т.к идентичных примеров небыло.
Спс, первый раз вижу функцию лямбда
363 1139428
Это >>39426 тебе → >>39416
365 1139436
>>39000
Есть расстояние Левенштейна, к трём измерениям не привести.
366 1139438
>>39331
https://docs.python.org/3/library/shelve.html
Под капотом dbm, сами значения кодируются через pickle. Можешь взять из реляционной базы наколхозить подобное на binary/json fields, можешь взять монгу, там сразу жсоны пишутся.
367 1139440
>>39428
>>39426
Душевно. Спасибо.
368 1139490
>>39438
Ты лучший, спасиб
369 1139536
Почему Python не сделали компилируемым? Это в принципе не возможно из-за его дизайна? Можно ли Python сделать компилируемым (например поможет ли в этом статическая типизация), чтоб работал быстро как программы на C? Или статическая типизация испортит все?
Можно ли сделать язык синтаксисом и удобством как Python и в то же время быстрый как C? Или это невозможно?
370 1139541
>>39536

>Можно ли сделать язык синтаксисом и удобством как Python и в то же время быстрый как C? Или это невозможно?



nim
371 1139545
>>39541
Меня в нем смутило, что идентификаторы с разными регистрами являются одной переменной. Его стоит использовать или в нем есть существенные недостатки?
372 1139568
>>39536
Cython компилируемый же. Но разработчики признались, что дальнейшая оптимизация заставит отказаться то совместимости с питоном.
image.png23 Кб, 593x239
373 1139684
Чё это? Не могу найти ошибку.
1a-768x432.jpg34 Кб, 768x432
375 1139691
>>39254
А если я не линукс-господин?
376 1139702
>>39691
Зачем ты мне этим скрином напомнил, собака.
377 1139705
>>39691
Глянь в книге по майнкркафту
https://yadi.sk/d/H-00n-UG3RSQem/Для детей
378 1139708
>>39690
Не понятно вообще. Все данные верного типа. Координаты и индексы в инт, значения во флоат.
379 1139714
>>39708
Если ошибка синтакическая, то проверять типы бессмысленно. Код показывай. Может проблема в отступах, в кодировке, в переносе строк.
380 1139732
>>39714
Решилось как-то само. Я даже не представляю как. Ну ладно, код меньше даже стал, просто буду обходить это стороной.
14419888199812.jpg54 Кб, 500x700
381 1139755
Как мне замерить время выполнения ассинхронной функции?
Есть парсер на aiohttp
в нем есть примерно такие строки

task = [asyncio.ensure_future(func(i)) for i in range(10)]
await asyncio.wait(task)

Нужен вывод времени выполнения функции + ее аргументы
В обычной ситуации просто делал декоратор с time, а сейчас этот же способ выдает ошибку. Нужно мой декоратор тоже async await как то обмазать?
382 1139781
>>39423
Лямбда там вообще не за чем.

>if x < 100 or x > 500:


>if not 100 <= x <= 500:


> print("Сообщение")


Вот два варианта if-конструкции, требуемых в задании. Зачем тот анон лямбду приплёл я не знаю, пока не забивай себе голову.
383 1139803
В общем, такие дела, братишки. Учу питоний, как и любом другому психически здоровому человеку, мне не нравится концепция классов, тем не менее, придётся верить на слово, что О О П мне ещё пригодится.

Так вот, меня терзает вопрос синтаксиса.

Короче, смотри, ёбана
Сначала мы ставим классы

>class Abu():


Потом объявляем функцию

>def __init__ (self, hands):


После, мы можем присвоить пременную внутри функции, чтобы функция могла обращаться к своим же значениям, если я правильно всё понимаю

>self.ruki = hands


Так вот почему, блядь, не

>hands = self.ruki



У меня есть класс,
У класса есть свойство,
Этому свойству я хочу присвоить переменную (обычно, люди просто не ебут мозги и пишут self.hands = hands)
Но, мне эта кривая структура мешает понять логику языка

Пока я это писал, то понял, что сначала нужно объявить переменную. Тем не менее, почему нет элементарной обратной связи?

Но, остались ещё вопросы.
Почему я не могу просто обращаться к hands?
Почему я должен создать новую переменную, причём через self?
Отсюда вытекает другой вопрос, нахуя вообще нужен self?

Причём, что в действительности меня интересует, чем это удобно?

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

class Monkey():
def (hands):
hands = True

class Makaba():
def class():
state = Monkey()

def check():
if state.hands:
print("Dvach is working")
else:
print("Please, buy more passcodes")

dvach = Makaba()
dvach.check()

Для сравнения, правильный код
class Monkey():
def __init__(self):
self.hands = True

class Makaba():
def __init__(self):
self.state = Monkey()
def check(self):
if self.state.hands:# == True:
print("Dvach is working")
else:
print("Please, buy more passcodes")

dvach = Makaba()
dvach.check()
383 1139803
В общем, такие дела, братишки. Учу питоний, как и любом другому психически здоровому человеку, мне не нравится концепция классов, тем не менее, придётся верить на слово, что О О П мне ещё пригодится.

Так вот, меня терзает вопрос синтаксиса.

Короче, смотри, ёбана
Сначала мы ставим классы

>class Abu():


Потом объявляем функцию

>def __init__ (self, hands):


После, мы можем присвоить пременную внутри функции, чтобы функция могла обращаться к своим же значениям, если я правильно всё понимаю

>self.ruki = hands


Так вот почему, блядь, не

>hands = self.ruki



У меня есть класс,
У класса есть свойство,
Этому свойству я хочу присвоить переменную (обычно, люди просто не ебут мозги и пишут self.hands = hands)
Но, мне эта кривая структура мешает понять логику языка

Пока я это писал, то понял, что сначала нужно объявить переменную. Тем не менее, почему нет элементарной обратной связи?

Но, остались ещё вопросы.
Почему я не могу просто обращаться к hands?
Почему я должен создать новую переменную, причём через self?
Отсюда вытекает другой вопрос, нахуя вообще нужен self?

Причём, что в действительности меня интересует, чем это удобно?

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

class Monkey():
def (hands):
hands = True

class Makaba():
def class():
state = Monkey()

def check():
if state.hands:
print("Dvach is working")
else:
print("Please, buy more passcodes")

dvach = Makaba()
dvach.check()

Для сравнения, правильный код
class Monkey():
def __init__(self):
self.hands = True

class Makaba():
def __init__(self):
self.state = Monkey()
def check(self):
if self.state.hands:# == True:
print("Dvach is working")
else:
print("Please, buy more passcodes")

dvach = Makaba()
dvach.check()
384 1139809
>>39803

>Почему я должен создать новую переменную, причём через self?


>Отсюда вытекает другой вопрос, нахуя вообще нужен self?


Можешь обращаться к hands и ебаться с аргументами в функциях внутри класса, если ты ебанат конечно. А можно просто в __init__ объявить переменные в self и вызывать их из любой функции в классе. Пиздуй читай A Byte of Python
385 1139811
>>39781
Спасибо
386 1139818
>>39803
self - себяшка, указывает на то, что это переменная объекта класса, если писать без неё, то получается, что ты создал переменную класса

>== True


И зачем это? Можно было без этого обойтись, сравнивать в if с True это дурной тон

>мне не нравится концепция классов


Тред функциональщины на два блока ниже, дружок-пирожок

Судя по твоим вопросом ты даже лутца, который объясняет все как для даунов не читал
387 1139828
>>39803

>Пока я это писал, то понял, что сначала нужно объявить переменную.


Нет, не нужно. Переменные самообъявляются при их первом использовании.

почему, блядь, не

>hands = self.ruki


Так тоже можно для создания локальной переменной hands. Такова традиция оператора присвоения во всех языках. Слева пишется кому присваиваешь, а справа - что присваиваешь. Слово self.ruki - это всегда свойство объекта. Ты можешь создать новое свойство в любом месте в любое время: внутри метода или снаружи объекта:
abu = Abu() # создали объект abu
abu.ruki = 123 # создали ему свойство, что равносильно твоему self.ruki = 123 внутри метода.
388 1139852
>>39809

>Можешь обращаться к hands


Ты не можешь обращаться к hands. В этом вся суть вопроса, с hands вообще ничего нельзя сделать внутри класса, у функции просто есть переменная, к которой нельзя обращаться.
Чтобы обратиться к hands, нужно создавать переменную self.hands. Которая, опять же, используется только внутри класса.
>>39818

>что это переменная объекта класса, если писать без неё, то получается, что ты создал переменную класса


Может ты имел ввиду переменную функции?
Внутри обычных функций переменные работают как обычные переменные.
А вот внутри классов только через "self".
Или я не понимаю разницы между объектом класса и классом.

>И зачем это?


>Можно было без этого обойтись


># == True:


Может я и обошёлся, ведь это просто комментарий.

>ты даже лутца


Как что-то плохое.
>>39828

>Нет, не нужно.


Я имел ввиду, что

>a = 'word'


>a = b


>print(b)


Не сработает, потому что сначала нужно объявить переменную "b =", ну и дальше ей спокойно присвоится значение 'a'. Но не наоборот, хотя, было бы удобно.

>Ты можешь создать новое свойство в любом месте в любое время: внутри метода или снаружи объекта


Это я знаю.

>abu.ruki = 123 # создали ему свойство, что равносильно твоему self.ruki = 123 внутри метода.


А вот сейчас я задумался. А ведь действительно. Вот сейчас для меня многое прояснилось.
Но два вопроса ещё осталось.
1) Что делает переменная self в каждой функции класса?
def Funct(self), зачем писать self? Почему нельзя просто оставить скобки пустыми, ведь к этому 'self' никак нельзя обратиться, оно ничего не делает.
2) Ок, у нас есть класс

>class Abu():


>def __init__(self):


Мы добавляем в функцию новую переменную:

>Abu.hands = True


Теперь внутри класса я могу обратиться к ней как к self.hands, без объявления, она уже существует как self.hands.
Так почему я не могу сразу её создать в таком виде в функции?

>class Abu():


>def __init__(self, self.hands, self.somethingelse)


Чтобы избежать вот этого вот

>def __init__(self, hands)


>self.hands = hands

388 1139852
>>39809

>Можешь обращаться к hands


Ты не можешь обращаться к hands. В этом вся суть вопроса, с hands вообще ничего нельзя сделать внутри класса, у функции просто есть переменная, к которой нельзя обращаться.
Чтобы обратиться к hands, нужно создавать переменную self.hands. Которая, опять же, используется только внутри класса.
>>39818

>что это переменная объекта класса, если писать без неё, то получается, что ты создал переменную класса


Может ты имел ввиду переменную функции?
Внутри обычных функций переменные работают как обычные переменные.
А вот внутри классов только через "self".
Или я не понимаю разницы между объектом класса и классом.

>И зачем это?


>Можно было без этого обойтись


># == True:


Может я и обошёлся, ведь это просто комментарий.

>ты даже лутца


Как что-то плохое.
>>39828

>Нет, не нужно.


Я имел ввиду, что

>a = 'word'


>a = b


>print(b)


Не сработает, потому что сначала нужно объявить переменную "b =", ну и дальше ей спокойно присвоится значение 'a'. Но не наоборот, хотя, было бы удобно.

>Ты можешь создать новое свойство в любом месте в любое время: внутри метода или снаружи объекта


Это я знаю.

>abu.ruki = 123 # создали ему свойство, что равносильно твоему self.ruki = 123 внутри метода.


А вот сейчас я задумался. А ведь действительно. Вот сейчас для меня многое прояснилось.
Но два вопроса ещё осталось.
1) Что делает переменная self в каждой функции класса?
def Funct(self), зачем писать self? Почему нельзя просто оставить скобки пустыми, ведь к этому 'self' никак нельзя обратиться, оно ничего не делает.
2) Ок, у нас есть класс

>class Abu():


>def __init__(self):


Мы добавляем в функцию новую переменную:

>Abu.hands = True


Теперь внутри класса я могу обратиться к ней как к self.hands, без объявления, она уже существует как self.hands.
Так почему я не могу сразу её создать в таком виде в функции?

>class Abu():


>def __init__(self, self.hands, self.somethingelse)


Чтобы избежать вот этого вот

>def __init__(self, hands)


>self.hands = hands

389 1139865
>>39852

> Что делает переменная self в каждой функции класса?


Функции класса я называю методами. Переменная self делает доступными внутри метода все свойства объекта. Через нее можно вызвать другие методы, либо значения переменных пример https://ideone.com/gh5R5S

>зачем писать self?


Можно не писать, если метод статический. См. пример выше.
390 1139878
>>39852

>Так почему я не могу сразу её создать в таком виде в функции?


>def __init__(self, self.hands, self.somethingelse)



Ну, вот, бля, не предусмотрели такого.
391 1139902
>>39865

>статический


Я примерно понимаю, что это означает, но всё же, не до конца. Если в данном статическом методе прописать self, это вызывает ошибку, почему?

>Переменная self делает доступными внутри метода все свойства объекта. Через нее можно вызвать другие методы, либо значения переменных


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

Кроме того, я понял одну из причин, почему переменные методов нужно вызывать через ".self", потому что внутри методов можно использовать обычные переменные. Не встречал таких примеров в "Python Crash Course", отчасти поэтому не мог понять, зачем нужно обращаться через ".self"
>>39878
Будем надеяться, что к четвёртой версии предусмотрят.
392 1139909
>>39902
Статический в контексте ООП означает "не имеющий инстанции", т.е. нет сущности, нет объекта. Статический метод в питоне можно вызывать до создания объекта класса. В статическим метод нельзя передать self, потому объекта нет. Ведь, Self - всегда указывает на объект класса.
393 1139912
>>39865
И ещё один вопрос, как ты обошёлся без __init__? Без __init__ ты не можешь присваивать значения самому классу, только отдельным методам внутри него. В этом есть смысл? Это - полноценный класс? Или в нём нет никакого смысла?
394 1139915
>>39902

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


Верно. Так реализовано разделение namespacе(именное пространство). Обычная переменная действует только внутри одного метода. А переменная self.ruki действует во всех методах этого класса.
395 1139923
>>39912

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


Эту фразу я читаю как "передавать значения при создании объекта класса". Действительно не могу. Это нормальная практика. На самом деле мой класс обладает этим методом __init__(), как и любой класс в питоне. Каждый класс наследует базовый питоний класс object. Мою декларацию можно написать более явно:
class Abu(object):
...
или в терминах Java:
class Abu extends object {
... }

В случая, когда программист прописывает def __init__ (self) в декларации своего класса, он фактически перекрывает своим кодом существующий метод __init__ у родителя - object.
396 1139952
Спасибо за ответы.
Буду продолжать погружаться в питон.
397 1139969
>>39952
Ну что же сразу питон, ну зачем так? Это сладкий хлеб, ну что же вы как не люди?
398 1139978
>>39969
Погрузил свой питон в твою джяву. Твои действия?
399 1140037
>>39705
Ебать, сколько ж людей пытается срубить бабла, по сути говоря об одном и том же. Такое ощущение, что либо им всем в одно утро приходит в голову заебенить самоучитель для чайников, либо они в принципе не гуглили, что у них уже есть сформировавшиеся конкуренты.
400 1140040
>>39755
Бамп вопросу
401 1140048
Сап /py
Как с помощью функции sorted вывести список в обратном алфавитном порядке?
402 1140053
>>40040
Уже разобрался, я декоратор тоже async обмазал, а нужно было только внутреннюю функцию
403 1140054
>>40048
https://ideone.com/hcELy8
вот код, я уже полтора часа ебусь с этим
Снимок экрана2018-02-1609-10-31.png119 Кб, 1108x534
404 1140055
>>40054
С чем тут ебаться то?
405 1140056
>>40054
Олсо ты даже сообщения об ошибках, похоже, не читаешь, тебе же пишут:

>positional argument follows keyword argument


Т.е. ты не в том порядке передаешь аргументы - сначала должен идти обязательный аргумент, а потом опциональный. Это основа основ, что в вызове функции аргументы передаются в том же порядке, в каком они были определены в описании функции. Узнать порядок можно из прототипа функции или из документации.
406 1140059
>>40056
>>40055
Спасибо, аноны, я вкатился пару дней назад, поэтому мало еще что понимаю
407 1140062
408 1140084
>>39852

>Ты не можешь обращаться к hands.


Можно обращаться к hands внутри класса если каждый раз его передавать при вызове функций, я об этом
1309865855794.jpg45 Кб, 506x477
409 1140187
https://docs.python.org/3/library/functions.html#property
https://docs.python.org/3/howto/descriptor.html
property-функция/декоратор в итоге создают класс-дескриптор, или это разные штуки?
2018-02-16142034.jpg227 Кб, 960x1426
410 1140203
https://github.com/python/cpython/blob/3.6/Lib/collections/__init__.py#L302
Чёт я проиграл с реализации namedtuple()
Генерить класс с помощью строки-темплейта с кодом класса, вообще охуеть.
Мне-то казалось всякая мета-магия пиздона позволяет сгенерить класс без такой хуйни.
py.png3 Кб, 398x65
411 1140253
Как такое переписать нормально? Думаю должен быть более эффективный способ.
412 1140254
>>40203
Лол.
413 1140258
414 1140259
>>40203
Почему они используют _хуйнянейм, а не __хуйнянейм?
py1.png3 Кб, 631x24
415 1140265
>>40258
Типо вот так? Или еще проще есть способ?
416 1140278
>>39261
Спасибо.
417 1140318
>>39237
Спасибо, пообщался с ним, он сказал что проблема не у меня, а на сервере в вк, и что ошибку надо просто игнорировать.
418 1140331
>>40259
Уже выше писал. Дла даунов:
Одно подчёркивание: условная договорённость именования "приватных" атрибутов и методов.
Два подчёркивания: включается механизж mangling-а чтобы наследник не испортил твой атрибут или метод.
419 1140341
>>34827 (OP)
А есть какая-нибудь конфа питоняш в дискорде/телеге?
420 1140356
>>36630
Можешь глянуть, как он тестил свои функции в папке tests
421 1140394
>>40341
Забугорная общепрограммерская, там сравнительно активный канал питона.
IRC какой-нибудь freenode, канал #python, там больше тысячи человек сидит, но тоже на английском.
Слак python-ru.
422 1140401
>>40203
Пиздос. Как дальше жить зная такое? Хотя судя по git blame это очень старый код, 4-10 лет отроду.
423 1140404
>>40187
Пропертя это встроенный дескриптор, написанный на сишке.
Гдеблядь.jpg56 Кб, 1280x718
424 1140406
>>39978

>jython


>2.7 compatible


>Твои действия?


Где троечка?!
425 1140461
А как в питоне сделать чтобы во время работы скрипта он не прокручивал экран, а в одной строке постоянно проценты писать?
426 1140489
>>40461
for i in range(101):
print(i, end='\r', flush=True)
427 1140526
>>40489
Спасибо. А еще напомните адрес переводчика онлайн php в python
429 1140538
Написал свою первую программу в жизни (не считая калькуляторе на Бейсике по школьной методичке): текстовую версию "камень-ножницы-бумага". Теперь ебусь с "угадай число", конкретно с while, потому что в Питоне нет аналога goto, который бы здесь пиздец как помог.
430 1140541
>>40538
Куда ты собрался готухать то нихуя не пойму
431 1140543
Парни.
Постепенно вкатываюсь из сей/плюсов в питон.
Написал пару программок по типу бот для телеграмма/скачивание веселых картинок из вк-другой-хуйни-с-апи/скраппинг рандомной хуйни с разных сайтиков и пришел к следующим выводам:
-по сути, я пишу все тот же с/с++ код, только на питоне
-я заебался скраппить, блять

В связи с этим два вопроса:
1) Каким образом быстрее задрочить все эти питоновские штуки типа [[govno for mocha in zhopa] for tratat in lala if chlen in zhopa] ? И есть ли в этом смысл? будет ли это работать быстрее дефолтной хуйни в условные 4 строки?
2) Подскажите, че еще можно пиздатого написать, не залезая во всякие джанги и другие здоровые фреймворки/либы. Ну и чтобы не скраппить, блять
432 1140547
>>40331
А почему они используют _ а не __?
433 1140550
>>40538
есть break
434 1140551
>>40538
В питоне можно написать свой goto https://www.quora.com/What-is-the-equivalent-of-goto-or-jump-command-in-python
435 1140552
>>40543
можешь подружиться в функцией map(), а также с методом .join у всяких итераблейю
436 1140554
Есть ли питоний аналог генераторов css наподобие Sass или Less?
437 1140559
>>40541
Ну, типа, идут условия, идут, а потом БАЦ в середине: "Вы выиграли! Хотите сыграть еще?" И это все добро должно вернуться к старту, где машина загадывает число.
438 1140563
>>40552
С этими функциями корешусь без проблем, поскольку такие функции есть и в других языках.
Больше интересует мишура, присущая только питону. Говоря о той хуйне, что я напиcал до этого - в питон доках написано, что list comprehension - это просто удобная хрень для создания списка.
Судя по гуглу, бОльшая часть типсов-триков питона направлена на удобство.
Значит ли это, что по той же производительности разницы особой нет?
439 1140567
>>40559
Ебошишь if и при положительном ответе continue
441 1140587
>>40563
На производительность в питоне нужно забивать и писать максимум читабельно. Почитай как устроен интерпретатор, основной тормоз это миллионы dict-accesses в объектах, всякие getattribute с дескрипторами (например когда ты делаешь банально zhopa.atatat). Всё очень медленно, но очень гибко. Вместо компилятора используй линтеры/mypy: всех ошибок не выловят, но самые очевидные покажут.

Дополнительно можешь попробовать пописать экстеншены на си/плюсах.

И да, чего ты так зациклился на скраппинге, пиши что захочешь или попробуй поконтрибьютить в попенсорц где-нибудь чтобы не зря трудился.
442 1140588
>>40554
Но зачем, лол? Sass переписали на плюсах, он там быстрый как пулемёт стал. Less мёртв.
443 1140591
>>40588
Где скачать для win?
444 1140592
>>40591
google:libsass windows скачать без регистрации и смс
445 1140593
>>40592
нет
1962026.jpg42 Кб, 600x450
446 1140594
>>40593
Виндоюзера ответ.
15021087218930.jpg34 Кб, 604x460
447 1140599
Хуле pprint такой малонастраиваемый?
Хочу переносы привычные для json.
Про json.dumps я знаю, но блять, я данные пиздона хочу форматировать, а не json.
448 1140600
>>40599
Загони пиздос в жсон
449 1140601
>>40600

>пиздос


s/с/н/
450 1140660
Как логарифм циферки посчитать, не юзая стандартную функцию в math?
451 1140662
>>40660
Зачем? Что плохого в стандартной функции math?
452 1140665
>>40662
Решил саморазвиваться, пока есть время. Интересно просто, как вообще логарифм считать, не пользуясь math
razlozhenievrjadmaklorena2041.png81 Кб, 580x498
453 1140667
>>40665
Ряды Маклорена.
454 1140670
>>40667
И как, например, ln(5) считать? По формуле ln(x+1)?
455 1140671
Дело в том что math вызывает хардварные инструкции процессора, которые внутри себя вполне вероятно те же ряды Маклорена считает микрокодом. То есть так или иначе ты придёшь к тому что выгоднее напрямую вызвать инструкцию процессора, нежели считать собственноручно.
>>40670
С такими вопросами в школьный курс математики. Аризона, Вест-Верджиния, Оклахома и Мэрилэнд.
456 1140672
>>40671
Окей, спасибо, пойду mathprofi почитаю, уже не помню ничего
457 1140706
>>40567
>>40550
>>40551
Видать, и правду говорят: утро вечера мудренее. Пораскинул мозгами и зациклил, как надо:
https://repl.it/repls/WiryImpressiveDesigner
458 1140716
>>40706
Бля, не пойму, как его заставить выводить ошибку при написании чего-то отличного от целого числа.
459 1140721
Привет, двач. Помоги совсем тупому. Решаю простейшие задачки и не могу решить эту: есть пять сумок, надо спросить вес каждой из них, и потом выдать количество сумок с весом больше 20 кг.
Подскажи, в каком направлении думать :(
460 1140725
>>40721
В сторону:
Спарашивал вес каждой сумки
Сохраняешь в массив
Фильтрует по условию > 20кг
461 1140726
>>40725
Вот так делают настоящие профи: print(sum(1 for _ in range(0, 5) if int(input()) > 20))
462 1140732
>>40726
>>40725
Благодарю, конечно, но все равно, на столько туп, что не понимаю, как запихнуть в массив =( Если что, вкатываюсь только второй день.
Как я понимаю, делаю пять инпутов, запрашиваю вес сумок, а дальше что? Как эти значения обозначить в коде? Задача не для цикла, а для if-else.
463 1140809
>>40732
Для таких как ты существует Лутц, его и читай
465 1140890
>>40726

>1 for _ in range(0, 5) if int(input()) > 20


Поясните как это работает. Почему выражение возвращает единицу только когда условие выполняется?
466 1140896
>>40726

> range(0, 5)


> 1 for _


> профи


print(sum(int(input()) > 20 for _ in range(5)))
Но вообще профи так не делают. Так делают только ради фана.
467 1140912
Братишки, я снова выхожу на связь, подскажите, как выполнять один метод внутри другого метода?

Код для примера:
https://ideone.com/mX8ttC

#В комментариях я написал, какой именно результат мне нужен
468 1140914
>>40912

>print(Test_1()) #Что писать сюда, чтобы получить return от Test_1?


self.Test_1(), Ватсон.
469 1140919
>>40912
попробуй думать о слове self, как о заменителе названия объекта. self = example
woaheasydude.jpg20 Кб, 500x365
470 1140922
>>40914
>>40919
Понял, спасибо.

>попробуй думать о слове self, как о заменителе названия объекта. self = example


И тут я такой пикрелейтед.
471 1140923
Посоны, расскажите, как запросы работают в aiohttp, вот отослал я асинхронное 10 get'ов, event loop, когда контекст ни чем не занят каждую секунду опрашивает функции на наличие результата? И как они принимают этот результат, если во время переключения контекста они "спят"
472 1140937
>>40923
Все асинхронные задания отправляются в ядро, затем приложение говорит: я хочу возобновить выполнение когда что-нибудь произойдёт на этом наборе заданий (вызывает select/epoll). Далее ядро занимается своими делами или другими приложениями, потом когда происходит эвент, передаёт управление твоему приложению со структурой куда записано где с каким заданием что произошло. Соответственно приложение/asyncio выполняет свои перекладывания по полкам пока снова не вызовет select/epoll и не уснёт.
473 1140941
Есть предложение заменить среду для скриптов ideone в шапке на https://repl.it/ Преимущества: отладка и интерактивный инпут. Возражения есть?
474 1140942
>>40941

>signup


>login

475 1140943
476 1140945
А.. можно просто язык выбрать и без регистрации. ок.
477 1140977
>>40890
Просто надо разбить выражение на четыре части.
1) range(0, 5) - генерация значений
2) for _ in <...> - получение и преобразование значений (в данном случае значение игнорируется)
3) if int(input()) > 20 - фильтрация (все значения не выполняющие проверку игнорируются, остальные идут дальше)
4) 1 - преобразование значений (в данном случае любое входное значение преобразуется в единицу)

Просто они расположенные в странном порядке.

На жаваскрипте этот же код можно переписать примерно вот так:
[0,1,2,3,4,5].map(_ => null).filter(Int(input()) > 20).map(_ => 1)
478 1140978
>>40977

> .filter(Int(input()) > 20)


.filter(_ =>Int(input()) > 20)
fix
479 1140985
>>40977

>в данном случае любое входное значение преобразуется в единицу


Но в этом удивительном примере False в единицу не преобразовывалось. Все в sum() считалось правильно.
480 1140987
>>40985
Оно фильтруется ифом. Т.е. до единицы даже не доходит, интерпретатор питона просто пропускает это значение.
481 1140997
>>40543

>Каким образом быстрее задрочить все эти питоновские штуки


fluent python
482 1141052
Шахматный король ходит по горизонтали, вертикали и диагонали, но только на 1 клетку. Даны две различные клетки шахматной доски, определите, может ли король попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести YES, если из первой клетки ходом короля можно попасть во вторую или NO в противном случае.

stb1 = int(input())
str1 = int(input())
stb2 = int(input())
str2 = int(input())
if (str1-str2 == 1) or (str2-str1 == 1) or (stb1-stb2 == 1) or (stb2-stb1 == 1):
print("YES")
elif (stb1-stb2 == 1 and str1-str2 == 1) or (stb2-stb1 == 1 and str2-str1 == 1):
print("YES")
else:
print("NO")

Cука. Решаю тесты на пичарм, только 2 неправильных. Вот их входные
1) 4 4 5 6
2) 4 3 2 2
Это нормально, что я на подобной хуйне по 2-3 дня сижу? Тема циклов сама понятна,а вот эти задачи не совсем получаются.
483 1141057
>>40884
Но ведь ты ничего не изменил.
484 1141059
>>41052
решаю тесты на питонтютор*
485 1141062
Братишки, у меня к вам ещё один идиотский вопрос.
Помогите разобраться и оптимизировать код:

Посмотреть его можно здесь:
https://ideone.com/AKurcT
Или здесь:
https://repl.it/repls/FrugalCompetentOctagons

Вопрос написал в комментариях. Надеюсь, будет понятно, что я имею ввиду.
486 1141066
>>41062
Странно, переделал и заработало:
https://repl.it/repls/TremendousYearlyProblem
Может я уже сам не помню, что я хотел сделать.
487 1141072
>>41066
Хотя, нет, ничего не заработало. Да, точно, не работает, как складывается, так и вычитается только 10, не переприсваивается значение таким методом.

Вопрос остаётся открытым.
488 1141118
>>41062
Ты а2 в любом случае не используешь нигде кроме вычисления. Поэтому и присваивать его свойству объекта (self.a2 = a2) не имеет смысла. https://repl.it/repls/ConcernedPoliteSolution
489 1141121
>>41066
Прокомментировал ошибку https://repl.it/repls/MeaslyLowestProtocol
490 1141130
Есть ли какой-нибудь модуль, чтобы изменить время внутри интерпретатора питона (для тестов), не меняя системного времени?
Вот все, что нашел по теме, но там как раз системное меняется - https://stackoverflow.com/questions/12081310/python-module-to-change-system-date-and-time
491 1141132
>>41130
Создай wrapper над стандартной функцией питона и везде вызывай свой враппер.
492 1141137
>>41132
Не годится. Что-нибудь менее костыльное?
493 1141152
>>41118

>https://repl.it/repls/ConcernedPoliteSolution


По ссылке приложился только мой старый код.
>>41121
Я понимаю, что не используется, я хочу узнать, как сделать, чтобы использовалось, только без повторения кусков кода.
494 1141159
>>41152

>https://repl.it/repls/ConcernedPoliteSolution


>По ссылке приложился только мой старый код.


Поправил содержание. Где ты там видишь повторяющийся код?
495 1141166
Анон, пытаюсь написать класс для работы с pyTelegramBotAPI.
В этой библиотеке используются декораторы. В примере вот так:
import telebot

bot = telebot.TeleBot(config.token)

@bot.message_handler(content_types=["text"])
def repeat_all_messages(message):
bot.send_message(message.chat.id, message.text)

Я решил замутить свой класс. В конструктор этого класса передаю токен, в конструкторе создаётся экземпляр бота, копирую в тело классо метод из примера выше и питон начинает ругаться на декоратор @bot.message_handler(bla-bla), дословно "name 'bot' is not defined'.
Как заставить эту хуйню работать?
496 1141168
>>41137
unittest.mock
Что значит костыльное? Заебали эти словечки везде вставлять. Оно либо сделано и работает/тестируется, либо нет. Костыли это затычки для заведомо хуёвой архитектуры, позволяющие сделать хоть как-нибудь, при этом известно что можно лучше и правильнее. А здесь как ты лучше сделаешь?
497 1141176
>>41159
То что нужно, спасибо.

>Где ты там видишь повторяющийся код?


Вот как раз 'self.a2 = a2' было лишним кодом.

А почему вот так не работает?
https://repl.it/repls/VioletredWiseBase
498 1141179
Можно ли строки использовать в условиях if (тип if answer == "продолжить") или только числа?
1345797102609.jpg27 Кб, 675x450
499 1141182
>>41176
Бросай попытки в погромирование, это не твоё.
kit2.jpg45 Кб, 538x348
500 1141185
>>41179
Можно не засерать тред вопросами которые очевидны любому кто хотя бы 100 страниц любого учебника по Пиздону прочитал?
Может хотя бы гуглить научишься, прежде чем учиться кодить?
501 1141193
>>41176
Уже сам вспомнил, что это - дефолтное значение.
502 1141206
ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ
ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ
ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ
ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ
https://2ch.hk/pr/res/1141205.html (М)
https://2ch.hk/pr/res/1141205.html (М)
https://2ch.hk/pr/res/1141205.html (М)
https://2ch.hk/pr/res/1141205.html (М)
503 1155181
>>41166

>bot


Где-нибудь внутри экземпляра класса есть эта переменная? хуярь сюда код класса, думай о областях видимости
Тред утонул или удален.
Это копия, сохраненная 31 марта 2018 года.

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

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