2013-11-28 4 views
1

Привет всем, как это видно из моего вопроса. Я как совершенно новый для python. Я так растерялся, когда я читаю документацию на питона или даже здесь на форуме StackOverflow ...Что означает подчеркивание в python

Почему они пишут, как этот

from __future__ import division 

Что означает подчеркивание вокруг будущего слово означает? ? И мы должны использовать его так же, как подчеркивание в интерпретаторе python? Это всего лишь один из примеров. Любая помощь будет очень полезна.

+1

Я предполагаю, что они использовали специальное соглашение об именах, чтобы избежать конфликтов. Не переусердствуйте. Вы должны использовать его точно так, как написано. – keyser

+1

Я собираюсь ответить на этот вопрос другим ответом: http://stackoverflow.com/a/3443428/1707253 – turnt

+0

Об этом было сказано ранее. http://stackoverflow.com/q/15090825/165103 –

ответ

3

В соответствии с PEP 236, где этот модуль был предложен, двойные подчеркивания делают его зарезервированным именем.

[5] This ensures that a future_statement run under a release prior to 
    the first one in which a given feature is known (but >= 2.1) will 
    raise a compile-time error rather than silently do a wrong thing. 
    If transported to a release prior to 2.1, a runtime error will be 
    raised because of the failure to import __future__ (no such module 
    existed in the standard distribution before the 2.1 release, and 
    the double underscores make it a reserved name). 
0

Имена, которые начинаются и заканчиваются с двойным подчеркиванием (как __foo__) в Python special names (большинство из них являются методы на объектах, __future__ случается модуль). Они являются особыми в том смысле, что Python придает им особое значение, и они зарезервированы для использования с этой целью.

Вы действительно должны написать их вот так.

Это отличается от имен только одним лидирующим двойным подчеркиванием, например __foo - эти имена подпадают под действие name mangling, которые могут использоваться для создания атрибутов класса.

Смежные вопросы