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 يسهل قراءتها أيضًا ، ولكنها تأخذ 4x خطوط رمز:
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 يعد التسلسل min مع max (أو العكس) أقصر ، ولكن هذا يصعب القراءة وعليك أن تقضي بضع دقائق في معرفة التفاعل بين المكالمتين المتتاليتين إلى 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 ))