Maison > développement back-end > Tutoriel Python > Comment puis-je utiliser les décorateurs Python pour rendre les fonctions en gras et en italique, ajouter des horodatages et capitaliser les résultats des méthodes ?

Comment puis-je utiliser les décorateurs Python pour rendre les fonctions en gras et en italique, ajouter des horodatages et capitaliser les résultats des méthodes ?

DDD
Libérer: 2024-12-24 16:33:17
original
484 Les gens l'ont consulté

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

Rendre les fonctions en gras et en italique à l'aide de décorateurs

Les décorateurs sont des fonctions pythoniques qui améliorent d'autres fonctions. Nous allons créer deux décorateurs, @make_bold et @make_italic, pour formater le texte en gras et en italique. Voici comment :

</p>
<h1>Décorateur pour mettre le texte en gras</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
Copier après la connexion

Décorateur pour mettre le texte en italique

déf make_italic(func):

def wrapper():
    return "<i>" + func() + "</i>"  # Surround the result with italic tags
return wrapper
Copier après la connexion

@make_bold
@make_italic
def say():

return "Hello"
Copier après la connexion

print(say()) # Sortie : "Bonjour"

Fonctions de décoration avec des arguments

Vous pouvez également créer des décorateurs qui acceptent des arguments. Par exemple, créons un décorateur qui ajoute un horodatage au résultat :

<br>importer l'heure</p>
<h1>Décorateur pour ajouter un horodatage à une fonction</h1>
<p> déf 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
Copier après la connexion

@add_timestamp
def greet(name):

return f"Hello, {name}!"
Copier après la connexion

print(greet("John")) # Sortie : "2023-01 -01 12:00:00 : Bonjour, John!"

Décorateurs pour les méthodes

Les décorateurs travaillent non seulement pour les fonctions mais aussi pour les méthodes. Voici comment décorer une méthode :

<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
Copier après la connexion

Décorateur pour mettre en majuscule les noms d'utilisateur

def capitalize_name(method) :

def wrapper(self):
    return method(self).capitalize()  # Capitalize the result
return wrapper
Copier après la connexion

@capitalize_name
def get_name(self):

return self.name
Copier après la connexion

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

Bonnes pratiques

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Article précédent:Comment répertorier uniquement les fichiers d'un répertoire à l'aide de Python ? Article suivant:Comment corriger l'erreur « Impossible d'ouvrir le fichier de ressources, FileNotFoundError » de Pygame ?
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Derniers numéros
Rubriques connexes
Plus>
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal