ماژول های سطح پایین تر

کتابخانه ی استاندارد شامل چند ماژول سطح پایین تر( lower-level ) نیز هست. برای این به این ماژول ها سطح پایین ( low-level ) گفته نمی شود که هنوز دسترسی سطح بالایی را برای برنامه نویس فراهم میکنند. همچنین کمتر پیش می آید که به عنوان برنامه نویس با این ماژول ها سر و کار داشته باشید و گاها این ماژول ها را خارج از کتابخانه های استاندارد طبقه بندی می کنند.


با توجه به کار شما ممکن است با یکی یا چندتا از این ماژول های lower-level کار کنید. توصیه می کنیم از بین این ماژول ها عملکرد و استفاده از ماژول Typing را کاملا یاد بگیرید. این ماژول در زمینه های زیادی کاربرد دارد و به شما اجازه می دهد تا برنامه های بهتری بنویسید!

همچنین ماژول تست نویسی پایتون نیز در این دسته طبقه بندی می شود و یادگیری آن بسیار مهم است.


مثلا ماژول های پروتکل های اینترنتی مختلف، قالب بندی متن ها، ارتباط با کد ها به زبان C، تست نویسی و ایجاد سرور HTTP و ... همه از نمونه های ماژول های lower-level هستند. بر خلاف ماژول های سطح بالا که کاربرد مشخصی دارند، این ماژول ها وجود دارند تا نیازهای بسیار خاصی را برای سناریو های مختلف زیادی پاسخ دهند. حتی بسیاری از کتابخانه های مطرح و مهم مثل jinja2, requests, FastAPI, cython و cffi بر پایه ی همین ماژول ها بنا شده اند و تنها به ما یک رابط ( interface ) بهتر، ساده تر و قدرتمند تر را ارائه می دهند. مثلا دو ماژول C API و ctypes به ما اجازه ی ایجاد ارتباط با یک برنامه به زبان C را میدهند اما cython به ما اجازه میدهد تا با دردسر بسیار کمتری این ارتباط را برقرار کنیم و مانند ماژول های مطرح شده( C API و ctypes) نیازی به پیاده سازی و بهبود سناریو های مختلف نداشته باشیم.

ماژول های lower-level دیگری نیز وجود دارند که عملکرد پایتون را گسترش می دهند یا کار را ساده تر می کنند:

  • Asyncio: برای نوشتن کد آسنکرون
  • Typing: برای راهنمایی تایپ های برنامه و امن تر کردن آن
  • Contextvar: برای ذخیره ی وضعیت بر پایه ی context
  • Contextlib: برای ایجاد مدیریت کانتکس
  • Doctest: برای ارزیابی و تست مثال های داکیومنت ها
  • Pdb و bdb: دسترسی به ابزار دیباگ

این ماژول ها را هم بررسی کنید: dis، ast وcode

این ماژول ها رو من به عنوان برنامه نویس ارشد خیلی استفاده کردم.

کلا این 10 تای آخر خیلی سطح بالا هستن و برای بهبود و ارزیابی کیفیت کد حرف ندارن.