Ассоциативность
Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Перейти к навигацииПерейти к поиску
Ассоциативность (от лат. associatio — соединение)
- В математике (также сочетательность) — свойство любой операции <math>\lambda</math>, такое что для неё выполняется равенство:
- <math>\lambda(\lambda(x,y),\,z)=\lambda(x,\,\lambda(y,z))\,</math>, или, в более привычной для двухместных операций записи: <math>(x\,\lambda\, y)\,\lambda\, z = x\,\lambda\, (y\,\lambda\, z)\,</math> для любых элементов.
- Например, для умножения: <math>(x\cdot y)\cdot z = x\cdot (y\cdot z)</math>.
- В программировании (также очерёдность) ассоциативностью операторов называют последовательность их выполнения (или направление вычисления), реализуемое, когда операторы имеют одинаковый приоритет и отсутствует явное (с помощью скобок) указание на очерёдность их выполнения. При этом различается левая ассоциативность, при которой вычисление выражения происходит слева-направо, и правая ассоциативность — справа-налево. Соответствующие операторы называют левоассоциативными и правоассоциативными.
Например, в языке Python большинство операторов имеет левую ассоциативность, в то время как возведение в степень правоассоциативно:
Правая ассоциативность (вычисление выражения справа-налево), возведение в степень в языке Python:
x ** y ** z == x ** (y ** z)
2 ** 2 ** 3 == 2 ** (2 ** 3) == 256
(2 ** 2) ** 3 == 64
Левая ассоциативность (вычисление выражения слева-направо), побитовый сдвиг в языке Python:
x << y << z == (x << y) << z
2 << 2 << 3 == (2 << 2) << 3 == 64
2 << (2 << 3) == 131072
См. также
- Ассоциативная операция (математика)
- Приоритет оператора или операции
Ссылки
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....
→