معرفی زبان برنامه نویسی پایتون - قسمت اول

زبان برنامه نویسی پایتون از سال 1991 به عنوان یک زبان *کار راه انداز* برای نوشتن اسکریپت هایی که کارهای تکراری و خسته کننده را خودکار می کنند و یا ساخت نمونه کوچک و اولیه برنامه هایی که در انتها با زبان های دیگری ساخته می شدند در حال استفاده شدن است.ولی در چندسال گذشته، پایتون به عنوان یک زبان برنامه نویسی سطح اول در برنامه نویسی عمومی، مدیریت زیرساخت و آنالیز داده مطرح شده است. پایتون دیگر یک زبان شناخته نشده و کم استفاده نیست، بلکه به یک بازیگر بزرگ در عرصه ساخت وب اپلیکیشن ها(Web Application) و مدیریت سیستم ها تبدیل شده است. پیشرفت های این زبان را می توان یکی از عوامل اصلی پیشرفت عرصه آنالیز کلان داده ها(big data analytics) و هوش مصنوعی دانست.ویژگی های مهم پایتونپایتون برای برنامه نویسان با سطوح مختلف (از تازه کار تا خبره) امکانات مناسبی فراهم می کند.سادگی یادگیری و استفاده از آن پایتون بصورت پیش فرض امکانات مناسبی در اختیار برنامه نویس قرار می دهد و تولید برنامه های اولیه با آن زمان و تلاش نسبتا کمی نیاز دارد. سینتکس(syntax) پایتون به نحوی طراحی شده است که خواندن و فهمیدن آن آسان باشد، این ویژگی به افراد تازه کار کمک می کند تا راحت تر بتوانند با این زبان ارتباط برقرار کنند و به برنامه نویسان خبره تر این امکان را می دهد که زمان اضافه ای که برای فهم متن کد نوشته شده در زبان های دیگر نیاز بود را به حل مشکلات پیش روی خود اختصاص دهند.پراستفاده بودن و پشتیبانی مناسب از آنامروزه پایتون زبان شناخته شده و پراستفاده ای است. رتبه بالای پایتون در شاخص Tiobe و تعداد بالای پروژه های پایتون در گیت هاب نشان دهنده ی این موضوع هستند. پایتون برروی تمام سیستم عامل ها و پلتفورم های بزرگ و حتی اکثر کوچک ها اجرا می شود. بسیاری از سرویس های API ، از پایتون برای ارتباط با دیگر قسمت های سیستم استفاده می کنند.مناسب برای کارهای ساده تا پیچیدهبا وجود اینکه مقدار زیادی از استفاده های پایتون در خودکار کردن کارهای تکراری و نوشتن اسکریپت هاست، پایتون برای ساخت برنامه های حرفه ای نیز استفاده می شود، چه به عنوان یک برنامه مستقل و چه به عنوان یک سرویس آنلاین. اگرچه این زبان از سرعت خیلی بالایی نسبت به زبان های سطح پایین (C/C++) برخوردار نیست، ولی گسترده بودن استفاده های آن می تواند سرعت کمش را جبران کند. زبانی در حال پیشرفت در هر نسخه جدید زبان پایتون ویژگی های جدیدی به این زبان اضافه می شود که به این زبان کمک می کند تا پابه پای روش های جدید برنامه نویسی پیشرفت کند. برای مثال در نسخه های جدید، عملیات های غیرهم زمان(asynchronous operations) یکی از اجزای استاندارد این زبان شده اند که به برنامه های نوشته شده با پایتون، قابلیت انجام چند کار هم زمان را می دهد.استفاده های پایتونهمان گونه که گفته شد، پایه ای ترین و ساده ترین استفاده از پایتون ساخت اسکریپت ها و برنامه هایی برای خودکار کردن فرآیندهای تکراری است. پایتون نه تنها در کارهایی که قبلا با اسکریپت نویسی در شل (shell scripting) انجام می شد جایگزین آن شده است، بلکه به کمک پایتون میتوان کارهایی که قبلا قابل انجام نبود مثل تعامل با مرورگرها یا رابط گرافیکی برنامه ها و یا حتی تشکیل ، پیکربندی و سرپرستی سیستم های مختلف (با استفاده از Ansible و Salt) را انجام داد. ولی اسکریپت نویسی تنها قسمت کوچکی از توانایی های پایتون است. نوشتن برنامه های عادیشما به وسیله ی پایتون می توانید هم برنامه های قابل اجرا در محیط کامند لاین بسازید و هم برنامه هایی دارای محیط گرافیکی و از آنها به عنوان یک فایل اجرایی مستقل استفاده کنید. (البته پایتون توانایی تولید برنامه های مستقل قابل اجرا از اسکریپت نوشته شده در این زبان را به خودی خود ندارد، ولی به وسیله ی پکیج هایی مانند cx_Freeze و PyInstaller می توان این کار را انجام داد).استفاده در علوم داده(Data Science) و یادگیری ماشین(Machine Learning) آنالیز داده های پیچیده امروزه به یکی از قسمت های مهم و به سرعت درحال پیشرفت فناوری های اطلاعات تبدیل شده است. بیشتر کتاب خانه های مورد استفاده در علوم داده و یادگیری ماشین دارای رابط های پایتون هستند که این ویژگی، پایتون را به پراستفاده ترین زبان رابط برای این گونه کارها تبدیل کرده است.سرویس های وب و REST APIها کتاب خانه های بومی پایتون و فریم ورک های ساخته شده برای آن راه های سریع و ساده ای برای ساخت انواع سرویس ها برای ما فراهم می کند، از سرویس ساده ای مانند REST API گرفته تا موضوعات پیچیده ای مانند یک سایت کامل را برای ما فراهم می کند. همانگونه که ذکر شد، نسخه های جدید پایتون توانایی پشتیبانی از عملیات های غیرهمزمان (asynchronous operations) را پیدا کرده اند، که به سایت ساخته شده با پایتون اجازه می دهد پاسخگوی درخواست ده ها هزار کاربر در هر ثانیه باشند. پایتون، زبانی برای صلح بین زبان ها :)پایتون به عنوان یک زبان رابط/زبان ارتباط دهنده(glue language) شناخته می شود، این اسم از توانایی پایتون در برقرار کردن ارتباط بین کدهای مختلف آمده است. ما اگر برنامه های مختلفی داشته باشیم که بخواهیم با هم در ارتباط باشند، ولی خود آن برنامه ها نمی توانند مستقیم با هم در ارتباط باشند، در بسیاری از موارد می توانیم از پایتون برای برقرار کردن این رابطه استفاده کنیم.پایتون چگونه به ساده شدن برنامه نویسی کمک می کندهمانگونه که گفته شد دستورات پایتون به نحوی ساخته شده اند که خواندن و فهمیدن آن آسان باشد. برای نوشتن برنامه ای که به ما خروجی 'Hello world' را می دهد در پایتون 3 تنها نیاز به یک خط کد داریم:print(“Helloworld!”)پایتون بصورت پیش فرض دستورات زبانی زیادی برای انجام پروسه های معمول برنامه نویسی دارد. برای مثال اگر در یک برنامه بخواهیم که خط های یک فایل متنی را به یک لیست وارد کنیم و و در حین این کار، دستور ایجاد خط جدید که در انتهای هر خط وجود دارد را حذف کنیم، تنها نیاز به 2خط کد زیر داریم :with open(‘myfile.txt’) as my_file: file_lines = [x.rstrip(‘\n’) for x in my_file]دستور with/as برای مدیریت محتوا فایل های مختلف است. این دستور برای فراهم کردن یک محتوا برای یک قسمت از کد ما است که در هنگام خروج از آن قسمت کد، آن آن محتوا نیز از بین می رود. در این مثال محتوایی که نام آن my_file است بوسیله ی دستور open بوجود می آید که کل فایل را باز می کند (این دستور جایگزین کوتاه تری برای تکرار چندباره دستور باز کردن فایل برای خواندن خط جدید و دوباره بستن آن است).در خط دوم قسمت [for x in my_file] یکی از راه های پایتون برای خواندن اجزای یک لیست است. این قسمت به ما اجازه می دهد که محتوای داخل یک جسم خارجی را مطالعه کنیم(در این مثال ما تک به تک خط های داخل my_file را به عنوان اجسام متفاوت مطالعه می کنیم و هر خط آن را به عنوان جسم x باز می گردانیم) و در هر عنصر خوانده شده به طور اتوماتیک تغییرات دلخواه را انجام دهیم (در این مثال، دستور ما حذف دستور رفتن به خط بعد از انتهای هر خط، با دستور x.strip است) و به یک لیست اضافه کنیم.زبان پایتون ویژگی های دیگری که باعث راحت تر شدن استفاده روزمره از آن است نیز دارد. بیشتر انواع شی های مدرن(مانند رشته های یونیکد) درون خود زبان تعریف شده اند. سازه های داده متفاوتی مانند لیست ها، دیکشنری ها، tuple ها و ست ها هم به طور پیش فرض در خود زبان قابل دسترسی هستند.امیر هستم از ایران پایتونیرز، ممنونم از وقتی که برای خوندن این پست گذاشتید.این پست قسمت اول از یک مطلب دو قسمتی هستش که قسمت دوم آن روز چهارشنبه پست میشه. این قسمت رو به ویژگی های خوب پایتون پرداختیم، درقسمت بعدی این پست به نسخه های متفاوت پایتون، اشکالاتی که به پایتون گرفته میشه و کتاب خانه های پایتون می پردازیم و بیشتر با اونها آشناتون می کنیم.ما به تازگی استفاده از پلتفرم ویرگول رو شروع کردیم و به زودی مطالب بیشتری هم اینجا قرار داده میشه.برای دیدن ویدیو های آموزشی دیگری که دوستانم برای شما ساخته اند، می تونید به کانال ما در آپارات ، یوتیوب و یا تلگرام مراجعه کنید.منبع : www.infoworld.com