@ru_python

Страница 3171 из 9768
Nikolay
11.07.2017
22:26:36
правда, это мало поможет

Oleg
11.07.2017
22:26:58
я могу брать переменную

Artem
11.07.2017
22:27:00
>>> class real_pr(): ... def __init__(self): ... x = 0 ... def incr_x(): ... nonlocal x ... x += 1 ... def decr_x(): ... nonlocal x ... x -= 1 ... def get_x(): ... nonlocal x ... return x ... self.incr_x = incr_x ... self.decr_x = decr_x ... self.get_x = get_x ... >>> p = real_pr() >>> p.get_x() 0 >>> p.incr_x() >>> p.get_x() 1 >>>

Oleg
11.07.2017
22:27:56
оо, вот это я хотел

Google
Oleg
11.07.2017
22:27:58
красиво

Artem
11.07.2017
22:27:59
>>> dir(p) ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', ' __init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr __', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'decr_x', 'get_x', 'incr_x']

Oleg
11.07.2017
22:28:00
спасибо)

доходчиво

а приватный метод?

если объявлю в ините, то потеряю его в скопе другого метода? # если не определю его у объекта

Artem
11.07.2017
22:31:42
ну все другие методы тебе тоже придется создавать в ините и явно присваивать

Oleg
11.07.2017
22:31:59
а

понял

Artem
11.07.2017
22:32:06
которые используют приватный метод, сделанный как локальный метод в ините

Oleg
11.07.2017
22:32:19
т.е. все объявление класса будет в ините?

Artem
11.07.2017
22:32:31
например да

понятно, что никакого ограничения на то, что это именно инит, нет

Google
Oleg
11.07.2017
22:33:04
ну да

Artem
11.07.2017
22:38:44
дичь
зато инкапсуляция

Nikolay
11.07.2017
22:42:29
http://blog.sujeet.me/2012/10/python-tinkering-a-decorator-to-implement-private-methods-I.html

на что только народ не идет ради приватных методов

Denis
11.07.2017
22:52:27
Табы у тебя вместо пробелов

И строки длинные

И пробелов нет

Artem
11.07.2017
22:55:59
http://blog.sujeet.me/2012/10/python-tinkering-a-decorator-to-implement-private-methods-I.html
mock.patch, сказали суровые сибирские мужики

или просто инспект сломать

Jeka
11.07.2017
22:56:43
этот pylint можно удалить?

vs code linux

Artem
11.07.2017
22:57:05
этот pylint можно удалить?
да, просто поправь все ошибки

Jeka
11.07.2017
22:57:26
Artem
11.07.2017
22:57:41
все реально

Nikolay
11.07.2017
22:58:28
это нереально
это довольно легко, заодно научишься правильно писать код

Jeka
11.07.2017
22:58:30
вот ща например на русский ругается, но он ж мне нужен

Nikolay
11.07.2017
22:59:05
вот ща например на русский ругается, но он ж мне нужен
просто так на русский ничего не ругается

у тебя питон хотя бы третий?

Jeka
11.07.2017
23:00:00
канеш

Google
Nikolay
11.07.2017
23:00:21
ну тем более тогда не должно на русский ругаться

Jeka
11.07.2017
23:00:56
ну например вот на рус ругается text = '<a href="'+url+'">'+'сезон '+str(s)+' серия '+str(p)+'</a>'

Denis
11.07.2017
23:01:02
В начале файла стоит coding utf8?

Nikolay
11.07.2017
23:01:12
как ругается?

В начале файла стоит coding utf8?
в третьем питоне это не влияет

BlackAndOrange
11.07.2017
23:01:52
Трейсбек в студию

/report

Jeka
11.07.2017
23:05:20
в третьем питоне это не влияет
оказц влияет, на 3 проблемы меньше

Nikolay
11.07.2017
23:05:39
ибо в третьем питоне кодировка всегда по дефолту считается utf-8 и явно указывать это не надо

Jeka
11.07.2017
23:06:47
лол, орнул. теперь на coding utf-8 ругается

BlackAndOrange
11.07.2017
23:06:51
Или ты запускаешь через второй случайно

BlackAndOrange
11.07.2017
23:06:55
Потому что вообще-то не влияет

лол, орнул. теперь на coding utf-8 ругается
Coding utf-8 это вообще к о м м е н т а р и й, на него нельзя ругаться

Jeka
11.07.2017
23:07:29
но он ругается

BlackAndOrange
11.07.2017
23:07:33
Трейсбек в студию, туда же print(sys.version)

Jeka
11.07.2017
23:07:34
ща

Denis
11.07.2017
23:10:49
Докстринг напиши

Jeka
11.07.2017
23:11:16
а по русски

BlackAndOrange
11.07.2017
23:11:34
Это вообще не ошибка

Google
BlackAndOrange
11.07.2017
23:11:39
Это pylint ругается на качество кода

Denis
11.07.2017
23:12:06
Можно конкретно эту заигнорить

Наверно

Jeka
11.07.2017
23:18:42
лан, удалил pylinter

молод я еще для неговнокода

Denis
11.07.2017
23:19:51
Эх, зря

Jeka
11.07.2017
23:21:25
да и код онли для меня, и читаемый )))

Admin
ERROR: S client not available

Denis
11.07.2017
23:21:57
Привыкнешь говнокодить, потом на работу не возьмут

Nikolay
11.07.2017
23:23:24
лан, удалил pylinter
верни на место и не выпендривайся)

Хорошо пошутил
если б это была шутка

а vars()?
а что с ним? он просто __dict__ возвращает

Lucky
11.07.2017
23:24:26
Может попадётся контора с извращенским стайлгайдом

Nikolay
11.07.2017
23:24:36
Lucky
11.07.2017
23:25:03
И то верно

melancholiac
11.07.2017
23:25:19
а что с ним? он просто __dict__ возвращает
и не вернет переменные скоупа внешней функции?

Tigran
11.07.2017
23:25:26
атмосфера стартапа, все дела

Google
Nikolay
11.07.2017
23:25:50
и не вернет переменные скоупа внешней функции?
он вернет либо то же, что locals(), либо __dict__ того объекта, который ты ему передашь

melancholiac
11.07.2017
23:26:25
хм, выходит это реальный метод защиты и удержания скрытого состояния?

в отличии от __приватных_методов_и_переменных

Artem
11.07.2017
23:35:32
хм, выходит это реальный метод защиты и удержания скрытого состояния?
в языке с хорошей интроспекцией сложно придумать реальный метод защиты

>>> p.get_x.__closure__[0].cell_contents 1

Denis
11.07.2017
23:35:46
А поменять?

Oleg
11.07.2017
23:37:13
__closure__ обнулить?

Думаю это повлечет косяки в работе питона, не?

Denis
11.07.2017
23:37:43
__closure__ обнулить?
Таки рид онли

Artem
11.07.2017
23:37:57
поменять сложнее

Denis
11.07.2017
23:38:07
Надо с дескрипторами ебаться, кажется

Oleg
11.07.2017
23:38:21
аа, в этом смысле поменять)

BlackAndOrange
11.07.2017
23:48:44
В Питоне почти всё можно поменять, на самом деле

Наверное, вообще всё, если постараться

Кроме встроенных имён

Не всех

Aleksandr
11.07.2017
23:50:14
Кроме встроенных имён
ключевых слов наверное?

BlackAndOrange
11.07.2017
23:51:03
Встроенных имён тоже Попробуй сделать list.x = 1

Или хотя бы list.__getattr__ = ...

Страница 3171 из 9768