데코레이터는 다른 기능을 향상시키는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!