ctypes

Python ctypes moduli

❮ Python o‘rnatilgan modullari


Misol

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_boolC bilan mos boolean tipi.
c_byteIshorali char (signed char).
c_charC char tipi.
c_char_pC char* (NUL bilan tugaydigan string) tipi.
c_doubleC double tipi.
c_floatC float tipi.
c_intC int tipi.
c_int1616 bitli ishorali butun son.
c_int88 bitli ishorali butun son.
c_longC long tipi.
c_longlongC long long (64 bitli) tipi.
c_shortC short tipi.
c_size_tC size_t tipi.
c_ssize_tC ssize_t tipi.
c_uintC unsigned int tipi.
c_uint1616 bitli ishorasiz butun son.
c_uint88 bitli ishorasiz butun son.
c_ulongC unsigned long tipi.
c_ulonglongC unsigned long long (64 bitli) tipi.
c_void_pC void* tipi.
c_wcharC keng belgisi (wide character).
c_wchar_pC wide char* (platformaga qarab UTF-16/32).
cast()ctypes nusxasini boshqa ctypes tipiga o‘giradi (cast).
cdllcdecl 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.
LibraryLoadercdll, windll va oledll foydalanadigan yordamchi yuklovchi.
memmove()Xotirani bir manzildan boshqasiga nusxalaydi.
memset()Xotira blokini bayt qiymati bilan to‘ldiradi.
oledllstdcall 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).
pythonapiCPython 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.
StructureC strukturalarini (struct) aniqlash uchun asosiy sinf.
UnionC birlashmalarini (union) aniqlash uchun asosiy sinf.
WinDLL()Windows stdcall DLL’ni yuklaydi (Windows).
windllWindows’dagi stdcall kutubxonalari uchun oldindan sozlangan yuklovchi.
wstring_at()Keng belgili (wide) xotira manzili va ixtiyoriy uzunlik bo‘yicha Python stringini qaytaradi.


❮ Python o‘rnatilgan modullari

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!