Не забывайте AvalonDock относительно GitHub (часть Инструментария WPF). Я видел, что это упомянуло в других местах.
Первоначально я собирался пользоваться библиотекой ActiPro (главным образом, потому что я уже использую их ленту), но я мог бы дать AvalonDock шанс, так как это - открытый исходный код.
у Кого-либо есть какая-либо обратная связь/комментарии AvalonDock?
В Python 3 они сделали оператор /
делением с плавающей запятой и добавили оператор //
для целочисленного деления (т. Е. частное без остатка); тогда как в Python 2 оператор /
был просто целочисленным делением, если только один из операндов уже не был числом с плавающей запятой.
В Python 2.X:
>>> 10/3
3
>>> # to get a floating point number from integer division:
>>> 10.0/3
3.3333333333333335
>>> float(10)/3
3.3333333333333335
В Python 3:
>>> 10/3
3.3333333333333335
>>> 10//3
3
Для получения дополнительной информации см. PEP238 .
//
безусловно "разделение полов", например:
>>> 4.0//1.5
2.0
Как видите, хотя оба операнда являются float
s, //
все еще этажи - так что вы всегда надежно знать, что он будет делать.
Single /
может или не может быть перекрытым, в зависимости от выпуска Python, будущего импорта и даже флагов, на которых запускается Python, например ...:
$ python2.6 -Qold -c 'print 2/3'
0
$ python2.6 -Qnew -c 'print 2/3'
0.666666666667
Как видите, одиночный /
может возвращать значение с плавающей запятой, или он может возвращать значение с плавающей запятой, основываясь на полностью нелокальных проблемах, вплоть до значения включительно -Q
flag ...; -).
Итак, если и когда вы знаете , что хотите настил, всегда используйте //
, что гарантирует это. Если и когда вы знаете, что не хотите настил, установите float ()
вокруг другого операнда и используйте /
. Любая другая комбинация, и вы зависите от версии, импорта и флагов! -)
//
, что гарантирует это. Если и когда вы знаете, что не хотите настил, установите float ()
вокруг другого операнда и используйте /
. Любая другая комбинация, и вы зависите от версии, импорта и флагов! -) если и когда вы знаете , что хотите настил, всегда используйте //
, что гарантирует это. Если и когда вы знаете, что не хотите настил, установите float ()
вокруг другого операнда и используйте /
. Любая другая комбинация, и вы зависите от версии, импорта и флагов! -) Чтобы дополнить ответ Алекса, я бы добавил, что начиная с Python 2.2.0a2, из отдела импорта __future__
- удобная альтернатива использованию большого количества float (…) /…
. Все деления выполняют float деления, кроме тех, у которых есть //
. Это работает со всеми версиями, начиная с 2.2.0a2.