مقدمه ی کتاب

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


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


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


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


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


زبانی که ما قصد داریم به شما معرفی کنیم زبانی است بسیار سطح بالا: پایتون؛ پایتون زبان پیشنهادی ما به شماست که به نظر اکثر برنامه نویسان توانسته است به بهترین شکل ممکن سه قابلیت اصلی یک زبان سطح بالا یعنی سهولت بیشتر، فهم راحت تر و توسعه ی سریعتر را پیاده سازی کند. کتابی که پیش روی شماست قرار است شما را با این زبان آشنا کند و نحوه ی استفاده از آن را به شما بیاموزد تا شما هم بتوانید از مزایای این زبان استفاده کنید. مسلما یادگیری یک زبان سطح بالای خوب به ضرر شما نخواهد بود. امروزه اکثر برنامه نویسان در حال جذب شدن به چنین زبان هایی هستند چرا که متوجه شده اند دنیای زبان های برنامه نویسی به عصرِ جدیدی پا گذاشته است؛ عصرِ زبان های تفسیری و سطح بالا که سعی دارند برنامه نویسی را برای برنامه نویسان دلچسب تر کنند... عصر زبان های خوش ساخت... عصرِ پایتون!

پایتون زبان برنامه‌نویسی تفسیری و سطح بالا ، شی‌گرا و یک زبان برنامه‌نویسی تفسیری سمت سرور قدرتمند است که توسط گیدو ون روسوم در سال ۱۹۹۰ ساخته شد. این زبان در ویژگی‌ها شبیه پرل، روبی (رابی)، اسکیم، اسمال‌تاک و تی‌سی‌ال است و از مدیریت خودکار حافظه استفاده می‌کند. لوگوی پایتون

پایتون به شکل پروژه‌ای متن باز توسعه یافته است و توسط بنیاد نرم‌افزار پایتون مدیریت می‌گردد. نسخهٔ 2.6.4 این زبان در تاریخ ۲۵ اکتبر ۲۰۰۹ منتشر شد.

 

تاریخچه

نوشتن این زبان برای اولین بار در سال 1990 توسط فردی به نام گویدو ون رسوم کلید خورد. پایتون در یک محیط آموزشی ایجاد و توسعه یافته است . یعنی در کریسمس سال ۱۹۸۹ (میلادی) در موسسه ملی تحقیقات ریاضی و رایانه (CWI) شهر آمستردام. در آن زمان گیدو یک محقق در CWI بود و در زمان بیکاری خود بر روی پروژه شخصی خود یعنی پایتون کار می کرد . اولین نسخه عمومی از پایتون در ماه فوریه سال ۱۹۹۱ منتشر شد . برای مدتی نسبتاً طولانی پایتون توسط موسسه ملی تحقیقات و ابتکارات (CNRI) واقع در رستون ایالات متحده‌ امریکا توسعه می‌یافت . تا اینکه در سال 2000تیم توسعه دهنده پایتون به آزمایشگاه های پایتون منتقل شدند . نام پایتون از برنامه مورد علاقه سازنده آن یعنی مونتی پایتون که یک برنامه کمدی انگلیس بود گرفته شده است . ویژگی ها شی گرایی

پایتون یک زبان برنامه‌نویسی شی‌گرا است و از ویژگی های پیشرفته‌ایی چون وراثت، چند شکلی، سربار گزاری عملگر و ... پشتیبانی می کند. یک از ویژگی‌های پایتون که لقب چسب را برای پایتون به ارمغان آورده امکان استفاده از کد ها و کلاس‌های نوشته شده در زبانهای دیگری چون سی‌پلاس‌پلاس و‮‮ جاوا‬ است ‮که در حقیقت ‬کار‮ ‬چسباندن‮ ‬قطعات‮ ‬کد‮ ‬جدا‮ ‬و‮ ‬فقط‮ ‬نوشتن‮ ‬بدنه‮ ‬اصلی‮ ‬به‮ ‬عهده‮ ‬ پایتون ‬است‮ ‬. آزاد

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

چون پایتون با زبان قابل حمل ‏سی‮ ‬نوشته‮ ‬شده‮ ‬می‮ ‬تواند‮ ‬به‮ ‬صورت‮ ‬مجازی‮ ‬بر‮ ‬روی‮ ‬هر‮ پردازش‌گردی‮ همگردانی ‬و‮ ‬اجرا‮ ‬شود‮ ‬.‮ ‬ماشین‮ ‬مجازی (مفسر پایتون)‮ متن برنامه‮ ‬را‮ ‬خوانده‮ ‬و‮ ‬هم‌زمان‮ ‬تفسیر‮ ‬کرده‮ ‬و‮ ‬اجرا‮ ‬می‮ ‬کند‮‬.‮ ‬پس‮ ‬شما‮ ‬می‮ ‬توانید‮ ‬یک‮ ‬برنامه را‮ در ویندوز ‬بنویسید‮ ‬و‮ ‬سپس‮ ‬بدون‮ ‬تغییر‮ ‬روی‮ لینوکس ‬یا‮ مکینتاش‬ یا‮ ‬هر‮ سیستم عامل ‬و‮ سخت‌افزار ‬دیگری‮ ‬که‮ ‬ پایتون ‬روی‮ ‬آن‮ ‬نصب‮ ‬باشد‮ ‬اجرا‮ ‬کنید‮ ‬.‮ قدرتمند

پایتون زبانی چند رگه است که از زبان‌های برنامه‌نویسی تفسیری‮ (برای مثال : تی‌سی‌ال، اسکیم، پرل‮) ‬و‮ ‬زبان‌های‮ ‬سیستمی‮ (‬برای‮ ‬مثال‮‬:‮ سی‌پلاس‌پلاس، سی ‬و جاوا‮) ‬مشتق‮ ‬شده‮‬.‮ ‬بنابراین‮ ‬تمام‮ ‬سادگی‮ ‬و‮ ‬راحتی‮ ‬کار‮ زبان‌های برنامه‌نویسی تفسیری‮ ‬و‮ ‬ویژگی‬‌ها‮ ‬و‮ ‬قدرت‮ ‬زبانهای‮ ‬سطح‮ ‬پایین‮ ‬را‮ ‬داراست‮ ‬.‮ درونی سازی و گسترش

این ویژگی یکی از پرکاربرد ترین و قوی ترین ویژگی های پایتون می باشد . شما می توانید قطعه از کد را در زبانی چون ‮سی‌پلاس‌پلاس، سی ‬و جاوا ‬نوشته سپس ‬از آن‮ ‬در‮ ‬برنامه‮ ‬نوشته‮ ‬شده‮ ‬با‮ ‬پایتون‮ ‬استفاده‮ ‬کنید‮‬.‮ ‬و‮ ‬یا‮ می توان ‬از‮ ‬توابع‮ ‬کتابخانه‮ای ‬و‮ ‬کامپوننت‮ ‬هایی‮ ‬چون‮ ‬COM API‮ ‬استفاده‮ ‬کرد‮ ‬.‮ البته نوع این نوع برنامه نویسی (ماژول) با برنامه نویسی معمولی هر زبان متفاوت می باشد . می توان از کد های پایتون در زبانهای دیگر نیز استفاده کرد (درونی سازی) سهولت یادگیری و استفاده

بی شک و حداقل از نظر بسیاری از برنامه نویسان پایتون این زبان یکی از آسان ترین زبان ها برای یادگیری و استفاده می باشد و از آن به عنوان یک زبان سریع برنامه نویسی یاد می کنند . این زبان نیازی به کامپایلر ندارد و شما مستقیما می توانید پس از نوشتن کد و با یک دستور آن را اجرا کنید . دستورات این زبان بسیار نزدیک به زبان انسان می باشد .

 

پایتون

تاریخچه

نوشتن این زبان برای اولین بار در سال 1990 توسط فردی به نام گویدو ون رسوم کلید خورد. پایتون در یک محیط آموزشی ایجاد و توسعه یافته است . یعنی در کریسمس سال ۱۹۸۹ (میلادی) در موسسه ملی تحقیقات ریاضی و رایانه (CWI) شهر آمستردام. در آن زمان گیدو یک محقق در CWI بود و در زمان بیکاری خود بر روی پروژه شخصی خود یعنی پایتون کار می کرد . اولین نسخه عمومی از پایتون در ماه فوریه سال ۱۹۹۱ منتشر شد . برای مدتی نسبتاً طولانی پایتون توسط موسسه ملی تحقیقات و ابتکارات (CNRI) واقع در رستون ایالات متحده‌ امریکا توسعه می‌یافت . تا اینکه در سال 2000تیم توسعه دهنده پایتون به آزمایشگاه های پایتون منتقل شدند . نام پایتون از برنامه مورد علاقه سازنده آن یعنی مونتی پایتون که یک برنامه کمدی انگلیس بود گرفته شده است .

ویژگی ها

شی گرایی

پایتون یک زبان برنامه‌نویسی شی‌گرا است و از ویژگی های پیشرفته‌ایی چون وراثت، چند شکلی، سربار گزاری عملگر و ... پشتیبانی می کند. یک از ویژگی‌های پایتون که لقب چسب را برای پایتون به ارمغان آورده امکان استفاده از کد ها و کلاس‌های نوشته شده در زبانهای دیگری چون سی‌پلاس‌پلاس و‮‮ جاوا‬ است ‮که در حقیقت ‬کار‮ ‬چسباندن‮ ‬قطعات‮ ‬کد‮ ‬جدا‮ ‬و‮ ‬فقط‮ ‬نوشتن‮ ‬بدنه‮ ‬اصلی‮ ‬به‮ ‬عهده‮ ‬ پایتون ‬است‮ ‬.

