
Pavel
02.03.2017
10:38:36

Павел
02.03.2017
10:39:13

Dmitry
02.03.2017
10:44:12
как сделать все методы класса статическими?
перед каждым декоратор писать?

Google

Alexey
02.03.2017
11:07:34

Dmitry
02.03.2017
11:08:23
пытаюсь освоить mvc

melancholiac
02.03.2017
11:09:59

Dmitry
02.03.2017
11:20:08
есть класс, который описывает модель. В нем куча методов, которые получают те или иные данные с сервера. Чтобы использовать тот или иной метод нужно создать экземпляр класса. Как бы этого избежать?

Igor
02.03.2017
11:23:05
> те или иные данные с сервера
которые не относятся к инстансу модели? а зачем они тогда в этом классе в таком количестве? о_О

Pavel
02.03.2017
11:24:01
Можно вообще вывернуться,
>>> class Foo:
... def method(self, x):
... print(x)
...
>>>
>>> Foo.method(None, 123)
123

xelnod
02.03.2017
11:25:08

Pavel
02.03.2017
11:25:33
mother of god
а кто сказал, что без статических методов легко жить? ?

Alexey
02.03.2017
11:25:59

melancholiac
02.03.2017
11:26:23
mother of god
holy mother of god
не оскорбляй мои чувства верующего

Pavel
02.03.2017
11:26:27

Alexey
02.03.2017
11:26:37
init

Google

Pavel
02.03.2017
11:26:49
он тут не будет вызываться.
>>> class Foo:
... def __init__(self):
... print('Init!')
... def method(self, x):
... print(x)
...
>>> Foo.method(None, 123)
123
>>>

xelnod
02.03.2017
11:27:47

Alexey
02.03.2017
11:28:43

melancholiac
02.03.2017
11:29:23

Pavel
02.03.2017
11:29:38

melancholiac
02.03.2017
11:29:38
ударение на 2 слог
бтв хватит писать классы хештег

xelnod
02.03.2017
11:30:49
напомнило стиль, позволяющий избежать эскейпа кавычек в строках:
>>> bad = 'It was Peter'"'"'s fault...'
>>> print(bad)
It was Peter's fault...
>>> bad = "Sure, you are so "'"'"clever"'"'"..."
>>> print(bad)
Sure, you are so "clever"...
>>>

Alexey
02.03.2017
11:31:04

Pavel
02.03.2017
11:31:53

Alexey
02.03.2017
11:32:18
понял, спасибо

Pavel
02.03.2017
11:33:50
И для тех методов, которые почему-то сунунты внутрь класса, но которым не нужен экземпляр класса, придумали декоратор @staticmethod, который позволяет вызывать и так, и так:
>>> class Foo:
... @staticmethod
... def bar(x):
... return x*2
...
>>> Foo.bar(4)
8
>>> f=Foo()
>>> f.bar(5)
10

Ilgiz
02.03.2017
11:35:32

Alexey
02.03.2017
11:45:24
видимо правильно
>>> class A():
... a = 33
... @staticmethod
... def test():
... try:
... print(f'try {a}')
... except:
... print(f'exception {A.a}')
...
>>> A.test()
exception 33
>>>

Pavel
02.03.2017
11:58:12

Alexey
02.03.2017
12:00:12
спасибо!

Johnnie
02.03.2017
12:01:38
https://gist.github.com/Zagrebelin/8fb511d55d3624542042e025ea8ec8cd о чо нашел у Паши, знакомая задача))

xelnod
02.03.2017
12:02:32
ух ты, f-strings

Google

Сергей
02.03.2017
12:04:46
ребята, привет. А Sublime не научился отрабатывать input()?
может есть костыли какие?

Igor
02.03.2017
12:18:10
что ты подразумевааешь под "научлися отрабатывать input()"?
в консоли build runner'a? нет, не научился и вряд ли когда-либо научится

Pavel
02.03.2017
12:20:31
я видел феноменальный костыль, когда в коде в комментариях пишется, что должно приходить на вход, и какой-то плагин как-то подпихивает содержимое комментария.

Igor
02.03.2017
12:21:50
еще есть REPLы, но это токое.
я бы обычным терминалом пользовался, короче

Сергей
02.03.2017
12:25:07

Igor
02.03.2017
12:32:37
ну чтобы при запуске кода он работал и не выдавал ошибок
я и спрашиваю, ты через систему buildов саблаймовскую запускаешь или как.
если через нее - то нет, так не получится.
если очень-очень-очень хочется запускать из саблайма - я б хотя бы сделал такую build system, которая открывала бы терминал и выполняла указанный файл в питоньем интерпретаторе просто.
если очень-очень-очень хочется интерактивно работать со скриптом в пределах саблайма - я б посмотрел в сторону REPL (SublimeREPL, Glue, я хуй знает, не разбираюсь в них), и то, далеко не факт, что они это поддерживают, потому что такое реализовать в пределах системы плагинов саблайма - очень и очень черезжопно.

