Python 3.14+Числа и математикафункция
complex.from_number()
комплексные числа
Классметод: строит комплексное число из числового аргумента (делегирует __complex__, затем __float__, затем __index__). В отличие от complex(), строку не принимает. Python 3.14+.
Синтаксис
classmethod complex.from_number(x)
Метод появился только в 3.14 — на более старых интерпретаторах, включая многие проверяющие системы, обращение к нему упадёт с AttributeError, так что для переносимости остаётся обычный complex(x). Смысл from_number — строгость: ровно один числовой аргумент, а на строку он отвечает TypeError, тогда как complex('1+2j') молча разберёт текст, что удобно при вводе и опасно, когда вы ждали именно число.
Примеры
print(complex.from_number(3)) # → (3+0j)
print(complex.from_number(2.5)) # → (2.5+0j)
print(complex.from_number(1+2j)) # → (1+2j)
print(complex.from_number(True)) # → (1+0j)
try: complex.from_number('1+2j') # строка не число
except TypeError as e: print(type(e).__name__) # → TypeError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности