首页 > 解决方案 > 将函数转换为 Python 类

问题描述

我在 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} **replaced**"}

编辑:抱歉,“再见!”中有错字。提前致谢。

标签: pythonoop

解决方案


推荐阅读