Сергей
02.03.2017
12:33:39
понял.спасибо

Павел
02.03.2017
13:17:12
Хм, забавно. Когда читаешь файлик csv - он их приводит к идиотскому виду: все слова первая заглавная, остальные строчные. А в хеше пароля ваще ад
['user.name', 'Gusev']
['user.host', '10.%']
['user.password', '*F49E6Fde8E055B4Ab043Dfe31Bc4A02C5C4Fcb38']
['user.priv', 'Kvcgeo.*:All']
это чо он творит то?
В оригинале файл такой
user.name gusev
user.host 10.%
user.password *F49E6FDE8E055A4BB043DFE31BC4A02C5C4FCB38
user.priv kvcgeo.*:ALL

Maksym
02.03.2017
13:18:57
2.7, асинхронность нужна. многопоточность
посоветуйте чо, плз

xelnod
02.03.2017
13:19:18
сейчас тебе посоветуют 3.6

Maksym
02.03.2017
13:19:24
НЕТ
ну что, 2.7, не?

Igor
02.03.2017
13:21:12
celery

Даниил
02.03.2017
13:21:19
twisted если асинхронность
А так юзай 3.5 или 3.6, и не морочь себе голову

Maksym
02.03.2017
13:22:12
я уже половину ямы выкопал на 2.7
такое

Google

Maksym
02.03.2017
13:22:30
а там нативно чтоле?
так и знал, что все этим закончится. все тлен

xelnod
02.03.2017
13:24:09

Даниил
02.03.2017
13:24:34
я видел
а почему бы и нет?
большую часть обычного кода можно портировать под 3.6
ну вообще под python 3

Admin
ERROR: S client not available

Maksym
02.03.2017
13:26:23
ну терь мне надо все портировать, а я не хочу тратить на это время. к тому же, я получаю массив, который потом надо проанализировать всякими широкоизвестными нупаями и сайпаями и я не знаю как они в третьем пайтоне себя чувствуют
я вообще мало что знаю, только потрындеть гаразд
пойду поработаю

Даниил
02.03.2017
13:27:35
так же хорошо
https://www.scipy.org/scipylib/faq.html#do-numpy-and-scipy-support-python-3-x
NumPy and SciPy support the Python 2.x series, (versions 2.6 and 2.7), as well as Python 3.2 and newer. The first release of NumPy to support Python 3 was NumPy 1.5.0. Python 3 support in SciPy starts with version 0.9.0.

Maksym
02.03.2017
13:28:05
мга
грац
проставить третий пайтон на тачку и заранить код инаф для проверки апгрейда? может конфиги какие надо подкрутить?

Павел
02.03.2017
13:30:20
А, я разобрался, блядский копипаст.

Maksym
02.03.2017
13:33:25
лан, курю. спасибо
почитал, что можно поставить рядом пайтон 2 и пайтон 3. ну это как-то так себе. кто подскажет как правильно выпилить пайтон 2 и поставить пайтон 3?

Google

Ivan
02.03.2017
13:42:27
Это где рядом версии не уживаются? В винде?

Maksym
02.03.2017
13:44:57
не утверждаю, что не уживаются. я в принципе хочу избежать этого. почему? просто потому, что не знаю как вызывающий код знает какую версию использовать и как это настроить

Ivan
02.03.2017
13:46:54
virtualenv юзай, полезный опыт, даже если оно тебе сейчас не нужно

Maksym
02.03.2017
13:51:55
спасибо, читаю

Igor
02.03.2017
13:55:14
virtualenv в случае с несколькими версиями самого интерпретатора ему никак не поможет
но пускай все равно читает, да :)

Лилиана
02.03.2017
13:56:11
Всем привет. Помогите новичку с минимальной базой. Как создать список из элементов вводимых с клавиатуры через энтер

I
02.03.2017
13:57:31
а ты на аватарке справа или слева?

Igor
02.03.2017
13:57:34
создаешь бесконечный цикл
в нем запрашиваешь у пользователя значение одного элемента
когда он нажимает энтер, это значение добавляется в список
чтобы дать пользователю возможность выйти из бесконечного цикла (сказать "я всё, не хочу больше добавлять элементы"), надо сделать проверку, что пользователь ввел например "-"

I
02.03.2017
13:58:03
:D дык в офисе клеятся

Igor
02.03.2017
13:58:04
=Ъ

I
02.03.2017
13:58:17
сейчас только HRы)
просто запоминать в переменную предыдущее значение

Igor
02.03.2017
13:59:21
можно просто нажать энтер, без "два раза"
и запоминать ниче не надо

Roman
02.03.2017
13:59:36
насколько нужно быть отчаянной девушкой, чтобы клеится в офисе

Igor
02.03.2017
13:59:40
а если и запоминать, то не в переменную, а в тот же список (который потом один хрен пригодится)
Эта группа больше не существует