Python 3.5.0

Из наиболее интересного:

  • Модуль typing
    def greeting(name: str) -> str:
        return 'Hello ' + name
    
    from typing import Callable
    
    def feeder(get_next_item: Callable[[], str]) -> None:
        # Body
    
    def async_query(on_success: Callable[[int], None],
                    on_error: Callable[[int, Exception], None]) -> None:
        # Body
    
  • Additional Unpacking Generalizations
    >>> *range(4), 4
    (0, 1, 2, 3, 4)
    >>> [*range(4), 4]
    [0, 1, 2, 3, 4]
    >>> {*range(4), 4}
    {0, 1, 2, 3, 4}
    >>> {'x': 1, **{'y': 2}}
    {'x': 1, 'y': 2}
    
  • Новый оператор @ для умножения матриц.

    Например, вместо «S = dot ((dot (H, beta) — r).T, dot (inv (dot (dot (H, V), H.T)), dot (H, beta) — r))» теперь можно использовать более понятное представление «S = (H @ beta — r).T @ inv (H @ V @ H.T) @ (H @ beta — r)».

 python, python3

©  Linux.org.ru