> 백엔드 개발 > 파이썬 튜토리얼 > Python 데코레이터를 사용하여 함수를 굵게 및 기울임꼴로 만들고, 타임스탬프를 추가하고, 메서드 결과를 대문자로 표시하려면 어떻게 해야 합니까?

Python 데코레이터를 사용하여 함수를 굵게 및 기울임꼴로 만들고, 타임스탬프를 추가하고, 메서드 결과를 대문자로 표시하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-12-24 16:33:17
원래의
487명이 탐색했습니다.

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

데코레이터를 사용하여 함수를 굵게 및 기울임꼴로 만들기

데코레이터는 다른 기능을 향상시키는 Python 함수입니다. 텍스트를 굵은꼴과 기울임꼴로 서식 지정하기 위해 @make_bold 및 @make_italic이라는 두 개의 데코레이터를 만듭니다. 방법은 다음과 같습니다.

</p>
<h1>텍스트를 굵게 만드는 데코레이터</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
로그인 후 복사

텍스트를 기울임꼴로 만드는 데코레이터

데프 make_italic(func):

def wrapper():
    return "<i>" + func() + "</i>"  # Surround the result with italic tags
return wrapper
로그인 후 복사

@make_bold
@make_italic
def say():

return "Hello"
로그인 후 복사

print(say()) # 출력: "안녕하세요"

인수로 함수 꾸미기

인수를 받는 데코레이터를 만들 수도 있습니다. 예를 들어, 결과에 타임스탬프를 추가하는 데코레이터를 만들어 보겠습니다.

<br>가져오기 시간</p>
<h1>함수에 타임스탬프를 추가하는 데코레이터</h1>
<p> 데프 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
로그인 후 복사

@add_timestamp
def Greeting(name):

return f"Hello, {name}!"
로그인 후 복사

print(greet("John")) # 출력: "2023-01 -01 12:00:00: 안녕하세요. John!"

메서드 데코레이터

데코레이터는 함수뿐만 아니라 메소드에도 작동합니다. 메소드를 장식하는 방법은 다음과 같습니다.

<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
로그인 후 복사

사용자 이름을 대문자로 표시하는 데코레이터

def capitalize_name(method):

def wrapper(self):
    return method(self).capitalize()  # Capitalize the result
return wrapper
로그인 후 복사

@capitalize_name
def get_name(self):

return self.name
로그인 후 복사

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

모범 사례

위 내용은 Python 데코레이터를 사용하여 함수를 굵게 및 기울임꼴로 만들고, 타임스탬프를 추가하고, 메서드 결과를 대문자로 표시하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
이전 기사:Python을 사용하여 디렉터리의 파일만 나열하는 방법은 무엇입니까? 다음 기사:파이게임의 "리소스 파일을 열 수 없습니다. FileNotFoundError" 오류를 수정하는 방법은 무엇입니까?
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
최신 이슈
관련 주제
더>
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