Python: Was macht _ ("str")?

8

Ich sehe das im Django Quellcode:

%Vor%

Was macht es? Ich versuche es in Python 3.1.3 und es schlägt fehl:

%Vor%

Kein Glück in 2.4.4:

%Vor%

Was ist hier los?

    
Nick Heiner 16.01.2011, 22:43
quelle

3 Antworten

16

Der Name _ ist ein gewöhnlicher Name wie jeder andere auch. Die Syntax _(x) ruft die Funktion _ mit dem Argument x auf. In diesem Fall wird es als Alias ​​für ugettext verwendet, das von Django definiert wird. Diese Funktion wird für die Übersetzung von Strings verwendet. Aus der Dokumentation :

  

Übersetzungszeichenfolgen angeben: Im Python-Code

     

Standardübersetzung

     

Geben Sie eine Übersetzungszeichenfolge mit der Funktion ugettext () an. Es ist Konvention, dies als ein kürzeres Alias ​​zu importieren, _, um Tipparbeit zu sparen.

Um _ in Ihrem eigenen Code zu verwenden, können Sie einen Import wie folgt verwenden:

%Vor%     
Mark Byers 16.01.2011, 22:47
quelle
1

Das Symbol% ​​co_de% ist nur ein Variablenname in Python, und in diesem Fall sieht es so aus, als ob es auf eine Funktion oder eine andere "Callable" verweist, die eine Zeichenfolge als Argument verwendet. Zum Beispiel

%Vor%     
Andrew Jaffe 16.01.2011 22:51
quelle
0

Es sollte beachtet werden, dass Sie keinen Alias ​​wählen können, wenn Sie wollen, dass "makemessages" die Strings erkennt.

    
Izz ad-Din Ruhulessin 29.08.2011 16:59
quelle

Tags und Links