wie __future__ für das Keyword-only-Argument von Python 3.0 importiert wird?

7

Der folgende Code in python2.6 löst Syntaxfehler

aus %Vor%

aber diese Syntax ist in python3.0 gültig. Ich würde gerne wissen, was ich in meinen Dolmetscher importieren soll, damit es funktioniert. dh. from import __future__ ????

zum Importieren von print function von 3.0 würde ich from __future__ import print_function

machen

Ähnlich ist diese Definition in 2.6 ungültig.

%Vor%

solange es in 3.0 legal ist

    
brain storm 30.10.2013, 18:01
quelle

3 Antworten

18

Diese Funktion des Python 3-Compilers wurde nicht in Python 2.x zurückportiert.

Es gibt keinen magischen from __future__ import -Schalter, um es zu aktivieren, Ihre einzige Option ist ein Upgrade auf Python 3.x.

Ihre zweite Funktion könnte stattdessen wie folgt definiert werden:

%Vor%

ist Python 2-kompatibel.

    
Martijn Pieters 30.10.2013, 18:02
quelle
5

Die neue Syntax wird in PEP 3102 diskutiert und ist in Python 2.x in der Tat nicht gültig .

Sie können die Schlüsselwortargumente jedoch manuell von **kwargs erhalten:

%Vor%

Die andere Alternative ist ein Upgrade auf Python 3.x.

    
Simeon Visser 30.10.2013 18:07
quelle
1

Eine weitere Möglichkeit, Schlüsselwort-Nur-Argumente zu emulieren, ist:

%Vor%

Wenn Sie sicherstellen möchten, dass keine nicht angeforderten Argumente übergeben werden, können Sie stattdessen pop verwenden:

%Vor%     
skyking 03.02.2016 09:27
quelle