Предлог «по» в русском языке требует разных падежей в зависимости от ситуации, потому что выбор падежа обусловлен исторически или семантически. 4
Предложный падеж с предлогом «по» используется в значении времени или «после чего-нибудь». 1 Например: «по приезде», «по уходе», «по открытии». 1
Дательный падеж с предлогом «по» употребляется при указании на поверхность или пределы, где что-нибудь совершается, а также с именами существительными при глаголах чувства, например: «горевать, грустить, скучать». 1
Винительный падеж с предлогом «по» используется, когда нужно обозначить объект, на который направлено действие: «трава по пояс». 2