بخش اول آموزش Python : معرفی زبان برنامه نویسی پایتون

بازگشت به آموزشگاه

مقدمه

بدون شک زبان های برنامه نویسی C و C++ از قدرتمندترین و زبان های برنامه نویسی موجود سطح میانی هستند. اما زبان برنامه نویسی پایتون یکی از معدود زبان های برنامه نویسی سطح بالا می باشد که به تازگی جای خود را در میان زبان های برنامه نویسی برای میکروکنترلرها و میکرو پرسسورها باز کرده است. یکی از پلتفورم های جدید که در سال 2012 آغاز به کار کرد ، بنیاد رزبری پای می باشد. این بنیاد با ارائه بوردهای رزبری پای که قابلیت نصب سیستم عامل لینوکس و قابلیت برنامه نویسی به زبان پایتون به واسطه سیستم عامل را دارا می باشند ، انقلابی در این عرصه به شمار می رود. به علت سطح بالا بودن این زبان برنامه نویسی ، کارکردن با این زبان راحت تر بوده و حجم کدهای تولیدی به شدت کاهش پیدا می کند. در این بخش به معرفی این زبان برنامه نویسی و ویژگی های آن خواهیم پرداخت.

 


زبان برنامه نویسی پایتون چیست؟

پایتون (Python) یک زبان برنامه نویسی ( Programming Language ) همه منظوره ( General-Purpose ) ، سطح بالا ( High-Level ) ، تفسیری ( interpreter ) ، پویا ( dynamic ) و شیء گرا ( Object Oriented ) است که می توان از آن در نرم افزار ها و تکنولوژی های متنوع بهره برد. پایتون در سال 1991 توسط خَودو فان روسوم ( Guido van Rossum‏ ) در کشور هلند با دو هدف اصلی کوتاهی و بازدهی بالای کدنویسی طراحی شد. اولین نسخه پایتون در سال 1991 در CWI هلند منتشر شد.

 


ویژگی های زبان برنامه نویسی پایتون

بر خلاف برخی زبان‌های برنامه‌نویسی رایج دیگر که بلاک‌های کد در آکولاد تعریف می‌شوند ، در زبان پایتون از فاصله ( space ) و تب ( Tab ) برای مشخص کردن بلاک‌های کد استفاده می‌شود. به این معنی که تعدادی یکسان از این فاصله ها در ابتدای سطرهای هر بلاک قرار می‌گیرند، و این تعداد در بلاک‌های کد درونی‌تر افزایش می‌یابد. بدین ترتیب بلاک‌های کد به صورت خودکار ظاهری مرتب دارند. پایتون مدل‌های مختلف برنامه‌نویسی (از جمله شیء گرا و برنامه‌نویسی دستوری و تابع محور) را پشتیبانی می‌کند و برای مشخص کردن نوع متغیرها از یک سامانهٔ پویا استفاده می‌کند. این زبان از زبان‌های برنامه‌نویسی مفسر بوده و به صورت کامل یک زبان شیءگرا است که در ویژگی‌ها با زبانهای تفسیری پرل، روبی، اسکیم، اسمال‌تاک و تی‌سی‌ال مشابهت دارد و از مدیریت خودکار حافظه استفاده می‌کند. به طور کلی ویژگی های زبان پایتون عبارت است از :

  • پایتون زبان سطح بالا ( نزدیک زبان انسان ) است.
  • یادگیری و استفاده از پایتون در عرض چند روز ممکن است.
  • پایتون رایگان و متن باز ( Open Source ) است.
  • با استفاده از پایتون میتوان رابط های کاربری گرافیکی ساخت.
  • پایتون کتابخانه (library) های استاندارد و گسترده دارد.
  • روشهای بسیار قدرتمند و حرفه ای را برای کار با زبانها و ابزار های مختلف به آسانی فراهم می کند.
  • پایتون زبان برنامه نویسی تفسیری بوده و از مدیریت خودکار حافظه استفاده می‌کند.
  • کد های نوشته شده در این زبان در محدوده وسیعی از پلتفرم های لینوکسی ، ویندوزی ، مک ، و حتی گوشی های موبایل قابل اجرا است.

 


کلمات کلیدی در پایتون

