Ґвідо ван Россум запропонував додати у Python оператори для зіставлення зі зразками: match
і case
. 23 червня він опублікував чорновий варіант специфікації, аби його розглянула спільнота.
Загалом це подібно на реалізацію match
в мовах Scala, Rust і F#, де оператор порівнює результат виконання зі списком зразків. І водночас це потужніший механізм, ніж оператор switch
у мовах C, Java чи JavaScript — адже match
пропонує більше функцій та гнучкості (тут можна в цьому переконатись). Приклади Python-коду можна переглянути у цьому репозиторії.
У 2001 і 2006 роках теж були пропозиції додати аналогічні оператори порівняння, але тоді від них відмовились на користь if ... elif ... else
. Обговорення нової версії ще триває, та Ґвідо ван Россум зазначає, що його здебільшого все влаштовує і він сподівається, що специфікація скоро буде готова. Запропоновані оператори зможуть зробити код більш читабельним і надійним та полегшать налагодження і порівняння об'єктів.
Ще немає коментарів