Wartościowanie leniwe (ang. lazy evaluation, ewaluacja leniwa) – strategia wyznaczania wartości argumentów funkcji tylko wtedy, kiedy są potrzebne (na żądanie).

Zaletami tego podejścia są możliwość obliczenia wartości funkcji nawet wtedy, gdy nie jest możliwe wyznaczenie wartości któregoś z jej argumentów, o ile tylko nie jest on używany, wzrost wydajności dzięki uniknięciu wykonywania niepotrzebnych obliczeń oraz możliwość tworzenia nieskończonych struktur danych. Wadą wartościowania leniwego jest to, że mogą nie wystąpić (być może oczekiwane) skutki uboczne procesu wyznaczania wartości argumentów.

Przeciwieństwem wartościowania leniwego jest wartościowanie zachłanne, stosowane w większości popularnych języków programowania.

Przykładem wartościowania leniwego jest obsługa operatorów logicznych w większości języków programowania. Wyrażenie w języku C postaci: a = funkcja_B(b) || funkcja_C(c) ? b : c; Przypisanie do zmiennej a wartości b nastąpi gdy: funkcja_B(b) zwróci prawdę, wtedy funkcja_C(c) nie zostanie wykonana funkcja_B(b) zwróci fałsz, a funkcja_C(c) zwróci prawdę W pierwszym przypadku nie nastąpi wywołanie funkcji funkcja_C(c) w związku z czym nie nastąpią jej efekty uboczne.