TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #156 · 2 окт.

Те, кто в Python не первый день, хорошо знают, что на число можно умножить не только число, но и другие типы. Главное, чтобы у этих типов была реализация такой операции. # list >>> [1] * 3 [1, 1, 1] # tuple >>> (2, 3) * 3 (2, 3, 2, 3, 2, 3) # string >>> "A" * 3 "AAA" Так работает полиморфизм стандартных типов. Интересно здесь то, что это сработает и в том случае, когда порядок операндов обратный. То есть int умножить на [тип]. # list >>> 3 * [1] [1, 1, 1] # tuple >>> 3 * (2, 3) (2, 3, 2, 3, 2, 3) # string >>> 3 * "A" "AAA" Если хотите реализовать такое поведение в ваших классах то следует помнить два момента: 1. Если множитель справа, то вам нужно реализовать метод __mul__, наш класс это первый операнд, то есть слева. myType * 3 2. Если множитель слева, то вам нужно реализовать метод __rmul__, наш класс это второй операнд, справа. 3* myType Всё тоже самое можно делать и для других математических операторов. И если в этом примере действие и результат будут фактически одинаковыми, то бывают ситуации, когда это не так. Например, при умножении матриц имеет значение порядок операндов. Для других операторов, таких как деление или сдвиг, очень важно кто с какой стороны находится. >>> 2/4, 4/2 (0.5, 2.0) >>> 2<<3, 3<<2 (16, 12) >>> 100%15, 15%100 (10, 15) #tricks#basic

Резултати

Пронајдени 1 слични објави

Пребарај: #es2015

当前筛选 #es2015清除筛选
GitHub Trends

@githubtrending · Post #14743 · 23.05.2025 г., 14:00

#javascript#ecmascript_proposals#es2015#es2019#es6#es7#esnext#javascript#js#polyfill#ponyfill#promise#proposal#proposals#shim#symbol#weakmap core-js is a modular JavaScript library that provides polyfills for modern ECMAScript features up to 2024, including promises, symbols, collections, iterators, typed arrays, and many web standards like URL and structuredClone. It lets you use new JavaScript features in older browsers by loading only the needed parts without polluting the global namespace. It integrates well with tools like Babel and swc for optimized polyfilling. This helps you write modern, compatible code that runs smoothly across different environments, improving development efficiency and user experience. You can customize polyfill usage and even build your own tailored version for your project. https://github.com/zloirock/core-js