emacs: как отключить относительный отступ [дубликат]

Причина, по которой вам нужно использовать self., заключается в том, что Python не использует синтаксис @ для ссылки на атрибуты экземпляра. Python решил делать методы таким образом, чтобы автоматически использовать экземпляр, к которому принадлежит этот метод, , переданный , но не получен : первым параметром методов является экземпляр метода вызывается. Это делает методы полностью такими же, как и функции, и оставляет фактическое имя для использования до вас (хотя self является конвенцией, и люди обычно будут хмуриться вам, когда вы используете что-то другое.) self не является особым для код, это просто еще один объект.

Python мог бы сделать что-то еще, чтобы отличить нормальные имена от атрибутов - специальный синтаксис, например Ruby, или требовать объявления, подобные C ++ и Java, или, возможно, что-то еще более отличающееся - - но это не так. Python все для того, чтобы сделать вещи явными, делая это очевидным, что к чему, и хотя он не делает это целиком повсюду, он делает это, например, атрибуты. Вот почему назначение атрибуту экземпляра должно знать, какой экземпляр присваивается, и поэтому ему нужно self..

2
задан Jules 24 September 2013 в 00:57
поделиться

2 ответа

2
ответ дан Stefan 31 August 2018 в 16:07
поделиться

Установите переменную indent-tabs-mode. Вы можете сделать это, настроив переменную с M-x customize-variable, на лету с помощью M-x set-variable или в Elisp с функцией setq.

1
ответ дан ajk 31 August 2018 в 16:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: