Wskazówki do typów są teraz dostępne w wersji Python 3.5. W opisie (PEP 484) celów (i nie-bramek) są narażone wyraźnie:Korzystanie z podpowiedzi do przetłumaczenia języka Python na język Cython
uzasadnienie i cele
to PEP ma zapewnić standardową składnię typu adnotacji otwarcie kod Pythona do łatwiejszej analizy statycznej i refaktoryzacji, potencjalnego sprawdzania typu środowiska wykonawczego i (być może w niektórych kontekstach) generowania kodu z wykorzystaniem informacji o typie. [...]
Z tych celów analiza statyczna jest najważniejsza.
Non-cele
Korzystanie podpowiedzi typu dla wydajności optymalizacje pozostawiamy jako ćwiczenie dla czytelnika.
Z drugiej strony, Cython używa od dawna składni statycznego w celu zwiększenia wydajności. Zwykle ludzie przepisują niektóre fragmenty kodu za pomocą składni języka Cython, kompilują je, a następnie importują z powrotem jako niezależne moduły. Bolesna robota to wszystko na dużej podstawie kodu. Ale najgorsze jest to, że nawet jeśli poprawnie wykonasz wszystkie powyższe kroki, nie masz żadnej gwarancji, że będziesz miał prawdziwą poprawę (z powodu problemów z kompatybilnością, które mogą być spowodowane, jeśli używasz niektórych modułów).
Byłoby to trudne zadanie napisać narzędzie, które wykorzystuje ten nowy rodzaj wskazówki rzeczy rozrzucone w kodzie do automatycznie przełożyć je do Cython składni i ewentualnie zrobić resztę pracy (skompilować je w moduły i importować wszystko je z powrotem)? Byłoby zatem możliwe udostępnienie tej samej składni języka we wszystkich podstawach kodu.
Teoretycznie możliwe jest napisanie takiego narzędzia, ale nie jestem pewien, czy warto (pod względem złożoności pisać i rzeczywista poprawa, która byłaby wynikiem).
Dzięki.
Kiedy użyłeś 'cython', ile konwersji w Pythonie dokonałeś? Myślałem, że ideałem jest skupienie się na podzbiorze, w którym liczy się przyspieszenie, a resztę pozostawiamy w Pythonie. Lub użyj 'cython' jako pomostu do istniejącego kodu C++/Fortran. – hpaulj
Zgadzam się częściowo z Państwem. Ale byłoby tak lepiej, jak sądzę, mieć zunifikowaną składnię. Ale jest ok, jak powiedział @hpaulj, mój temat nie jest dla Stackoverflow. Przepraszam. – GustavoIP