فلسفه ایجاد پایتون تأکید بر دو هدف اصلی خوانایی بالای برنامه‌های نوشته شده و کوتاهی و بازدهی نسبی بالای آن است. کلمات کلیدی و اصلی این زبان به صورت حداقلی تهیه شده‌اند و در مقابل کتابخانه‌هایی که در اختیار کاربر است بسیار وسیع هستند.

 


کاربردهای پایتون

پروژه های بزرگ پایتون جزو جامعه ی متن باز است، زبانی که گوگل و یا یاهو از آن به عنوان یکی از اصلی ترین ابزارهای توسعه استفاده می کنند. برنامه های پایتون مثل زبان برنامه نویسی PHP قابل اجرا روی اغلب پلتفورم ها ( نظیر کامپیوتر ، موبایل ، تبلت ، حتی Play Station و .. ) می باشد. پایتون یک Syntax شبیه گفتار ساده ی انگلیسی دارد. شرکت Intel از پایتون در تست کردن چیپ های خود استفاده می کند. جامعه مجازی اینستاگرام با این زبان برنامه نویسی ساخته شده است. در ساخت بسیاری از بازیهای ویدئویی و کاربردهای پردازش تصویر از این زبان برنامه نویسی استفاده می گردد. از جمله پلتفورم های Embedded معروف که قابلیت برنامه نویسی با پایتون را دارند میتوان به Raspberry pi و BeagleBone Black اشاره کرد.

 

