پایتون (به انگلیسی:Python)یک زبان پروگرام نویسی تمام منظوره،سطح بالا، شیءگرا مفسر است که توسط خَودو فان روسوم (به هلندی: Guido van Rossum) در سال ۱۹۹۱ در کشور هلند طراحی شد.
فلسفهٔ ایجاد آن تاکید بر دو هدف مهم خوانایی بالای برنامـه های نوشته شده و کوتاهی و بازدهی نسبی بالای آن است.کلمات کلیدی اصلی این زبان به صورت حداقلی تولید و ساخت شدهاند و در مقابل کتابخانههایی که در اختیار کاربر است بسیار زیاد وسیع هستند . یک کار غیر معمول که در طراحی این زبان انجام گرفته استفاده از فاصله جلوبردن متن پروگرام برای معین کردن بلوکهای مختلف کد است.
آموزش سی شارپ
پایتون مـدل های مختلف پروگرام نویسی (از عبارت شیء گرا پروگرام نویسی دستوری تابع محور) را پشتیبانی میکند جهت معین کردن نوع متغییرها از سامانهٔ پویا مصرف میکند.
این زبان از زبانهای برنامـه نویسی مفسر بوده و به صورت کامل زبان شیگرا است که در ویژگیها با زبانهای تفسیری پرل، روبی، اسکیم، اسمالتاک تیسیال مشابهت دارد و از مدیریت اتوماتیک حافظه مصرف میکند.
پایتون پروژهای آزاد متنباز توسعهیافتهاست توسط بنیاد نرمافزار پایتون مدیریت میگردد.همهم اکنون (خرداد ۱۳۹۰ خورشیدی) این زبان در دو ورژن ٔ پایدار ۲.۷.۱ و ۳.۲ ارائه میشود.پایتون بیشتر به عنوان یک زبان اسکریپتنویسی مصرف می شود اما بعضی به عنوان زبان برنامـه نویسی نیز استفاده می شود. بر طبـق آمار موتورهای جستجو پایتون ۸مین زبان برنامـه نویسی پرطرفدار جهان است.
تاریخچه:
پایتون اواخر سال ۱۹۸۰ (میلادی) بوسیله خَودو فان روسوم در مؤسسه ملی نتایج بررسی ها و تحقیقات ریاضی و رایانه (CWI) در کشور هلند ایجاد شد. هدف خَودو ایجاد جانشینی برای زبان برنامـه نویسی ایبیسی بود که قابلیت پردازش استثناها را داشته باشد. خَودو طراح مهم پایتون است نقش دائمی او در تصمیم گیری پیرامون اهداف پایتون، باعث شد که انجمن پایتون به او لقب دیکتاتور خیراندیش زندگی (به انگلیسی: Benevolent Dictator For Life) را بدهد.
ورژن های اولیه:
در سال ۱۹۹۱ فان روسوم کدی با برچسب ورژن ۰٫۹.۰ را منتشر کرد. اما در این وهله از پیشرفت کلاسهایی با ویژگی ارث بری، پردازش استثنا، توابع انواع داده list, dict, str وجود داشت. همین طور در این ورژن ابتدایی یک سیسـتم ماژول با اقتباس از ماژول-۳ وجود داشت، که فان روسوم این ماژول را به عنوان «یکی از واحدهای عمده پروگرام نویسی پایتون» توصیف کرد. مد استثناء پایتون هم شباهتهایی به ماژول-۳ داشت، که به آن شرط else افزوده شده بود. در سال ۱۹۹۴ اولین مجمع مباحثه پیرامون پایتون شکل گرفت که وهله برجستهای در پیشرفت فرد ی پایتون بود.
نسخه ۱٫۰:
پایتون در ژانویه ۱۹۹۴ به ورژن ۱٫۰ رسید. ویژگیها عمده این نسخه حاوی وسائل های پروگرام نویسی تابعی lambda, map, filter, reduce بود.
پایتون نسخه ۱٫۲ در سال ۱۹۹۵، وقتی که خَودو در CVVI بود، ارائه شد. خَودو به کار های روی پایتون در مؤسسه ملی تحقیقات و ابتکارات (CNRI) در رستون ادامه داد در همانجا چندین نسخه نو انتشار یافت.
در نسخه ۱٫۴ به پایتون چندین ویژگی جدید اضافه شد. از ویژگیهای دیدنی تذکر در بین این اضافات میتوان به الهام گرفتن از آرگومانهای کلیدی ماژول-۳ (که خود از آرگومانهای کلیدی لیسپ الهام گرفته بود) و همچنین پیشتیبانی اعداد مختلط اشاره کرد.
در مدت کار فان روسوم در CNRI، او پروژه «برنامـه نویسی رایانه برای هر کس» (CP4E) را ایجاد کرد تا پروگرام نویسی را در دسترس افراد که اطلاعات پایهای جهت برنامـه نویسی (برای مثال توانایی در زبان انگلیسی مهارتهای اولیهٔ ریاضی) را دارند، قرار دهد. زبان برنامـه نویسی پایتون به دلیل تمرکزش بر روی پاکسازی فرم دستوراتش، نقش مرکزی را ایفا کرد. این پروژه توسط دارپا سرمایه گذاری شد واز سال ۲۰۰۷ غیر فعال شد.
باز و آزاد بودن:
در سال ۲۰۰۰ تیم گسترش دهنده پایتون به BeOpen.com منتقل شد بدین صورت تیم کتابخانه باز پایتون شکل گرفت. به پیشنهاد CNRI ورژن ۱٫۶تولید و ساخته شد، بدین ترتیب پروگرام های تولید شده برای ۱٫۶و ۲٫۰اشتراکهای قابل توجه ی داشتند. تنها پایتون ۲٫۰ توسط BeOpen.com طراحی شده بود. بعد از تولید پایتون ۲٫۰ توسط BeOpen.com، خَودو دیگر گسترش دهندگان کتابخانه پایتون به ایجاد دیجیتال روی آوردند. تولید پایتون ۱٫۶ حاوی جواز جدید CNRI بود که به طور قابل توجه ی زیاد تر از جواز CWI (که جهت تولیدات قبلی مصرف شده بود) بود. بنیاد نرمافزار آزاد توضیح داد که انتخاب شرط قانون با GNU GPL ناسازگار بود., BeOpen CNRI FSF تغییراتی را در جواز پایتون ایجاد کردند که با GPL سازگار باشد. پایتون ۱٫۶.۱ عمدتاً مشابه پایتون ۱٫۶ است تنها با کمی اشکال، با جواز سازگار با GPL.
نسخه ۲٫۰:
پایتون ۲٫۰ فهرستی از ویژگیهایی را که از زبانهای برنامـه نویسی تابعی ستل هاسکل اقتباس شده بود، معرفی کرد. نحو پایتون برای این ساختار (جدا از برتری هاسکل برای کاراکترهای نقطه گذاری و کلمات الفبا) زیاد مشابه هاسکل بود. پایتون ۲٫۰ همچنین یک سیستم بازیافت حافظه با قابلیت جمع آوری منابع معرفی کرد. پایتون ۲٫۱ به پایتون ۱٫۶.۱ و ۲٫۰ نزدیک بود. جواز آن به جواز مؤسسه نرمافزار پایتون تغییر نام یافت. تمام کدها، اسناد معین ات اضافه شده را از تولید الفبای پایتون ۲٫۱ بوسیله مؤسسه نرمافزار پایتون (PFS) دارا شد. یک سازمان غیر انتفاعی در سال ۲۰۰۱ تشکیل شد که از مؤسسه نرمافزار آپاچی مد گرفته بود. تولیدات حاوی تغییراتی در ویژگیها زبان در پوشش حوزههای تو در تو بود، مشابه دیگر زبانهای حوزهای ایستا. (این ویژگیها دوباره از بین رفتند به پایتون ۲٫۲ منتقل نشدند.) تغییر بزرگ در پایتون ۲٫۲ یکسان سازی انواع دادهای پایتون کلاسها به یک سلسله مراتب بود. این یکسان سازی اشیاء پایتون را کاملاً شیء گرا کرد.
میراث جاوا:
گزینش نحو ضمایم کتابخانه استاندارد پایتون شدیداً وابسته به گاهی موارد در جاوا بود: بسته logging در نسخه ۲٫۳، تجزیه کننده SAX در ورژن ۲٫۰ و ساختمانهای نحو که در ورژن ۲٫۴ اضافه شد.
گسترش ویژگیها :
یک طرح بیشتر شدن (PEP) در پایتون یکنواخت کردن اسنادی است که اطلاعات عمومی ای را که پایتون را شرح میدهند تولید میکنند؛ حاوی پیشنهاد ات، توصیفها و توضیح ها جهت ویژگیها زبان. PEP در نظر داشت شبیه روشهای اولیه، برای پیشنهاد ویژگیها جدید نیز برای مستند سازی طرحهای مهم ، هر علت بزرگ در پایتون را توضیح دهد. طرحهای برجسته توسط van Rossum تجدید نظر شده و شرح داده شدند.
پایتون ۳:
پایتون ۳٫۰ (که پایتون ۳۰۰۰ ویا Py3k هم خوانده میشود) به منظور شکستن سازگاری عقبرو (به انگلیسی: backward compatibility) یا به عبارتی قطع سازگاری با قدیم پایتون ۲ اصلاح خطاها و رخنهها در ورژن ٔ ۲ و همچنین حذف روشهای قدیمی طراحی شد.به عبارتی دیگر ضروری نیست که پایتون ۳ بتواند کدی که با پایتون ۲ نوشته شده را تفسیر نماید که اما این مساله توسط نرمافزار ۲to3 حل میشود.
سازگاری و همزمانی:
اولین کاندید پایتون ۳٫۰ در ۱۷سپتامبر ۲۰۰۸انتشار شد. پایتون سری ۲.x ۳.x به طور موازی با هم وجود خواهند داشت، جایی که سری ۲.x سازگاری بیشتری دارد، به جای سری ۳.x مورد استفاده قرار خواهد گرفت. PEP ۳۰۰۰ اطلاعات زیادتری را درمورد فهرست نشریات دارا ست. پایتون ۳٫۰ سازگاری قبل را نقض خواهد کرد. الزامی ندارد که کدهایی که با پایتون ۲.x اجرا میشوند، جهت پایتون ۳٫۰ بدون تغییر اجرا شوند. چون تغییرات مهم بین این دو ورژن وجود دارد مثل اختلاف در حالت پرینت (پس هر مصرف از پرینت به عنوان توضیح باعث شکست برنامـه میشود.) نوع پویای پایتون با طرحهای تغییر معنای روشهای ویِژگزینشه دیکشنری ترکیب میشود، به عنوان مثال، انتقال مکانیکی بی نقص از پایتون ۲.x به پایتون ۳٫۰ را زیاد دشوار میکند. البته اگر چه وسائل ی به نام «۲to۳» بسیاری از این وظایف انتقال را انجام میدهد، ولی بایستی توجه داشت که مصرف از شرح ات یا اخطارها با ابهام همراه است. اما در یک وهله از الفبا، ۲to۳ انتقال را حقیقتاً کامل انجام میدهد. PEP ۳۰۰۰ توصیه میکند که یک منبع نگه داشته شود (جهت سری ۲.x)، نسخه ای بر مبنای پایتون ۳٫۰ با استفاده از ۲to۳ تولید شود. کدهای نتیجه شده نبایستی تصحیح شوند، مگر اینکه کدی زیاد تر از محدوده سری ۲.x باشد. پایتون ۲٫۶ حاوی ویژگیها سازگاری مستقیم است، به طوری که یکراهنمای هشدار (warning) به صورت اتوماتیک به موارد انتقال هشدار میدهد. هشدارها بایستی برای تشخیص خطا گزارش داده شوند، مشابه ویژگیها ورژن های قبلی پایتون. (جهت اطلاعات بیشتر به PEP ۳۶۱ رجوع بکنید .)
ویژگیها :
فهرست گاهی از تغییرات عمده پایتون ۳٫۰:
تغییر پرینت چون تابع غیر قابل انتقال است نه یک توضیح . این باعث میشود که تغییر یک ماژول جهت مصرف از تابع پرینت مفرق ، آسان باشد پس ایجاد نحو منظم تر میشود. در پایتون ۲٫۶ این امکان با تایپ کردن from – future – import print – function فراهم شد.
اضافه شدن پشتیبانی از یادآوری تابع گزینش ی که میتواند جهت معرفی تایپ خصوصی یا اهداف دیگر استفاده شود.
یکسان کردن تایپ str/Unicode، به نمایندگی از یک متن، و معرفی تایپ byte تغییر ناپذیر؛ با تایپ همآهنگ با bytearray تغییر پذیر، که هر دو آرایه از بایت را ارائه میکنند.
رفع ویژگیها سازگاری معکوس، حاوی کلاسهای به فرم قبل، بخش کردن اعداد صحیح، استثناءهای رشتهای، و گزارشهای نسبتاً نا آشکار.
کاربر د:
سازمانهای بزرگی که از پایتون استفاده میکنند، حاوی گوگل ، یاهو، سرن ناسا هستند . ITA نیز از پایتون جهت گاهی از اجزای خود مصرف میکند.
امنیت اطلاعات:
پایتون همین طور مصرف وسیع ی از صنعت ایمنی اطلاعات میکند. مثلاً در چندین وسائل پیشنهاد شده توسط تأمین امنیت امنیت مرکزی و اسکنر امنیت کاربر دی وب واپیتی. پایتون ً در گسترش کاربر د مورد مصرف قرار میگیرد.
جاسازی:
پایتون با موفق یت در تعدادی از تولیدات نرمافزاری مثل زبان فایل شروع گر تعبیه شدهاست. پایتون اکثرا ً در بستههای انیمیشن زیبا ۳D مصرف میشود، مانند Houdini, Maya, Softimage XSI, TrueSpace, Poser, Modo, Nuke, Blender. GIMP, Krita, Inkcape, Scribus, Paint Shop Pro ESRI اکنون در حال ترقی دادن پایتون به عنوان برترین انتخاب برای نوشتن فایل آغازگر در ArcGIS است. همچنین در بازیها استفاده میشود، مانند Civilization IV و Mount&Blade به عنوان زبان کنترل برای نمایش عکس جالب العمل حوادث.
مقبولیت:
در بسیاری از سیسـتم های عملیاتی، پایتون یک جزء استاندارد است؛ چون با بیشتر بخشهای لینوکس انتقال داده میشود، با NetBSD OpenBSD وRed Hat Linux.Mac OS X Fedora هر دو از نصب نماید ه پایتونی استفاده میکنند. لینوکس Gentoo از پایتون در سیسـتم مدیریت بسته، حمل وسائل های دستیابی خود استفاده میکند. Pardus از آن جهت مدیریت و در طول راه اندازی سیستم مصرف میکند.
و……
البتّه شرح ات بیش تری وجود دارد که جهت مشاهده آن ها به ویکی پدیا مراجعه بکنید .
و سر انجام محبوبیت زبان در نوآموزان پروگرام نویسی:
نتایج بررسی نشان میدهد زبان برنامـه نویسی پیتون (Python) در بین دانشجویان علوم رایانه ای برنامـه نویسی از نظر محبوبیت بر زبان جاوا پیشی گرفته است.
به گزارش ایتنا از همکاران سیستم به نقل از وب وب سایت pcworld، پیمایشی که توسط انجمن ای سی ام (ACM) صورت گرفته است نشان میدهد در بین دانشجویان علوم رایانه برنامـه نویسی در آمریکا زبان پیتون اهمیت برتری یافته است و زبان جاوا را پشت سر گذاشته است.
بنا بر یافتههای این مطالعه، همهم اکنون از ۱۰ دسری مان علوم رایانه ای برتر آمریکا ۸ تای آنها از زبان پیتون جهت روش برنامـه نویسی به دانشجویان مصرف میکنند. از بین ۳۹ مدرسه علوم رایانه ای برتر نیز ۲۷ تای آنها از این زبان برای آشنا کردن دانشجویان با برنامـه نویسی مصرف میکنند.
سه موسسه برتری که کلاسهای راهنمای ی آنلاین در زمینه برنامـه نویسی برگزار میکنند نیز از این زبان برای آموزش مقدماتی پروگرام نویسی مصرف میکنند.
بر اساس این گزارش، محبوبیت زبان پیتون در بین نوآموزان پروگرام نویسی چند سالی است رو به ارتقا است، اما این اولین بار است که بر زبان جاوا پیشی میگیرد. جاوا در دهه قدیم اهمیت برتر این حوزه را از آن کرده بود.
پیش از آن در دهه ۱۹۸۰ زبان برنامـه نویسی پاسکال اهمیت برتر را از آن خود کرد ولی این اهمیت به مرور وقت به اشغال زبانهای جاوا و ++C درآمد.
زبان پیتون ویژگیهایی دارد که آن را جهت استفاده در دانش کده ها مناسب کرده است. این زبان از جاوا ++C سادهتر است و نوآموزان را قادر میسازد پروگرام نویسی را سریعتر بیاموزند. بعلاوه، این زبان در صنایع مختلف، بهبرای در حوزههایی مثل خدمات مالی نقد داده فرد ی زیاد ی دارد.