همهی ما در مورد GIL و محدودیتهایی که برای ما ایجاد میکنه چیزهایی شنیدیم و مطالبی خوندیم. اما آیا واقعا میدونیم GIL چی هست؟ قبل از اینکه بخوایم در مورد GIL صحبت کنیم، بیایید یه تابع ساده بنویسیم. فرض کنید قطعه کدی به صورت زیر نوشتیم که عددی رو از ورودی دریافت میکنه و یکی یکی از اون کم میکنه. خب حالا این تابع رو با یه عدد بزرگ فراخونی میکنیم تا ببینیم چقدر طول میکشه تا اجرا بشه. اجرای …
برچسب: پایتون
خیلی وقتها موقع برنامه نویسی با مسائل مختلفی روبرو میشیم که راه حل خیلی از اونها تقریبا شبیه به هم هست. در چنین مواقعی طبیعتا بهترین کار نوشتن توابع و فراخونی اونها در بخشهای مختلف برناممون هست. هر کدوم از این توابع، بدون توجه به سایر بخشهای برنامه، یک یا چند ورودی دریافت میکنن و یک یا چند خروجی رو به ما برمیگردونن. در این مطلب با یک سری توابع درونی پایتون آشنا میشیم که خیلی از چالشهای رایج در …
همیشه برنامه نویسهای زیادی اطرافمون هستن که در مورد سرعت کم پایتون صحبت میکنن. خیلی از این برنامه نویسها تا بحال حتی یک خط کد هم با پایتون ننوشتن! در واقع سرعت اجرای هر برنامهای (فارغ از اینکه با چه زبونی نوشته شده) به مهارتهای کدنویسی برنامه نویس بستگی داره تا بتونه بهینه سازی برنامهای که مینویسه رو به خوبی انجام بده تا سرعت اجرای برنامه افزایش پیدا کنه. پس بیایید در مورد ترفندهایی صحبت کنیم که باعث افزایش سرعت …
همانطور که میدانید در پایتون دستورات switch/case وجود ندارد. بنابراین گاهی اوقات ممکن است نیاز باشد تا عبارات طولانی شرطی به صورت if..elif..else نوشته شود. ما در اینجا قصد داریم با روشی آشنا شویم که با استفاده از دیکشنری، عبارات switch/case را شبیه سازی نماییم. فرض کنید که قطعه کدی به صورت زیر در اختیار داریم. مسلما برای بررسی ۳ حالت مختلف، این عبارت به اندازه کافی مناسب است. اما اگر تعداد حالات مورد نیاز برای بررسی بیشتر باشد باید …
آرایهها در پایتون یکی از پایهای ترین نوع داده در این زبان برنامه نویسی است و از آنها به صورت گسترده در بسیاری از برنامهها و الگوریتمها استفاده میشود. در این مقاله نگاهی به پیاده سازی انواع ساختار داده آرایهها در پایتون میاندازیم و کتابخانههایی را در زبان پایتون بررسی میکنیم که آرایهها را به نحو دیگری در این زبان پیاده سازی نمودهاند. بنابراین شما با نقاط قوت و ضعف هرکدام از روشها آشنا شده و میتوانید تصمیم بگیرید که از کدام یک در برنامههای خود …
عبارت with در پایتون معمولا یک عبارت مرموز درنظر گرفته میشود. اما زمانی که به پشت صحنه نگاه میکنید، میبینید که هیچ جادویی در کار نیست. عبارت with در واقع یک ویژگی جذاب و مفید است که به شما کمک میکند تا کد پایتونی تمیزتر و خواناتری داشته باشید. ممکن است سوال کنید عبارت with در پایتون چه زمان هایی استفاده میشود؟ عبارت with زمانی استفاده میشود که بخواهیم با استفاده از الگوی استانداردی، به مدیریت منابع به صورت بهینه …
با استفاده از عملگر سوشی در پایتون میتوان ترفندهای جالبی برای برش لیستهای پایتونی انجام داد. اما چگونه؟ در زبان برنامه نویسی پایتون میتوان یک لیست را تکه تکه نمود. به این عمل در پایتون slicing گفته میشود. با استفاده از این روش میتوان تنها به بخشی از یک لیست دسترسی پیدا کرد. برای مثال میتوان یک لیست بزرگ را با این روش به چندین لیست کوچکتر تقسیم کرد و هر کدام از آنها را بسته به نیاز مورد استفاده …
تصور کنید ۳۰ تابع با منطق های پیچیده کسب و کار در برنامه خود نوشته اید. در یک صبح شنبه بارانی، رئیس کنار میز شما میآید و میگوید: صبح شنبه بخیر! آن گزارشهای TPS را به خاطر داری؟ نیاز دارم تا داده های ورودی و خروجی در هر مرحله تولید گزارش را به صورت کامل ثبت کنید. برای اهداف حسابرسی با شرکت XYZ این اطلاعات باید آماده شوند. به آنها گفتم که میتوانیم این کار را تا روز دوشنبه ارسال …
گاهی اوقات ممکن است شما برنامهای با تعداد زیادی ماژول نوشته باشید (ماژول میتواند یک فایل ساده شامل تعدادی کلاس باشد) و قصد دارید تمام آنها را به یک بستهی واحد (package) تبدیل کنید. زمانی که تعداد این ماژولها (فایلها) در پروژهای زیاد شود، بهتر است ماژولهای مشابه را در یک دایرکتوری (directory) قرار داده و مجموع تمام دایرکتوری ها را به یک بستهی واحد تبدیل کنیم. در این مقاله قصد داریم نحوهی ساخت یک بستهی بسیار ساده در پایتون …