آزاد

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

چون پایتون با زبان قابل حمل ‏سی‮ ‬نوشته‮ ‬شده‮ ‬می‮ ‬تواند‮ ‬به‮ ‬صورت‮ ‬مجازی‮ ‬بر‮ ‬روی‮ ‬هر‮ پردازش‌گردی‮ همگردانی ‬و‮ ‬اجرا‮ ‬شود‮ ‬.‮ ‬ماشین‮ ‬مجازی (مفسر پایتون)‮ متن برنامه‮ ‬را‮ ‬خوانده‮ ‬و‮ ‬هم‌زمان‮ ‬تفسیر‮ ‬کرده‮ ‬و‮ ‬اجرا‮ ‬می‮ ‬کند‮‬.‮ ‬پس‮ ‬شما‮ ‬می‮ ‬توانید‮ ‬یک‮ ‬برنامه را‮ در ویندوز ‬بنویسید‮ ‬و‮ ‬سپس‮ ‬بدون‮ ‬تغییر‮ ‬روی‮ لینوکس ‬یا‮ مکینتاش‬ یا‮ ‬هر‮ سیستم عامل ‬و‮ سخت‌افزار ‬دیگری‮ ‬که‮ ‬ پایتون ‬روی‮ ‬آن‮ ‬نصب‮ ‬باشد‮ ‬اجرا‮ ‬کنید‮ ‬.‮ قدرتمند

پایتون زبانی چند رگه است که از زبان‌های برنامه‌نویسی تفسیری‮ (برای مثال : تی‌سی‌ال، اسکیم، پرل‮) ‬و‮ ‬زبان‌های‮ ‬سیستمی‮ (‬برای‮ ‬مثال‮‬:‮ سی‌پلاس‌پلاس، سی ‬و جاوا‮) ‬مشتق‮ ‬شده‮‬.‮ ‬بنابراین‮ ‬تمام‮ ‬سادگی‮ ‬و‮ ‬راحتی‮ ‬کار‮ زبان‌های برنامه‌نویسی تفسیری‮ ‬و‮ ‬ویژگی‬‌ها‮ ‬و‮ ‬قدرت‮ ‬زبانهای‮ ‬سطح‮ ‬پایین‮ ‬را‮ ‬داراست‮ ‬.‮ درونی سازی و گسترش

این ویژگی یکی از پرکاربرد ترین و قوی ترین ویژگی های پایتون می باشد . شما می توانید قطعه از کد را در زبانی چون ‮سی‌پلاس‌پلاس، سی ‬و جاوا ‬نوشته سپس ‬از آن‮ ‬در‮ ‬برنامه‮ ‬نوشته‮ ‬شده‮ ‬با‮ ‬پایتون‮ ‬استفاده‮ ‬کنید‮‬.‮ ‬و‮ ‬یا‮ می توان ‬از‮ ‬توابع‮ ‬کتابخانه‮ای ‬و‮ ‬کامپوننت‮ ‬هایی‮ ‬چون‮ ‬COM API‮ ‬استفاده‮ ‬کرد‮ ‬.‮ البته نوع این نوع برنامه نویسی (ماژول) با برنامه نویسی معمولی هر زبان متفاوت می باشد . می توان از کد های پایتون در زبانهای دیگر نیز استفاده کرد (درونی سازی) سهولت یادگیری و استفاده

بی شک و حداقل از نظر بسیاری از برنامه نویسان پایتون این زبان یکی از آسان ترین زبان ها برای یادگیری و استفاده می باشد و از آن به عنوان یک زبان سریع برنامه نویسی یاد می کنند . این زبان نیازی به کامپایلر ندارد و شما مستقیما می توانید پس از نوشتن کد و با یک دستور آن را اجرا کنید .

 

برنامه های نوشته شده با پایتون

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

* بلندر  : یک نرم افزار 3 بعدی و اپن سورس بسیار معروف

* چندلر: مدیر اطلاعات شخصی شامل تقویم ، میل ، کار های روزلنه ، یادداشت ها و ...

* Civilization IV : یک گیم کامپیوتری بر مبنای پایتون که از boost.python استفاده می کند

* میلمن : یکی از معروفترین نرم افزار های مرتبط با ایمیل

* کومبیلو : مدیر پایگاه داده و مرورگرگیم های go

* موین موین : یکی از قدرتمندترین و معروفتریم ویکی های موجود

* پلون : یک ابزار مدیریتی محتوایی اپن سورس ، قدرتمند و کاربر پسند

* پورتاژ: قلب توزیع جنتو . یک مدیر بستهای سیستم لینوکس

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

* اس پی ای: یک IDE رایگان ، اپن سورس برای سیستم عامل های ویندوز ، لینوکس ، مک که از (طراحی رابط کاربر), (دکتر کد) پشتیبانی می کند .


صفحه قبلی: پایتون
صفحه بعدی: PyGTK