Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Python-Dekoratoren verwenden, um Funktionen fett und kursiv zu formatieren, Zeitstempel hinzuzufügen und Methodenergebnisse groß zu schreiben?

Wie kann ich Python-Dekoratoren verwenden, um Funktionen fett und kursiv zu formatieren, Zeitstempel hinzuzufügen und Methodenergebnisse groß zu schreiben?

DDD
Freigeben: 2024-12-24 16:33:17
Original
487 Leute haben es durchsucht

How Can I Use Python Decorators to Make Functions Bold and Italic, Add Timestamps, and Capitalize Method Results?

Funktionen mithilfe von Dekoratoren fett und kursiv formatieren

Dekoratoren sind pythonische Funktionen, die andere Funktionen verbessern. Wir erstellen zwei Dekoratoren, @make_bold und @make_italic, um Text fett und kursiv zu formatieren. So geht's:

</p>
<h1>Decorator, um Text fett zu machen</h1>
<p>def make_bold(func):</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">def wrapper():
    return "<b>" + func() + "</b>"  # Surround the result with bold tags
return wrapper
Nach dem Login kopieren

Decorator, um Text kursiv zu machen

def make_italic(func):

def wrapper():
    return "<i>" + func() + "</i>"  # Surround the result with italic tags
return wrapper
Nach dem Login kopieren

@make_bold
@make_italic
def say():

return "Hello"
Nach dem Login kopieren

print(say()) # Ausgabe: "Hallo"

Funktionen mit Argumenten dekorieren

Sie können auch Dekoratoren erstellen, die Argumente akzeptieren. Erstellen wir zum Beispiel einen Dekorator, der dem Ergebnis einen Zeitstempel hinzufügt:

<br>Importzeit</p>
<h1>Dekorator zum Hinzufügen eines Zeitstempels zu einer Funktion</h1>
<p> def add_timestamp(func):</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">def wrapper(*args, **kwargs):
    timestamp = time.ctime()  # Get the current time
    return f"{timestamp}: {func(*args, **kwargs)}"  # Prepend the timestamp to the call
return wrapper
Nach dem Login kopieren

@add_timestamp
def meet(name):

return f"Hello, {name}!"
Nach dem Login kopieren

print(greet("John")) # Ausgabe: "2023-01 -01 12:00:00: Hallo, John!"

Dekoratoren für Methoden

Dekoratoren arbeiten nicht nur für Funktionen, sondern auch für Methoden. So dekorieren Sie eine Methode:

<br>class User:</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">def __init__(self, name):
    self.name = name
Nach dem Login kopieren

Decorator zur Großschreibung von Benutzernamen

def captialize_name(method):

def wrapper(self):
    return method(self).capitalize()  # Capitalize the result
return wrapper
Nach dem Login kopieren

@capitalize_name
def get_name(self):

return self.name
Nach dem Login kopieren

user = User("john")
print(user.get_name()) # Ausgabe: "John"

Best Practices

Das obige ist der detaillierte Inhalt vonWie kann ich Python-Dekoratoren verwenden, um Funktionen fett und kursiv zu formatieren, Zeitstempel hinzuzufügen und Methodenergebnisse groß zu schreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Vorheriger Artikel:Wie liste ich mit Python nur Dateien in einem Verzeichnis auf? Nächster Artikel:Wie kann der Pygame-Fehler „Ressourcendatei konnte nicht geöffnet werden, FileNotFoundError“ behoben werden?
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Aktuelle Ausgaben
verwandte Themen
Mehr>
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage