Конвертировать функцию в класс Python - PullRequest
0 голосов
/ 21 апреля 2019

У меня есть некоторые проблемы с классами в 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}"}

Редактировать: Извините, что была опечатка в "Пока!" Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...