回应模式 - No.62259023


No.62259023 - 技术宅


无标题无名氏No.62259023 只看PO

2024-05-04(六)01:52:53 ID:ZNSiC4R 回应

肥哥们,用python写了一大串逻辑跟判断去处理API抓到的资料
但是需要再跑一次相同的逻辑取前一天的资料,最后再做比对
本肥写了前半段,发现后半段都是重複的但是不适合放def,请问怎么解比较好?
jp

Tips无名氏No.9999999

2099-01-01 00:00:01 ID: Tips

( `д´)就不能学学动画版的萌豚,多看看动画片

无标题无名氏No.62768769

2024-06-15(六)23:09:41 ID: X7JF7PM

>>No.62259023
答案是回调σ`∀´)
把前半段变成传入的回调函数,然后调用

比如原代码为:
def 第一种处理():
... # 第一种逻辑
... # 很难抽取成一个函数的公共逻辑

def 第二种处理():
... # 第二种逻辑
... # 很难抽取成一个函数的公共逻辑

第一种处理()
第二种处理()

那么可以改为:
def 公共处理(f):
f()
... # 很难抽取成一个函数的公共逻辑

def 第一种逻辑():
... # 第一种逻辑

def 第二种逻辑():
... # 第二种逻辑

公共处理(第一种逻辑)
公共处理(第二种逻辑)