clip_values
1.0.0
clip_values 剪辑数值以确保它们在下限和上限内是非常普遍的任务。
例如,如果您要处理RGB颜色,则希望每个频道在0到255之间,如果您要处理商店的销售,则需要它们在0到1之间,或者如果您正在编写很酷的游戏,则希望您的角色留在屏幕中。
现在,如果您必须进行所有这些剪辑,那么您喜欢哪种替代方法?
clip_values.clip clip为您的剪辑操作提供人类可读的语法:
from clip_values import clip
colour_channel = clip ( colour_channel ). between_ ( 0 ). and_ ( 255 )
discount = clip ( discount ). between_ ( 0 ). and_ ( 1 )
player_x_pos = clip ( player_x_pos ). between_ ( 0 ). and_ ( SCREEN_WIDTH ) clip替代方案是最简单,最容易阅读的!将其与另外两个常见替代方案进行比较:
使用if: ... elif: ... block也很容易阅读,但占用4倍的代码行:
if colour_channel < 0 :
colour_channel = 0
elif colour_channel > 255 :
colour_channel = 255
if discount < 0 :
discount = 0
elif discount > 1 :
discount = 1
if player_x_pos < 0 :
player_x_pos = 0
elif player_x_pos > SCREEN_WIDTH :
player_x_pos = SCREEN_WIDTH用max链min (或相反的方式)缩短了,但这很难阅读,您必须花几分钟时间来弄清两次连续的电话之间的互动,以达到min / max :
colour_channel = min ( 255 , max ( 0 , colour_channel ))
discount = max ( 0 , min ( 1 , discount ))
player_x_pos = min ( SCREEN_WIDTH , max ( 0 , player_x_pos ))