log2 в математическом модуле Python

почему это не существует?

import math
[x for x in dir(math) if 'log' in x]
>>> ['log', 'log10', 'log1p']

Я знаю, что могу сделать журнал (x, 2), но log2 действительно распространен, таким образом, я отчасти экранирован.

О, похоже, что это только определяется в C99, не C90, я предполагаю, что это отвечает на мой вопрос. Все еще кажется довольно глупым.

42
задан BCS 16 December 2010 в 22:14
поделиться

1 ответ

Думаю, вы сами ответили на свой вопрос. :-) Не существует log2(x), потому что вы можете сделать log(x, 2). Как говорится в The Zen of Python (PEP 20), "Должен быть один - и желательно только один - очевидный способ сделать это."

Тем не менее, log2 был рассмотрен в Issue3366 (прокрутите вниз до последних 3 сообщений), который добавил несколько других математических функций C99 в модуль math для Python 2.7 и 3.2.

Edit: log2 был пересмотрен в Issue11888 и добавлен в Python 3.3.

51
ответ дан 26 November 2019 в 23:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: