clip_values Kliping nilai numerik untuk memastikan mereka berada dalam batas bawah dan atas adalah tugas yang sangat umum.
Misalnya, jika Anda berurusan dengan warna RGB, Anda ingin setiap saluran antara 0 dan 255, jika Anda berurusan dengan penjualan toko, Anda membutuhkannya antara 0 dan 1, atau jika Anda menulis permainan yang keren, Anda ingin karakter Anda tetap di dalam layar.
Sekarang, jika Anda harus melakukan semua kliping ini, alternatif mana yang Anda sukai?
clip_values.clip clip menawarkan sintaks yang dapat dibaca manusia untuk operasi kliping Anda:
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 ) Alternatif clip adalah yang paling sederhana dan termudah untuk dibaca! Bandingkan dengan dua alternatif umum lainnya:
Menggunakan if: ... elif: ... blok juga mudah dibaca, tetapi mengambil 4x lebih banyak baris kode:
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 Chaining min dengan max (atau sebaliknya) lebih pendek, tetapi ini jauh lebih sulit untuk dibaca dan Anda harus menghabiskan beberapa menit untuk mencari tahu interaksi antara dua panggilan berturut -turut ke 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 ))