gpt4 book ai didi

在不同的有限参数上重复方法调用的 Pythonic 方式

转载 作者:太空狗 更新时间:2023-10-29 22:17:12 25 4
gpt4 key购买 nike

我正在盯着自己编写的一段 Python 代码看,虽然它是正确的,但很丑陋。是否有更 pythonic 的方式来做到这一点?

    r = self.get_pixel(x,y, RED)
g = self.get_pixel(x,y, GREEN)
b = self.get_pixel(x,y, BLUE)
t = function(r,g,b)
if t:
r2, g2, b2 = t
self.set_pixel(x,y,RED, r2)
self.set_pixel(x,y,GREEN, g2)
self.set_pixel(x,y,BLUE, b2)

问题是重复调用 get_pixelset_pixel 的方法。供您引用:

    RED, GREEN, BLUE = range(3)

另请注意,我想保持代码的清晰度和整洁度。

最佳答案

当您使用 self 时,get_pixel 等似乎是您的 类的方法。查看 API 并修复它们,而不是列表理解和 zip() 和其他解决方法。两个建议:

  1. 编写另一个返回 3 元组的方法 get_pixel_colors(x, y)。然后你可以这样写 r, g, b = self.get_pixel_colors(x, y)
  2. 类似地:self.set_pixel_colors(x, y, r, g, b)

更好的是,您可以使用 *args 表示法:

old_colors = self.get_pixel_colors(x, y)
new_colors = function(*old_colors)
if new_colors:
self.set_pixel_colors(x, y, *new_colors)

关于在不同的有限参数上重复方法调用的 Pythonic 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3485403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com