ctypes
Python ctypes moduli
❮ Python o‘rnatilgan modullariMisol
C butun sonini (integer) yarating va undan foydalaning:
import ctypes
x = ctypes.c_int(7)
x.value += 5
print(x.value)
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
ctypes moduli C bilan mos ma’lumot turlarini taqdim etadi va DLL/umumiy (shared) kutubxonalardagi funksiyalarni chaqirish imkonini beradi.
Undan kengaytma modullar yozmasdan native kutubxonalarni o‘rash, C strukturalarini (struct) aniqlash va tizim API’lari bilan o‘zaro ishlash uchun foydalaning.
A’zolar
| A’zo | Tavsif |
|---|---|
| addressof() | Argumentning xotira manzilini qaytaradi. |
| alignment() | ctypes tipi yoki nusxasining tekislash (alignment) talablarini qaytaradi. |
| byref() | ctypes nusxasi uchun havola orqali uzatiladigan (pass-by-reference) obyektni qaytaradi. |
| c_bool | C bilan mos boolean tipi. |
| c_byte | Ishorali char (signed char). |
| c_char | C char tipi. |
| c_char_p | C char* (NUL bilan tugaydigan string) tipi. |
| c_double | C double tipi. |
| c_float | C float tipi. |
| c_int | C int tipi. |
| c_int16 | 16 bitli ishorali butun son. |
| c_int8 | 8 bitli ishorali butun son. |
| c_long | C long tipi. |
| c_longlong | C long long (64 bitli) tipi. |
| c_short | C short tipi. |
| c_size_t | C size_t tipi. |
| c_ssize_t | C ssize_t tipi. |
| c_uint | C unsigned int tipi. |
| c_uint16 | 16 bitli ishorasiz butun son. |
| c_uint8 | 8 bitli ishorasiz butun son. |
| c_ulong | C unsigned long tipi. |
| c_ulonglong | C unsigned long long (64 bitli) tipi. |
| c_void_p | C void* tipi. |
| c_wchar | C keng belgisi (wide character). |
| c_wchar_p | C wide char* (platformaga qarab UTF-16/32). |
| cast() | ctypes nusxasini boshqa ctypes tipiga o‘giradi (cast). |
| cdll | cdecl chaqiruv konvensiyasidan foydalanadigan C kutubxonalari uchun oldindan sozlangan yuklovchi. |
| CDLL() | Umumiy (shared) kutubxonani yuklaydi (POSIX). |
| CFUNCTYPE() | Argument va natija tiplaridan C funksiya prototipini yaratadi (cdecl). |
| create_string_buffer() | O‘zgaruvchan belgilar buferini yaratadi. |
| create_unicode_buffer() | O‘zgaruvchan keng belgilar (wide-character) buferini yaratadi. |
| LibraryLoader | cdll, windll va oledll foydalanadigan yordamchi yuklovchi. |
| memmove() | Xotirani bir manzildan boshqasiga nusxalaydi. |
| memset() | Xotira blokini bayt qiymati bilan to‘ldiradi. |
| oledll | stdcall kutubxonalari uchun oldindan sozlangan yuklovchi (HRESULT tekshiruvi bilan). |
| OleDLL() | Windows stdcall DLL’ni yuklaydi va HRESULT’ni tekshiradi (Windows). |
| pointer() | ctypes nusxasiga ko‘rsatkich (pointer) yaratadi. |
| POINTER() | Boshqa ctypes tipiga ishora qiluvchi ctypes ko‘rsatkich (pointer) tipini yaratadi. |
| PyDLL() | CDLL kabi, lekin chaqiruvlar davomida GIL ushlab turilishini ta’minlaydi (CPython API’lari uchun). |
| pythonapi | CPython C-API DLL/umumiy kutubxonasiga dastak (handle). |
| sizeof() | ctypes tipi yoki nusxasining baytlardagi hajmini qaytaradi. |
| string_at() | Xotira manzili va ixtiyoriy uzunlik bo‘yicha bytes obyektini qaytaradi. |
| Structure | C strukturalarini (struct) aniqlash uchun asosiy sinf. |
| Union | C birlashmalarini (union) aniqlash uchun asosiy sinf. |
| WinDLL() | Windows stdcall DLL’ni yuklaydi (Windows). |
| windll | Windows’dagi stdcall kutubxonalari uchun oldindan sozlangan yuklovchi. |
| wstring_at() | Keng belgili (wide) xotira manzili va ixtiyoriy uzunlik bo‘yicha Python stringini qaytaradi. |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
