مقاله پيش رو ترجمه مقاله ای از سايت activestate.com می باشد.
بیش از 200000 بسته پایتون در جهان وجود دارد (و این فقط با احتساب بستههای میزبانی شده در PyPI، فهرست رسمی بسته Python می باشد). این سوال پیش میآید: با وجود بستههای بسیار زیاد، مهمترین بستههایی که هر برنامهنویس پایتون باید یاد بگیرد کدام است؟
برای کمک به پاسخ دادن به این سوال، در اینجا لیستی از ده بسته برتر، مفید و پرکاربرد پایتون وجود دارد که باید با آنها آشنا شوید، زیرا در هنگام انجام پروژههای مختلف، اغلب ظاهر میشوند. برای این منظور، این فهرست بر بستههای پایتون تمرکز دارد که طیف گستردهای از سناریوها و اهداف برنامهنویسی را پوشش میدهند، در مقابل تمرکز بر یک جایگاه خاص، مانند علم داده یا توسعه وب.
شماره 1 : NumPy
شما می توانید عملیات ریاضی پایه را بدون هیچ بسته پایتون خاصی انجام دهید. با این حال، اگر می خواهید هر نوع ریاضی پیچیده ای انجام دهید، بسته NumPy زندگی کدنویسی شما را بسیار آسان تر می کند.
بسته NumPy ابزارهایی را برای کمک به ساخت آرایه های چند بعدی و انجام محاسبات روی داده های ذخیره شده در آنها فراهم می کند. شما می توانید فرمول های جبری را حل کنید، عملیات آماری رایج را انجام دهید و خیلی چیزهای دیگر.
در حالی که NumPy یک بسته Python ارزشمند برای انواع وظایف برنامه نویسی همه منظوره است، اگر میخواهید یادگیری ماشین انجام دهید بسیار مهم است، زیرا بخشی از پایه و اساس کتابخانه هایی مانند TensorFlow را فراهم می کند.
شماره 2 : Pendulum (به معنای آونگ - پاندول )
اگر حداقل تجربه کمی در برنامه نویسی پایتون دارید، احتمالاً می دانید که می توانید از ماژول datetime برای مدیریت تاریخ ها و زمان ها در یک برنامه استفاده کنید.
در حالی که datetime برای کارهای اساسی در این خطوط عالی است، بسته پايتون Pendulum انجام کدنویسی پیچیدهتر شامل تاریخ و زمان را آسانتر میکند. کار با آن شهودی تر است و مناطق زمانی را به طور خودکار مدیریت می کند.
بهتر از همه، pendulum طراحی شده است تا جایگزینی برای datetime باشد. این بدان معناست که می توانید آن را با کدهایی که قبلاً بر اساس تاریخ نوشته اید استفاده کنید. تنها با چند استثناء، آونگ بدون نیاز به تغییر کد، به همان خوبی کار خواهد کرد، در حالی که ویژگیهای اضافی را ارائه میکند که در بسته ساده قدیمی datetime وجود ندارد.
بسته شماره 3 : Python Imaging Library
اگر برنامه پایتون شما به هر نحوی با تصاویر تعامل داشته باشد، کتابخانه تصویربرداری پایتون که به عنوان PIL یا Pillow نیز شناخته می شود، یکی از ضروریات پایتون است. نوشتن کدی که تصاویر را در فرمت های مختلف باز می کند، تغییر می دهد و ذخیره می کند، آسان می کند.
اگر کار پیشرفتهتری با تصاویر انجام میدهید (مانند تشخیص تصویر، که در این صورت OpenCV بسته خوبی برای در نظر گرفتن خواهد بود)، Pillow برای آن به تنهایی کافی نیست. اما برای import، دستکاری تصویر اولیه و export تصوير، Pillow راه حل اصلی شماست.
بسته شماره 4 : MoviePy
بسته MoviePy برای ویدیوها همان چیزی است که Pillow برای تصاویر. طیف وسیعی از عملکردها را برای کارهای رایج مرتبط با وارد کردن، اصلاح و صادر کردن فایل های ویدیویی فراهم می کند. همچنین به شما امکان میدهد کارهایی مانند درج عناوین در ویدیوها یا چرخش ۹۰ درجه ویدیوها را انجام دهید (اگر به دلایلی تصمیم بگیرید که میخواهید این کار را انجام دهید).
مانند Pillow، بسته MoviePy به عنوان ابزاری برای دستکاری پیشرفته داده ها در نظر گرفته نشده است. اگر در حال نوشتن یک برنامه ویرایش ویدیو هستید، احتمالاً باید به OpenCV (که میتواند با ویدیوها و همچنین تصاویر کار کند) تکیه کنید تا عملکرد پیشرفتهای را که MoviePy فاقد آن است، ارائه دهید. اما برای اکثر وظایف استاندارد که شامل ویدیوها در کد پایتون است، MoviePy کار را به خوبی انجام می دهد.
بسته شماره 5: Requests
نوشتن کدی که درخواستهای HTTP را ارسال میکند میتواند مشکل باشد، به دلیل این که HTTP دقیقاً دادهها را طوری قالببندی نمیکند که خواندن آن برای انسان آسان باشد.
بسته پايتون Requests (با شعار: "HTTP برای انسان ها") با خودکار کردن بسیاری از کارهای خسته کننده و مشکل مقابله می کند که در غیر این صورت برای ارسال درخواست های HTTP از برنامه خود باید انجام دهید. نیاز به افزودن رشته های پرس و جو یا انجام رمزگذاری فرم POST را از بین می برد. همچنین اتصالات با سرورهای HTTP را به طور خودکار زنده نگه می دارد و نیاز به نوشتن یک سری کد برای انجام این کار را از بین میبرد.
به طور خلاصه، اگر برنامه شما هر گونه داده ای را از طریق HTTP ارسال می کند، Requests یک بسته ضروری است.
مطالب توصیه شده
آیا می خواهید یک برنامه پایتون با رابط کاربری گرافیکی (GUI) توسعه دهید؟ بستههای مختلفی برای کمک به شما در انجام این کار طراحی شدهاند (در واقع، ما میتوانیم ده فهرست برتر از بستههای رابط کاربری گرافیکی پایتون را ایجاد کنیم). اما فکر میکنم اکثر توسعهدهندگان پایتون موافق هستند که Tkinter مهمترین و رایجترین چارچوب برای ایجاد رابط کاربری گرافیکی است. پایتون را به جعبه ابزار TK GUI متصل می کند، که تقریباً روی هر سیستم عامل مدرن کار می کند.
مگر اینکه ترجیح قوی برای یک جعبه ابزار رابط کاربری گرافیکی متفاوت داشته باشید، Tkinter احتمالاً بهترین مکان برای شروع هنگام ایجاد رابط کاربری گرافیکی پایتون است.
در ادامه مطلب قبلی، PyQT، یکی دیگر از بسته های پایتون برای ساخت رابط کاربری گرافیکی است،که یک رقیب قوی برای Tkinter می باشد. همنطور که شما حدس زدید این ابزار اتصالاتی را به جعبه ابزار Qt را ارائه می دهد، که همچنین چند پلتفرمی است. این برای برنامه نویسی رابط کاربری گرافیکی سنگین تر از Tkinter در نظر گرفته شده است. این بدان معناست که اگر برنامهای میسازید که رابط کاربری بسیار سادهای دارد - مثلاً یک پنجره با چند دکمه و فیلدهای متن - ممکن است PyQT بیش از حد باشد، اما اگر میخواهید یک برنامه پیچیده و چند بعدی دارای رابط کاربری گرافیکی بسازيد، ابزار خوبی است.
مطالب توصیه شده
یک لیست طولانی از بسته های پایتون وجود دارد که برای کار با مجموعه داده های پیچیده طراحی شده اند. اما مسلما Pandas مهمترین آنها است. Pandas به شما کمک میکند مجموعههای بزرگی از دادهها را بدون نیاز به یادگیری یک زبان تخصصی پردازش داده مانند R دستکاری و تجزیه و تحلیل کنید.
بسته Pandas محدودیتهای خود را دارد زیرا برای مدلسازی آماری پیشرفته در نظر گرفته نشدهاست (در این صورت، شما میخواهید R را یاد بگیرید یا از یک بسته پایتون مانند statsmodels استفاده کنید). اما اگر نیاز به انجام کارهایی مانند پردازش دادههای سری زمانی یا انجام تجزیه و تحلیل آماری روی یک مجموعه داده دارید، Pandas نياز شما را پوشش میدهد.
بسته شماره 9 :Pywin32
مخصوصاً برای برنامه نویسی ویندوز پایتون، Pywin32 یک بسته ضروری است. دسترسی به بسیاری از توابع API اصلی ویندوز را فراهم می کند و به شما امکان می دهد کارهایی مانند تعامل با رجیستری ویندوز، استفاده از کلیپ بورد ویندوز و موارد دیگر را انجام دهید.
اگر در حال ساخت یک برنامه پایتون چند پلتفرمی هستید، Pywin32 برای شما مفید نخواهد بود، اما توسعه دهندگان ویندوز ممکن است متوجه شوند که آن را آنقدر دوست دارند که به جای ابزارهای بومی ویندوز از آن استفاده کنند.
اگر پروژه توسعه پایتون با هر پیچیدگی دارید، توانایی انجام آزمایش روی کد جدید ضروری است. بسته Pytest ماژول های مختلفی را برای کمک به شما در انجام این کار فراهم می کند. چه یک تست واحد ساده یا یک تست عملکردی پیچیده تر، Pytest می تواند به شما در نوشتن آن کمک کند.
اگر کتابخانه یا چارچوب پایتون مورد علاقه شما در این لیست از ده بسته برتر پایتون قرار نگرفت، حمله نکنید. اکوسیستم پایتون آنقدر بسته های ارزشمند تولید کرده است که گنجاندن همه موارد مهم حتی در لیست 100 برتر غیرممکن است، چه رسد به لیست 10 برتر. با این حال، برای برنامه نویسی همه منظوره پایتون، بسته های توضیح داده شده در بالا اغلب مفید هستند.
مطالب توصیه شده