python - 将函数转换为 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**"}
编辑:抱歉,“再见!”中有错字。提前致谢。
解决方案
推荐阅读
- python - 加载 Pickle 文件时遇到问题
- vb.net - 图像不显示行(重叠)
- macos - 允许应用访问钥匙串中的私钥
- matlab - 如何使用阈值处理关闭二值图像孔 | matlab
- simulation - 在 Anylogic 中安排资源(例如卡车)的到达时间
- asp.net-web-api - ASP.NET Core 5、JWT 令牌和 Novell AD 库
- outlook - 如何使用 Graph API 以其他用户身份向 O365 组发送电子邮件?
- c# - 什么是与 Panda 的 DataFrame 等效的 WPF/C#
- laravel - Laravel Eloquent withCount “在 null 上调用成员函数 getQuery()”
- python - 用于获取具有时间范围的数据的 Python boto3 DynamoDB 查询