Alias ​​eine Funktion in Python

8

Ich möchte eine Kopie der Funktion print , die debug heißt. Wie kann ich eine Funktion in Python umbenennen?

    
Randomblue 21.01.2013, 14:16
quelle

5 Antworten

17

Sie können einfach debug = print in Python 3 zuweisen.

In Python 2 print ist keine Funktion. Es gibt keine Möglichkeit, sich eine debug -Anweisung zu geben, die genauso funktioniert wie print ( print 1, , print 1 >> sys.stderr usw.). Am besten schreibst du einen Wrapper um die print -Anweisung:

%Vor%

Sie können auch die print -Anweisung deaktivieren und die Python 3-Version verwenden:

%Vor%

Wenn Sie dies tun, können Sie die Anweisungsversion ( print x ) nicht mehr verwenden. Es ist wahrscheinlich der Weg zu gehen, wenn Sie keinen alten Code brechen.

    
Pavel Anossov 21.01.2013, 14:18
quelle
5

In Python 2.x können Sie Folgendes tun:

%Vor%

In 3.x können Sie einfach die Zuweisung verwenden:

%Vor%     
Steve Mayne 21.01.2013 14:19
quelle
3

Sie können einfach eine neue Funktion debug like:

definieren %Vor%     
Andbdrew 21.01.2013 14:20
quelle
2

Das hängt von Ihrer Version von Python ab. In Python 3 können Sie das einfach tun:

%Vor%

Ältere Versionen betrachten jedoch print als ein eingebautes Schlüsselwort, also müssen Sie es in Ihre eigene Funktion einfügen:

%Vor%     
Weetu 21.01.2013 14:20
quelle
2

Die Methode def hat den Vorteil, dass die Rückverfolgung den Alias ​​deutlicher identifiziert. Dies könnte einem Benutzer helfen, der sagt: "Was ist ' print '?" wenn sie nur debug (das Alias) verwenden:

%Vor%     
jtpereyda 27.10.2015 21:16
quelle

Tags und Links