
Kate
27.06.2017
15:06:26

Olga
27.06.2017
15:06:35
если ты хочешь узнать какие есть методы у объекта, то есть dir

тнн Itjunky
27.06.2017
15:06:59
терминале
терминал это то в чём запускается шелл

Kate
27.06.2017
15:07:00

Google

Nikolay
27.06.2017
15:07:02

Kate
27.06.2017
15:07:34

Anton
27.06.2017
15:07:58

тнн Itjunky
27.06.2017
15:08:05
А шелл, это то что принимает твои командочки

Nikolay
27.06.2017
15:09:02
Нельзя ставить атрибуты объектам функции. Это сайдэффект.
Закроем тему

ilya
27.06.2017
15:09:12

тнн Itjunky
27.06.2017
15:09:26
Есть убогий стандартный питоновый интерпретатор, который ничего не умеет, кроме тупого запуска. А есть более продвинутый ipython, который умеет всякие удобности, типа автодополнения методов у любого объекта.

Anton
27.06.2017
15:09:30

Kate
27.06.2017
15:11:07

тнн Itjunky
27.06.2017
15:11:36

Kate
27.06.2017
15:12:50

Google

тнн Itjunky
27.06.2017
15:13:07
да нет никакого IDE на сервере!!!

Kate
27.06.2017
15:15:27

тнн Itjunky
27.06.2017
15:16:06
Если что, то у сервчера есть SSH и так называемый терминал =)

Шевченко
27.06.2017
15:18:24
О чем спор между, товарищи?)

Роман
27.06.2017
15:18:40
ммм, меня тоже притянул запах срача

Шевченко
27.06.2017
15:19:14
Сейчас узнаем

Kate
27.06.2017
15:20:15

тнн Itjunky
27.06.2017
15:24:07
Эээм, это типа продвинутый pdb с фичами ipython? Тогда видимо оно тоже может подойти

ultranoise ?
27.06.2017
15:25:47
ipdb очень крутой
только им и дебажу

Nikolay
27.06.2017
15:31:38
Сейчас узнаем
Человек утверждает, что выставлять атрибуты объектам функций в декораторах - нормальная практика
Мы его пинаем

James Moriarty
27.06.2017
15:34:59
Друзья товарищи, вопрос на сон грядущий, позволите?)

Шевченко
27.06.2017
15:36:17
Конечно

James Moriarty
27.06.2017
15:36:25
Имел неосторожность установить анаконду... теперь модули вне ipython вообще не видит система... есть какое-нибудь решение без боли?

Nikolay
27.06.2017
15:37:38

Roman
27.06.2017
15:37:41
path пропиши

Google

James Moriarty
27.06.2017
15:37:56
До модуля?

Nikolay
27.06.2017
15:38:16
До бинарника ipython

James Moriarty
27.06.2017
15:38:18
Или она мне потёрла path с питоном?

Nikolay
27.06.2017
15:38:30
Точнее, до папки, где он лежит

James Moriarty
27.06.2017
15:39:00

Anton
27.06.2017
15:39:27

James Moriarty
27.06.2017
15:39:43

Nikolay
27.06.2017
15:40:01
Я тоже хочу

Anton
27.06.2017
15:40:15
ван россум который

Nikolay
27.06.2017
15:40:22

Nikolay
27.06.2017
15:40:28
У него все норм

Anton
27.06.2017
15:40:30
чо не то?

Nikolay
27.06.2017
15:41:01
То есть ты не просто атрибут выставляешь, а ещё и приватный

Anton
27.06.2017
15:41:11

Nikolay
27.06.2017
15:41:12
За такое вообще выгоняют из профессии

ilya
27.06.2017
15:41:34
а за что в профессию загоняют?))

Anton
27.06.2017
15:41:35

Google

Ignalion
27.06.2017
15:41:49

Anton
27.06.2017
15:42:12
За такое вообще выгоняют из профессии
def abstractmethod(funcobj):
"""A decorator indicating abstract methods.
Requires that the metaclass is ABCMeta or derived from it. A
class that has a metaclass derived from ABCMeta cannot be
instantiated unless all of its abstract methods are overridden.
The abstract methods can be called using any of the normal
'super' call mechanisms.
Usage:
class C(metaclass=ABCMeta):
@abstractmethod
def my_abstract_method(self, ...):
...
"""
funcobj.__isabstractmethod__ = True
return funcobj

Nikolay
27.06.2017
15:42:28

Anton
27.06.2017
15:43:02
или тру в исходники питона не смотрят?

Nikolay
27.06.2017
15:44:44

Anton
27.06.2017
15:45:08

Admin
ERROR: S client not available

Nikolay
27.06.2017
15:45:16
но это не значит, что в продакшен-коде надо писать так, как в хаках в исходниках питона

Anton
27.06.2017
15:45:34

Nikolay
27.06.2017
15:45:37
нету никакой логики в добавлении атрибутов функциям, ну нету
только подводные камни и выстрелы в ногу

Anton
27.06.2017
15:46:02

Nikolay
27.06.2017
15:46:27
чтобы не решили, что я необъективен, я даже сделаю за тебя твою работу и приведу пример, когда это можно делать

Anton
27.06.2017
15:46:49

Nikolay
27.06.2017
15:46:51
это когда мы имеем дело не с функцией питона, а с объектом, имеющим интерфейс вызова
я говорил, что в продакшен-коде за такое надо бить ногами

Anton
27.06.2017
15:48:00

Google

Anton
27.06.2017
15:48:26

Nikolay
27.06.2017
15:48:32

Роман
27.06.2017
15:48:37

Anton
27.06.2017
15:48:42
или в нем есть указание not for production use?

Nikolay
27.06.2017
15:48:57

Anton
27.06.2017
15:49:27

Nikolay
27.06.2017
15:49:28
или ты контрибьютил в него?
еще раз, если ты не понял, я не говрю, что так всегда надо писать, я говорю, что так можно писать, если это делает интерфесы и поддержку кода удобнее
а я говорю, что так можно писать только в проектах, которые ты никому никогда не покажешь, или только до тех пор, пока ты только учишь питон и не знаешь, как обойтись без такой грязи

Anton
27.06.2017
15:50:24
или ты контрибьютил в него?
все твои аргументы сводятся к тому, что "так делать нельзя", я привел пример тебе пепа, исходников питона, а ты все за свое

Nikolay
27.06.2017
15:51:15

Anton
27.06.2017
15:52:16

Nikolay
27.06.2017
15:52:50
Дёшево же

Anton
27.06.2017
15:52:58
дешевым с точки зрения поддержки и входа новых пользователей

Nikolay
27.06.2017
15:53:31
И дорогим с точки зрения поддержки и обслуживания этого кода в перспективе

Anton
27.06.2017
15:53:34