В чем разница между "2*2" и "2**2" в Python?
в чем разница между следующими кодами?
code1:
var=2**2*3
code2:
var2=2*2*3
Я не вижу разницы. В связи с этим возникает следующий вопрос.
почему используется code1, если мы можем использовать code2?
10 ответов:
попробуй:
2**3*2
и
2*3*2
чтобы увидеть разницу.
**
оператор для "силы". В вашей конкретной операции, 2 в степени 2 дает то же самое, что 2 умножить на 2.
двойные звезды (
**
) это возведение в степень. Так что "2 раза 2" и "2 к силе 2" - это одно и то же. Менять цифры и вы увидите разницу.
2**2 means 2 squared (2^2) 2*2 mean 2 times 2 (2x2)
в этом случае они имеют одинаковое значение, но...
3**3*4 != 3*3*4
чтобы конкретно ответить на ваш вопрос почему используется code1, если мы можем использовать code2? я мог бы предположить, что программист думал в математически более широком смысле. В частности, возможно, более широкое уравнение является степенным уравнением, и тот факт, что оба первых числа являются "2", является скорее совпадением, чем математической реальностью. Я хотел бы убедиться, что более широкий контекст кода поддерживает его
во всех случаях, а не в этом конкретном случае отдельно. Это может привести к большим неприятностям, если x-это что угодно, но не 2.var = x * x * y
верхний-это оператор "power", поэтому в этом случае он такой же, как 2 * 2, равный 2 степени 2. Если вы поставите 3 в среднее положение, вы увидите разницу.