

پایتون-(python) از جمله زبانهای برنامهنویسی قدرتمندی است که در زمینه علم دادهها، خودکارسازی سامانهها، توسعه وب، واسطهای برنامهنویسی و... به کار گرفته میشود.
اما سؤالی که بسیاری از کاربران و بهویژه برنامهنویسان مبتدی مطرح میکنند این است که اساساً پایتون چیست و آیا ارزش آن را دارد تا وقت خود را روی یادگیری این زبان سرمایهگذاری کنیم؟ در این مقاله بهشکل سادهای به این پرسش پاسخ خواهیم داد.
شاید بتوانیم این گونه بیان کنیم که پایتون در مقایسه با زبانهای بزرگ یک زبان نسبتاً جدید به شمار میرود. این زبان برنامهنویسی در سال 1991 به دنیای برنامهنویسی وارد شد. از همان ابتدا، بهمنظور پر کردن شکافهای موجود در دنیای برنامهنویسی و ارائه راهکاری بهمنظور نوشتن اسکریپتهایی که فرآیند انجام یکسری از کارهای روتین خستهکننده را به طور خودکار اجرا کنند یا ساخت یک نمونه اولیه از برنامههای کاربردی که در یک یا چند زبان دیگر پیادهسازی شوند، مورد استفاده قرار گرفت. با این حال در چند سال گذشته، پایتون به یکی از ابزارهای تراز اول در زمینه توسعه برنامههای کاربردی، مدیریت زیرساختها و تحلیل دادهها تبدیل شده است. امروزه python در زمینه توسعه برنامههای کاربردی تحت وب و مدیریت سیستمها و تجزیه و تحلیل بزرگ دادهها که رشد انفجاری به خود گرفتهاند و همچنین هوش مصنوعی به یکی از بازیگران اصلی دنیای فناوری تبدیل شده است. پایتون این موفقیت چشمگیر و کاربرد گسترده را مدیون یکسری ویژگیهای ارزشمندی است که هم در اختیار توسعهدهندگان حرفهای و هم در اختیار توسعهدهندگان تازهکار قرار داده است. از جمله این ویژگیها به موارد زیر میتوان اشاره کرد.
یادگیری کمدردسر آن به برنامهنویسان تازهکار اجازه داده است با صرف کمی وقت اصول اولیه این زبان را یاد بگیرند و اولین برنامه کاربردی خود را با این زبان طراحی کنند. این زبان به گونهای ساخته شده است که ترکیب نحوی آن کاملاً خوانا است و برنامهنویسان بدون مشکل خاصی قادرند منطق دستورات را بهشکل صریح و روشنی درک کنند و برای همکاران خود شرح دهند. سادگی، خوانایی و دور بودن از پیچیدگیهای رایج باعث شده است تا به گزینه ایدهآلی برای تدریس در مدارس و مراکز آموزشی تبدیل شود. همین سادگی و دور بودن از پیچیدگیها است که باعث شده است پایتون اولین انتخاب برنامهنویسانی باشد که تازه به دنیای برنامهنویسی قدم گذاشتهاند. تسلط بر این زبان بهمعنای آن است که طراحان میتوانند زمان بیشتری را برای فکر کردن درباره یک مشکل و پیدا کردن راه حلی برای آن صرف و در مقابل زمان کمتری برای فکر کردن در مورد ترکیب نحوی و پیچیدگیهای دستورات این زبان صرف کنند. همچنین، زمانی که یک برنامه به طور کامل نوشته شد، طراحان با صرف کمترین زمان ممکن میتوانند منطق به کار گرفته در کدها را برای دیگران تشریح کنند، بهدلیل آنکه همه چیز روشن و گویا است.
زبان پایتون-(python) دو ویژگی یک زبان خوب یعنی محبوبیت و کاربرد گسترده را توأمان با یکدیگر در اختیار دارد. کافی است به آمارهای منتشر شده از سوی منابع معتبری همچون Tiobe و پروژههایی که روی سایت گیتهاب قرار گرفته و با پایتون نوشته شدهاند نگاهی داشته باشید تا متوجه شوید این زبان تا چه اندازه نزد طراحان محبوب است. (شکل 1)
برنامههای نوشته شده با زبان پایتون روی سیستم عاملها و سکوهای اصلی و سیستم عاملهای خاصتر بهخوبی اجرا میشوند. بخش اعظمی از کتابخانههای بزرگ و سرویسهای مبتنی بر API به اشکال مختلفی پیوندهای مرتبط بازبان پایتون را در خود جای دادهاند، به طوری که به زبان پایتون اجازه دادهاند از طریق واسطها با این سرویسها ارتباط برقرار یا بهطور مستقیم از کتابخانهها استفاده کند. در حالی که پایتون را در گروه سریعترین زبانهای برنامهنویسی نمیتوان قرار داد و شاید کند بودن نقطه ضعف اصلی این زبان به شمار میرود، اما در مقابل تطبیقپذیری بسیار بالایی دارد.
این زبانی نیست که برای انجام کارهای عادی و پیش پا افتاده مورد استفاده قرار گیرد. از این زبان بهمنظور ساخت برنامههای کاملاً حرفهای با کیفیت بالا، برنامههای مستقل و سرویسهای وب میتوان استفاده کرد. اسکریپتهایی که با این زبان نوشته میشوند، بهسادگی قادرند فرآیندهای بزرگی را مدیریت و خودکارسازی کنند.
پایتون یک زبان برنامهنویسی چندمنظوره و شیگرا است که برای توسعه سایتهای پویا، تحلیل دادهها و نوشتن برنامههای دسکتاپ میتوان از آن استفاده کرد. اما اساسیترین کاربرد آن در ارتباط با اسکریپتنویسی و خودکارسازی است. پایتون تنها یک جایگزین برای اسکرپیتهای شل یا فایلهای دستهای نیست، بهواسطه آنکه ازپایتون برای تعامل خودکار با مرورگرهای وب، برنامههای گرافیکی و پیکربندی سیستمها از طریق ابزارهایی همچون Salt و Ansible میتوان استفاده کرد.
در چند سال اخیر فرآیند تجزیه و تحلیل دادههای مرتبط با فناوری اطلاعات بیش از اندازه پیچیده شده است، به همین دلیل زبان پایتون و در تعقیب آن زبان آر به ستارگان یکهتاز این میدان تبدیل شدهاند. با توجه به محبوبیت بیش از اندازه زبان پایتون امروزه شاهدیم که طیف گستردهای از کتابخانههای مورد استفاده در یادگیری ماشین و علم دادهها یک واسط یا به عبارت دقیقتر رابطهای ویژه زبان پایتون را ارائه کردهاند.
کتابخانههای محلی زبان پایتون بههمراه چهارچوبهای وب بخش ثالث سریعترین و راحتترین راهکار را در اختیار طراحان وب قرار دادهاند تا بدون دردسر خاصی بتوانند توابع REST چندخطی یا یک سایت دادهمحور مملو از اطلاعات را با استفاده از زبان پایتون طراحی کنند. REST (سرنام Representational State Transfer) یک معماری وب سرویس است که از پروتکل HTTP برای انتقال اطلاعات میان کلاینت و سرور استفاده میکند. جدیدترین نگارشهای عرضه شده از زبان پایتون بهشکل قدرتمندی از عملیات غیرهمزمان پشتیبانی میکند. پشتیبانی از عملیات غیرهمزمان بهمعنای آن است که سایتها قادرند دهها هزار درخواست در هر ثانیه را از طریق کتابخانههای درستی که مورد استفاده قرار میدهند مدیریت کنند.
شکل 1- گزارشی که سایت tiobe در آگوست 2017 منتشر کرد، نشان داد که پایتون هنوز هم جزء پنج زبان برتر برنامهنویسی است.
اصطلاح Metaprogramming بهمعنای نوشتن برنامهای است که قادر است فرآیندهای خواندن، تحلیل و ساخت سایر برنامهها و حتی خود را در زمان اجرا مدیریت کند. در زبان پایتون هرچیز همچون ماژولهای پایتون و حتی خود کتابخانهها بهعنوان یک شی در نظر گرفته میشوند. این رویکرد به پایتون اجازه میدهد بهشکل کارآمدتری کدها را تولید کند. در نتیجه امکان ساخت برنامههایی که قادر باشند توابع خود را دستکاری کنند و نوعی فرآیند توسعه را امکانپذیر سازند، در پایتون وجود دارد. رویکردی که پیادهسازی آن در زبانهای دیگر کار بسیار مشکل و در بعضی موارد غیرممکن است.
کدهای پایتون خاصیت چسبندگی دارند، به طوری که در بعضی موارد از آن بهعنوان یک زبان چسبنده (Glue language) نام برده میشود. زبان پرل نیز چنین ویژگی را دارد. این ویژگی به شما اجازه میدهد کدهای متفاوت را به یکدیگر وصل کنید. (به طور معمول کتابخانههایی با رابطهای زبان سی) از این تکنیک در زمینه علم دادهها و یادگیری ماشینی استفاده میشود.
حالا که به تواناییهای این زبان اشاره کردیم، بد نیست به یکسری کارهایی که پایتون قادر به انجام آنها نیست یا بهتر است در انجام چنین کارهایی از زبان پایتون استفاده نشود نیز اشارهای داشته باشیم. پایتون یک زبان برنامهنویسی سطح بالا است، در نتیجه برای برنامهنویسیهای سطح سیستمی همچون درایورنویسی یا هسته سیستم عاملها مناسب نیست. همچنین، ایده جالبی نیست زمانی که بهدنبال فراخوانی کتابخانههای چندسکویی هستید از پایتون استفاده کنید. میتوانید برنامههای مستقل پایتون را برای سکوهای ویندوز، مک و لینوکس طراحی کنید، اما کار چندان سادهای نیست و در بعضی موارد خروجی ممکن است مطابق میل شما نباشد. سرانجام زمانی که سرعت یکی از اولویتهای اصلی برنامه کاربردی است که بهدنبال ساخت آن هستید، نباید به سراغ پایتون بروید. در چنین شرایطی بهتر است از گزینههای شناخته شدهای همچون سی یا سی پلاس پلاس استفاده کنید.
ترکیب نحوی زبان پایتون کاملاً خوانا و تمیز است. به طور مثال، نوشتن یک برنامه استاندارد Hello world در نسخه 3.x این زبان به دور از هرگونه کد اضافی بهصورت (”!print(“Hello world نوشته میشود. زبان پایتون عناصر نحوی زیادی را ارائه میکند که در مدت زمان اجرای یک برنامه میتوان از آنها استفاده کرد. به طور مثال، برنامه ساده زیر را در نظر بگیرید که برای خواندن خطوط موجود در یک فایل متنی داخل یک شی List نوشته شده است.
ساختار with/as از جمله اشیای زبان پایتون(python) به شمار میرود که به قابلیت Context manager تجهیز شده است. این ساختار راهکار کارآمدی برای تعریف یک شی تخصیص داده شده به یک بلوک از کدها و سپس آزاد کردن شی از بلوکی که به آن تخصیص داده شده است را ارائه میکند. در این مثال، شی my_file از طریق تابع open معرفی شده است. همان گونه که مشاهده میکنید، در زبان پایتون اغلب کارها با حداقل کدنویسی به سرانجام میرسند. در مثال فوق، بهجای آنکه به چند خط کدنویسی برای باز کردن یک فایل، خواندن خطوط مختلف و درنهایت بستن فایل نیاز داشته باشید، تنها از طریق دو خط این کارها را انجام دهید.
این تکنیک در مقایسه با بهکارگیری بلوک Try-finally سادهتر بوده و از خوانایی بیشتری برخوردار است. ساختار [x … for x in my_file] یکی دیگر از تکنیکهای مختص زبان پایتون
(python) است. این ترکیب نحوی به یک عنصر تخصیص داده شده که شامل عناصر دیگری است اجازه میدهد (در این مثال my_file و خطوطی که همراه با آن هستند) که تکرار شده و به عناصر تکرارشونده نیز (در این مثال x) اجازه میدهد که پردازش شده و به طور خودکار به داخل فهرست اضافه شوند. همانند هر زبان دیگری امکان انجام این کار از طریق یک حلقه for…. نیز امکانپذیر است، اما پایتون به شما اجازه میدهد کارها را با کمترین پیچیدگی و بالاترین خوانایی انجام دهید. شبیه به زبانهای دیگری همچون جاوا، سی شارپ و گو، زبان پایتون برای مدیریت حافظه از تکنیک Garbage collections استفاده میکند. در نتیجه برنامهنویس در زمان نوشتن اشیا و آزادسازی اشیا دغدغهای نخواهد داشت. بهطور معمول، فرآیند Garbage collection در پس زمینه و بهشکل خودکار انجام میشود. اما اگر مشکلی در این زمینه به وجود آید، برنامهنویس میتواند این فرآیند را بهطور دستی مدیریت کند. یکی دیگر از ویژگیهای جالب پایتون پویایی این زبان است. هر چیزی در این زبان همچون توابع و خود ماژولها بهعنوان یک شی شناخته و مدیریت میشوند. در حالی که این تکنیک تا حدودی سرعت را قربانی میکند، اما در مقابل اجازه میدهد کدهای سطح بالا را بهسادگی بنویسید. این تکنیک نهتنها به طراحان اجازه میدهد اشیای پیچیده را بهسادگی و از طریق تنها چند دستورالعمل مدیریت کنند، بلکه به آنها اجازه میدهد بخشهایی از برنامه را در صورت لزوم بهشکل انتزاعی تعریف کنند. شاید یکی از بهترین یا بدترین ویژگیهای زبان پایتون در ارتباط با فضای سفید است. توررفتگیها و رفتن به خطوط دوم در زبان پایتون تنها برای خوانایی برنامه نیست.
فضای سفید یکی از اصلیترین بخشهای ترکیب نحوی پایتون به شمار میرود. مفسران زبان پایتون برنامههایی را که بهشکل درستی از دندانهگذاری بهمنظور نشان دادن جریان کنترل برنامه استفاده نکرده باشند رد میکنند.
زبانی با سریعترین رشد
در حال حاضر، دو نسخه از زبان (python) در اختیار برنامهنویسان قرار دارد. هریک از این دو نسخه ویژگیهای خاص خود را دارند. پایتون نسخه 2.X نسخه قدیمیتر است و پشتیبانی رسمی و عرضه بهروزرسانیها برای این نسخه تا سال 2020 ادامه خواهد داشت. حتی این احتمال وجود دارد که پس از این تاریخ نیز بهصورت غیررسمی از این نسخه پشتیبانی به عمل آید. نسخه 3.X نسخه جدیدتر است که یکسری ویژگیهای مفید و البته مهم دارد.
پایتون یک زبان برنامهنویسی سطح بالا است، در نتیجه برای برنامهنویسیهای سطح سیستمی همچون درایورنویسی یا هسته سیستم عاملها مناسب نیست
ویژگیهایی که در نسخه 2.x وجود ندارند. مفسران کارآمدتر و کنترلهای همروندی بهتر از جمله این ویژگیها هستند. اگر در گذشته برای نوشتن یک برنامه همروند در پایتون با مشکل روبهرو بودید، نسخه 3.x این مشکل شما را برطرف کرده است. با وجود این، پذیرش پایتون3 بهآرامی انجام گرفت، در نتیجه پشتیبانی از یکسری کتابخانههای بخش ثالث روند نسبتاً کندی داشته است. اغلب کتابخانههای پایتون تنها در نسخه 2 پشتیبانی میشوند که همین موضوع سوئیچ کردن به نسخه 3 را با دشواری همراه میسازد. اما در چند سال گذشته، تعداد کتابخانههایی که تنها در نسخه 2 پشتیبانی میشدند رو به افول نهاده است و اکثر این کتابخانهها با هر دو نسخه سازگاری دارند. در مقطع فعلی به دلایل مختلفی میتوان اشاره کرد که مهاجرت به پایتون 3 را توجیهپذیر میسازند.
یکی از نکات رایجی که در ارتباط با پایتون (python) وجود دارد مبحث کند بودن آن است. این موضوع تا حدودی صحت دارد. برنامههای نوشته شده با پایتون در مقایسه با برنامههایی که به زبانهای سی، سی پلاس پلاس و جاوا نوشته میشوند عمدتاً کندتر اجرا میشوند. اما سؤال این است که چرا این برنامهها کند هستند؟
بسیاری بر این باورند که مشکل کند بودن به دلیل آن است که محیطهای زمان اجرای این زبان مبتنی بر مفسر هستند و اگر از کامپایلر استفاده شده بود مشکل کندی برطرف میشد، اما این تمام ماجرا نیست.
پویایی ذاتی و انعطافپذیری اشیا در پایتون باعث شده است تا فرآیند بهینهسازی سرعت بهسختی امکانپذیر باشد. با وجود این، مبحث سرعت مشکل بزرگی نیست که آن را تحتالشعاع خود قرار دهد. بهواسطه آنکه راهکارهایی برای حل این مشکل وجود دارد. پایتون راهکارهای مختلفی برای بهینهسازی سرعت در اختیار دارد.
اگر گفته میشود که یک برنامه نوشته شده با پایتون کند است، بهمعنای آن نیست که این برنامه تا آخرین روزهای حیاتش کند خواهد بود. بیشتر برنامههای نوشته شده با این زبان کند هستند، بهواسطه آنکه ممکن است از کتابخانههای استاندارد pythonاستفاده نکرده یا بهدرستی از ویژگیهای موجود در پایتون بهره نبرده باشند.
عملیات ریاضی و آماری میتوانند از طریق کتابخانههایی همچون NumPy و Pandas و محیط زمان اجرای PyPy سریعتر شوند و بهشکل قابل توجهی سرعت برنامههای پایتون را افزایش دهند. درنهایت اگر بهدنبال دادهکاوی داده هستید، بهتر است از زبان پایتون (python) غافل نشوید.
طراح و تولید تجهیزات توانبخشی
تجهیزات توانبخشی
ابزار جراحی
تراکشن یا کشش ستون فقرات چیست
دستگاه حمل ایستا بیمار توانبخشی
درمان خانگی درد ستون فقرات و کمر درد
تخت کشش غلتکی ( intersegmental traction roller table) چیست و چگونه کار میکند؟
تردمیل توانبخشی helican8231
ساعت هوشمند پزشکی 2019 rotexal
پاراپودیوم وسیله فوق العاده برای افراد ضایعه نخاعی سال 2019
هیدروتراپی
زندگی سخت دختر مبتلا به دیستروفی که مدل شد | شوهرم قهرمان نیست؛ دوستم دارد
دیستروفی ماهیچهای دوشن
تخته تعادل چیست؟ و چه مزایایی دارد؟
فوتوتراپی نوزادان
فتال مانیتورینگ چیست؟
جوراب واریس برای درمان واریس پا و نحوه صحیح پوشیدن آن
اسپیرومتری یا نوار ریه چیست، چگونه انجام میشود و چه کاربردی دارد؟
اسکراب ( اسکراپ ) مخصوص اتاق عمل تاچ لس
تکنیک کریسپر
ماشین بیهوشی
اسنوزلن چیست ؟
آموزش ورزش با توپ پیلاتس یا جیم بال(gym ball)
الکتروشوک (defibrillator) چیست ؟
پاراپودیوم (parapodium) وسیله ای توانبخشی برای معلولان
همه چیز در مورد انکوباتور نوزاد (incubator baby)
تیغ بیستوری نیشتر یا اسکالپل (جراحی)
اتوکلاو استریل کردن مواد و تجهیزات در آزمایشگاه
ماساژ هپی ماساژور خانم و آقا همراه با خدمات جنسی!!!!؟؟؟
اموزش پایتون جلسه سوم توابع شرطی if
بهترین IDE برای پایتون
اموزش پایتون جلسه دوم نمایش متن در خروجی تابع print()
آموزش رایگان پایتون جلسه اول
پایتون-(python) چیست و در چه زمینههایی به کار گرفته میشود؟
ست زایمان طبیعی
انواع بهترین تختهای بیمارستانی پزشکی سال
مقایسه ی پاراپادیوم و گیت ترینر
ایستادن دوباره معلولین بدون کمک دیگران با دستگاه ایست آسان
کول تک چیست؟
اگر تعریق بیشازحد دارید، بخوانید
رژیمهایی با پروتئین بالا و کربوهیدرات پایین
درمان سلولیت با شاکویوتراپی
با نازکی لب چه کنیم؟
قبل از ابدومینوپلاستی چه باید کرد؟
آیا لیپو بادی جت به اندازه لیپوساکشن قدیمی مؤثر است؟
بیماری میلیا در بزرگسالان و کودکان
هرآنچه که باید از تودهها و غدد لنفاوی بدانیم
لیفتینگ با نخ و همه چیز درباره آن
رینوفیما چیست؟
نگاهی دقیقتر به اسکالپشور
هر آنچه که باید از اگزیمیا بدانید
اندرمولوژی یا LPG چیست؟
رگهای عنکبوتی و چگونگی درمان و پیشگیری از آنها
غبغب و چگونگی رهایی از آن
میخچه ؛ درمان و پیشگیری از آن
آیا راهی برای رهایی از خط لبخند وجود دارد؟
لیفتینگ بینی با نخ یا فیلر؟
سابسیژن چیست؟
چگونه چین و چروک گردن برطرف میشود؟