برنامه‌هایی که کاملاً یا بخشی از آن‌ها با پایتون نوشته شده است:

  • اینستاگرام (Insagram): نرم‌افزار اشتراک گذاری تصاویر و ویدیوها
  • نرم افزار بیت‌تورنت (BitTorrent): نرم‌افزار کلاینت برای فایل‌های به اشتراک گذاشته شدهٔ (p2p) توسط پروتکل بیت‌تورنت
  • بلندر (Blender): یک نرم‌افزار ۳ بعدی و متن باز بسیار معروف
  • چندلر (Chandler): مدیر اطلاعات شخصی شامل تقویم، میل، کارهای روزانه، یادداشت‌ها و…
  • Civilization IV: یک گیم کامپیوتری بر مبنای پایتون که از boost.python استفاده می‌کند
  • میلمن (Mailman): یکی از معروفترین نرم‌افزارهای مرتبط با ایمیل
  • کمبیلو (Kombilo): مدیر پایگاه داده و مرورگر بازی‌های go
  • موین‌موین (MoinMoin): یکی از قدرتمندترین و معروفترین ویکی‌های موجود
  • پلون (Plone): یک ابزار مدیریتی محتوایی اپن سورس، قدرتمند و کاربر پسند
  • پورتاژ (Portage): قلب توزیع جنتو. یک مدیر توزیع های سیستم عامل لینوکس
  • زوپ (zope): یک پلتفورم شیء گرای مبتنی بر وب. زوپ شامل یک سرور نرم‌افزار به همراه پایگاه داده شیء گرا و یک رابط مدیریتی درونی مبتنی بر وب می‌باشد
  • اس‌پی‌ای (SPE): یک IDE رایگان، اپن سورس برای سیستم‌عامل‌های ویندوز، لینوکس، مک که از wxGlade(طراحی رابط کاربر),PyChecker (دکتر کد) (Blender(3D پشتیبانی می‌کند.
  • یام (Yum): یک برنامه مدیریت بسته متن‌باز برای توزیع‌های سازگار با آرپی‌ام.
  • آباکوس(Abaqus):نرم‌افزار شبیه‌سازی با روش المان محدود که امکان اسکریپت نویسی به زبان پایتون را به کاربر می‌دهد.

 


نسخه های مختلف زبان پایتون

از زمان بوجود آمدن زبان برنامه نویسی پایتون تا کنون نسخه های مختلفی توسط بنیاد برنامه نویسی پایتون ( Python Software Foundation ) ارائه شده است. با وجود آمدن هر ورژن ورژن قبلی جایگزین می شود. در تبدیل پایتون از نسخه 2 به 3 بعضی از کتابخانه های آن به درستی کامپایل نشده و برخلاف انتظار حتی هنوز هم این مشکل رفع نشده است. به همین دلیل همزمان ورژن های 2 و 3 آپدیت می شود که از طریق سایت بنیاد پایتون در دسترس می باشد. ما در این آموزش از ورژن 2 استفاده می کنیم.

 


مقایسه پایتون با سایر زبان های برنامه نویسی

 

مقایسه با جاوا JAVA

به طور کلی انتظار می رود که برنامه های Python از برنامه های جاوا سریع تر اجرا شوند، اما برای توسعه نیز زمان بسیار کمتری وجود دارد. برنامه های پایتون معمولا 3-5 برابر کوتاهتر از برنامه های مشابه جاوا هستند. این تفاوت را می توان به نوع داده های بالا ساخته شده در پایتون و تایپ پویا آن نسبت داد. به عنوان مثال، یک برنامه نویس پایتون هیچ زمان تایید انواع آرگومان یا متغیرها و لیست پویا و چندین اصطلاح پایتون و انواع فرهنگ لغت را نادیده می گیرد، که پشتیبانی حماسی غنی به طور مستقیم در زبان ساخته شده است، در تقریبا هر برنامه پایتون استفاده می شود. به دلیل تایپ تایپ زمان اجرا، زمان اجرا پایتون باید سخت تر از جاوا کار کند. برای مثال، هنگام ارزیابی بیان a + b، ابتدا باید اشیاء a و b را بررسی کنیم تا نوع آنها را پیدا کنیم که در زمان کامپایل مشخص نیست. سپس عملیات اضافی مناسب را آغاز می کند که ممکن است یک روش تعریف شده توسط کاربر تعریف شده باشد. از سوی دیگر، جاوا می تواند یک عدد صحیح کارآمد یا اضافه نقطه شناور را انجام دهد، اما نیازمند اعلام متغیرها برای a و b است و اجازه نمی دهد که بیش از حد از اپراتور + برای موارد کلاس های تعریف شده کاربر استفاده شود.

به همین علت، پایتون به عنوان یک زبان “چسب” بسیار مناسب است، در حالی که جاوا بهتر است به عنوان زبان اجرا در سطح پایین شناخته شود. در حقیقت، این دو با هم یک ترکیب عالی را ایجاد می کنند. کامپوننت ها را می توان در جاوا توسعه داده و برای برنامه های کاربردی در پایتون ترکیب کرد؛ پایتون همچنین می تواند به اجزای نمونه اولیه بپردازد تا زمانی که طراحی آنها در اجرای جاوا سخت شود. برای حمایت از این نوع توسعه، پیاده سازی پایتون نوشته شده در جاوا در حال توسعه است، که اجازه می دهد تا با استفاده از کد پایتون از جاوا و بالعکس تماس بگیرد. در این پیاده سازی، کد منبع پایتون به bytecode جاوا (با کمک یک کتابخانه زمان اجرا برای پشتیبانی از معانی پویا پایتون) ترجمه شده است.

 

مقایسه با جاوا اسکریپت

زیر مجموعه “مبتنی بر شیء” پایتون تقریبا معادل با جاوا اسکریپت است. مانند جاوا اسکریپت (و بر خلاف جاوا)، پایتون از یک سبک برنامه نویسی پشتیبانی می کند که از توابع و متغیرهای ساده بدون تعامل در تعریف کلاس استفاده می کند. با این حال، برای جاوا اسکریپت، این همه چیز وجود دارد. از طرف دیگر، پایتون از برنامه نوشتن برنامه های بزرگتر و استفاده بهتر از کد از طریق یک شیوه برنامهریزی شی گرا پشتیبانی می کند، در حالیکه کلاس ها و ارث در بازی نقش مهمی دارند.

 


تفاوت اجرا یک کد ساده در دو زبان python و c

 


برخی منابع

https://www.python.org/doc/essays/comparisons

https://en.wikipedia.org/wiki/List_of_Python_software


برای رفتن به بخش بعدی روی تصویر زیر کلیک کنید


در صورتی که این مطلب موردپسندتان واقع شد لایک و اشتراک گذاری فراموش نشود.

1 دیدگاه

  • ahwaz1398 پاسخ

    باسلام وخسته نباشید و تشکراز اموزشهای خوبتان درصورت امکان اموزشهایی مانن پایتون را درفایلهای قابل دانلود قرار دهید تابتوان راحتر در دسترس باشند ممنون وسپاس از زحماتتان

    1398-05-24 در 02:52

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بازگشت به آموزشگاه