پایتون یک زبان برنامه‌نویسی شیءگرا، تفسیری، سطح بالا، و همه منظوره است، که خیدو فان روسوم آن را طراحی کرده‌است،پایتون، زبان برنامه‌نویسی نسبتا ساده‌ای محسوب می‌شود که یادگیری آن به دلیل دارا بودن سینتکس یکتایی که بر قابلیت خوانایی تمرکز و تاکید دارد آسان است. 

برخی از کاربرد های پایتون:

  • توسعه وطراحی سایت
    پایتون در بخش server side یا به اصطلاح بک اند در طراحی و برنامه نویسی سایت کاربرد دارد.
  • توسعه نرم افزار
    پایتون میتواند در توسعه نرم افزار های سیستمی و کاربری در انواع پلتفرم ها کاربرد داشته باشد.
  • ریاضیات و آمار
    پایتون در ریاضیات و آمار و Big Data کاربرد های فراوانی دارد.
  • اسکریپت نویسی
    با پایتون میتوان کار های روزمره مثلا باز کردن یک سایت و جمع آوری تمام اطلاعات یک صفحه و ریختن آن اطلاعات در یک فایل متنی را براحتی انجام دهید.

 

 1.1- انواع پیاده سازی های پایتون

اگر چه یک پیاده سازی پایتون وجود دارد که تا به حال محبوب ترین است، برخی از پیاده سازی های دیگری نیز وجود دارد که برای مقاصد خاصی توسط افراد مختلف تولید شده اند.

برخی از پیاده سازی های مشهور:

پیاده سازی اصلی زبان پایتون که خود توسط زبان C ساخته و طراحی شده و تمام ویژگی های جدید پایتون به این نسخه اضافه میشود.

  • Jython

این نسخه توسط جاوا ساخته شده است. این پیاده سازی را می توان به عنوان یک زبان اسکریپت برای برنامه های جاوا استفاده کرد، یا میتوانید با کتابخانه های جاوا در پایتون یک برنامه بنویسید.

همچنین میتوانید یک کتابخانه آزمایشی جاوا را بنویسید.برای اطلاعات بیشتر به وبگاه آن مراجعه کنید.

  • Python for .NET

این پیاده سازی از پیاده سازی cpython استفاده کرده است اما برای مدیریت و کنترل اپلیکیشن های ساخته شده توسط .NET ، کتابخانه های .NET را میتوانید داخل پایتونوارد کنید و از انها استفاده کنید . این پیاده سازی توسط Brian Lloyd ساخته شده است.برای اطلاعات بیشتر به وبگاه آن مراجعه کنید.

  • IronPython

این پیاده سازی هم مبتنی بر فناوری .NET است یعنی کد های نوشته شده در پایتون را به زبان IL که زبانی میانی است که فناوری .NET به آن کامپایل میشود.

این پیاده سازی توسط Jim Hugunin ساخته شده است. همان خالق اصلی jython برای اطلاعات بیشتر به وبگاه آن مراجعه کنید.

  • PyPy

این پیاده سازی که بطور کامل در پایتون نوشته شده است،از چندین ویژگی مختلف تشکیل شده است مثل پشتیبانی ازپشته و کامپایل در زمان اجرا.

یکی ازاهداف پروژه آسان نمودن فرایند نوشتن برنامه است.اطلاعات بیشتر را در وبگاه آن مطالعه نمایید.

هر پیاده سازی متفاوت از پیاده سازی دیگر است دراین آموزش ما به آموزش cpython میپردازیم.

1.2- نشانه گذاری ها

در طول این آموزش از یک سری علایم و نگارش هایی استفاده خواهیم کرد که نیاز هست آن علایم را اینجا مطالعه کنید.برای مثال:

name      ::=  lc_letter (lc_letter | "_")*
lc_letter ::=  "a"..."z"

خط اول در مثال بالا میگوید name حاوی یک تابع lc_letter  است.

و خود lc_letter یک توالی از a تا z است 

هر قانون یک نام دارد در مثال بالا name یک نام برای قانون که در ادامه و توسط ::= انتساب یافته است به تابع lc_letter .

خط افقی ( | ) کاربرد جدا سازی دارد.

یک ستاره (*) به معنای صفر یا بیشتر تکرار از مورد قبلی است.

به همین ترتیب، به علاوه (+) به معنای یک یا چند تکرار است.

و یک عبارت محصور شده در قلاب ([]) به معنای صفر یا یک رخداد (به عبارت دیگر، عبارت محصور اختیاری است).

اوپراتور + و * حتما رخ می دهند اما [] ممکن است رخ دهد یا ندهد.

پارانتز برای گروه بندی استفاده میشود.

رشته ها در ' ' یا " " یا """ """ یا ''' ''' قرار میگیرند.

فضای سفید فقط برای جدا کردن نشانه ها معنی دار است.

در تعاریف واژگانی (به عنوان مثال بالا)، دو کنوانسیون دیگر مورد استفاده قرار می گیرند: دو شخصیت ادبی جدا شده توسط سه نقطه به معنی انتخاب هر شخصیت تک در محدوده داده شده (شامل) از کاراکترهای ASCII است. عبارت بین (<...>) یک توصیف غیر رسمی از نماد تعریف شده را ارائه می دهد؛ به عنوان مثال، این می تواند برای توصیف مفهوم "control character" در صورت نیاز مورد استفاده قرار گیرد.

نکته : توجه داشته باشد که نشانه گذاری ها برای توصیف سینتکس زبان پایتون میباشند و نه خود زبان .