Kategoria: Python
Konieczność pisania własnych rozszerzeń Pythona w C pojawia się w różnych okolicznościach. Może to być potrzeba korzystania z biblioteki, która dostępna jest wyłącznie z poziomu C , na przykład OpenSSL bignum. Czasami wymagania wydajnościowe dla danego fragmentu kodu sprawiają, że jedynym wyjściem jest implementacja w C. Innym razem konieczne jest użycie wywołania systemowego, które nie jest dostępne z poziomu Pythona i kod w C jest jedynym rozwiązaniem.
Na tym kursie pokażemy w jaki sposób pisać rozszerzenia Pythona, jak łatwo wywoływać funkcje z bibliotek nieposiadających interfejsów Pythonowych oraz jak łączyć język wysokiego poziomu, jakim jest Python z fragmentami niskopoziomowego kodu w C. Przyjrzymy się z bliska funkcjonowaniu systemu odśmiecania pamięci w Pythonie i sposobom, w jaki nasz kod może z nim współpracować. Opiszemy najczęściej spotykane problemy i sposoby ich rozwiązywania.
Dla osób nie znających C zalecamy wcześniejsze ukończenie szkolenia Programowanie w języku C.
Czas trwania
1 dzień
Program
- Interfejsy Pythona dla C
- Definiowanie funkcji
- Pobieranie i zwracanie wyników
- Współpraca z garbage collectorem
- Definiowanie klas i wyjątków
- Operowanie GIL
- Kompilacja
- Plik setupy.py i definiowanie rozszerzeń
- Linkowanie bibliotek dynamicznych
- Pisanie przenośnego kodu
- Inne metody łączenia Pythona i C
- Biblioteka ctypes
- Ładowanie bibliotek dzielonych
- Wywoływanie funkcji, przekazywanie wyników
- Pisanie programów w Cython
- Zanurzanie interpretera Pythona w programach w C
Szkolenia domyślnie prowadzone są na najnowszej wersji Pythona z gałęzi 3.
Dla grup na zamówienie, możliwe jest prowadzenie zajęć na
dowolnych wersjach oprogramowania zgodnie z zapotrzebowaniem Klienta.
- Biblioteka ctypes
Training also available in English - for more information see here.
Przeznaczenie i wymagania
Dobra znajomość Pythona, solidna znajomość C, doświadczenie w kompilacji
oprogramowania w Linuksie.
Certyfikaty
Uczestnicy szkolenia otrzymują imienne certyfikaty sygnowane przez ALX.