У меня есть некоторые проблемы с классами в Python, потому что я нуждаюсь в рефакторинге некоторого кода.
Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно провести рефакторинг нескольких похожих скриптов, поэтому я решил использовать классы Python, но у меня есть следующий вопрос
Скажем, у нас есть два аналогичных кода, требующих рефакторинга:
name = "Peter"
print(f"Bye! {name}"}
name.replace("e", "a")
print(f"Bye! {name} **replaced**"}
name = "Lisa"
print(f"Hi! {name}"}
name.replace("e", "a")
print(f"Hi! {name}"}
Итак, класс Python:
class Greetings(object):
def __init__(self):
self.name = name
def say_hi_and_replace(self, name):
if name == "Lisa":
print(f"Hi! {name}"}
else:
print(f"Hi! {name}"}
self.name = self.name.replace("e", "a")
def say_goodbye(self, name):
if name == "Lisa":
print(f"Bye! {name}"}
else:
print(f"Bye! {name} **replaced**"}
Есть ли лучший способ написать этот код? Я уверен, что есть.
Редактировать: Помимо использования троичных операторов, как правильно предложил Клауд.
def say_goodbye(self, name):
print(f"Bye! {name}"} if name == "Lisa" else print(f"Bye! {name}"}
Редактировать: Извините, что была опечатка в "Пока!"
Заранее спасибо.