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.
Zobacz też:
- Programista Python (kurs zawodowy - bootcamp)
- Bootcamp Python XL backend/web (kurs zawodowy - bootcamp)
- Bootcamp Python XL analiza danych (kurs zawodowy - bootcamp)
- Tester automatyzujący (kurs zawodowy - bootcamp)
- Analiza danych w Pythonie (kurs zawodowy - bootcamp)
- Analiza danych w Pythonie (bez ML) (kurs zawodowy - bootcamp)
- Programista backend - Python (kurs zawodowy - bootcamp)
- Analiza danych, uczenie maszynowe i deep learning dla znających Pythona (kurs zawodowy - bootcamp)
- Programowanie dla młodzieży - Python (kurs zawodowy - bootcamp)
- Skrypty w Pythonie. Python dla inżynierów
- Python dla programistów innych języków
- Django - aplikacje webowe
- FLASK - aplikacje webowe
- Analiza Danych dla znających Pythona
- Machine Learning - Uczenie Maszynowe dla znających Pythona
- Deep Learning - Uczenie Głębokie dla znających Pythona
- Zaawansowany Python
- Programowanie asynchroniczne w Asyncio
- Wprowadzenie do administracji MS Azure
- Wprowadzenie do Amazon Web Services
- Wprowadzenie do GIT
- Wstęp do programowania w Pythonie - darmowe warsztaty "od zera"