Warning: Declaration of tie_mega_menu_walker::start_el(&$output, $item, $depth, $args, $id = 0) should be compatible with Walker_Nav_Menu::start_el(&$output, $item, $depth = 0, $args = Array, $id = 0) in /home3/afgsaane/public_html/wp-content/themes/jarida/functions/theme-functions.php on line 1904
معرفی پایتون | سایت تخصصی کامپیوتر afgsaa
خانه » برنامه نویسی » معرفی پایتون

معرفی پایتون

Python Programming Language

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

اندکی از تاریخ

در اواخر دهه ۸۰ میلادی، آقای ون روسوم(Guido van Rossum) که در آن زمان در مرکز تحقیقاتی CWI مشغول به کار بود، طراحی یک زبان برنامه نویسی با قابلیت مدیریت استثنا ( Exception Handling ) و به عنوان جایگزین زبان ABC و سازگار با سیستم عامل Amoeba را آغاز کرد.

نسخه شماره ۱ پایتون در ژانویه سال ۱۹۹۴ در دسترس عموم قرار گرفت. تا قبل از سال ۲۰۰۰ که نسخه شماره ۲ آن آماده شد، آقای ون روسوم ابتکاری به نام CP4E (یا برنامه نویسی برای همه)  را پایه گذاری کرده بود که هدف آن آشنایی همه با برنامه نویسی، از طریق آموزش مهارت های اولیه برنامه نویسی بود. از آن جا که زبان پایتون از همان ابتدا از یک دستور زبان( syntax) ساده و قابل فهم بهره می برد، نقشی محوری در این برنامه پیدا کرد. با آماده شدن نسخه شماره ۲، ایده های بیشتر و مفید تری به ساختار زبان اضافه شد و با نسخه شماره ۲.۲ تغییرات مهمی در هسته اصلی زبان به وجود آمد که به استفاده هرچه بیشتر از آن کمک شایانی کرد. نسخه شماره ۳ زبان پایتون که با نسخه های قبلی به شکل هدف مندی سازگار نبود در دسامبر سال 2008 در دسترس استفاده کنندگان قرار گرفت.

فلسفه محوری

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

تاثیرپذیری از دیگر زبان ها

دستور زبان و برخی از پایه ای ترین فلسفه های زبان پایتون مستقیما از زبان ABC گرفته شده است. از زبان C برخی دستورات زبان نمونه برداری شد و از Bourne Shell به عنوان مدلی برای یک مفسر هم کنشی ( Interactive ) استفاده شد. امکاناتی مانند List Comprehension ، توابع Anonymous ، تابع map و Lexical Closure از زبا نهای تابعی مانند Lisp و Haskell قرض گرفته شد. Generator ها و Iterator ها هم از زبان Icon اقتباس شد و در نهایت با مفاهیم تابعی ادغام گردید.

زبان Modula-3 به عنوان اساس کار کردن با Exception ها و پیاده سازی ماژول های خود پایتون مورد استفاده قرار گرفت. Perl هم نحوه کارکردن با عبارت باقاعده ( Regular Expression) را به پایتون قرض داد و البته طراحی بخش های زیادی از کتابخانه پایتون به شدت از جاوا متاثر شد.

ساختار کلی زبان

زبان پایتون بر اساس مدل مفسری طراحی شده است. سیستم Type آن بر اساس مدل تایپ دهی اردکی ( Duck Type ) است و در عین این که type یک متغیر به شکل پویا تعیین می شود( Dynamic Type ) از قوانین Strong Type هم تبعیت می کند. به عبارت دیگر، اجازه رفتارهایی که نتیجه منطقی خیلی مشخصی ندارند را نمی دهد. مانند وقتی که یک مقدار از نوع عدد را بخواهید به مقدار دیگر از نوع رشته اضافه کنید.

در سیستم Type پایتون، تعدادی نوع داده اصلی با خواص و قوانین تغییر (Cast) مشخص تعریف شده است که عبارتند از:  int, float، str، dict، list bytes، bytearray، tuple، set، bool، complex و ellipsis . همچنین زبان پایتون اکثر دستورات کنترلی و عملگرهای اصلی ریاضی و البته باینری را پشتیبانی می کند.

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

نقاط قوت

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

نکات چالش برانگیز

یکی از مهم ترین چالش هایی که برنامه نویسی با زبان پایتون به وجود می آورد، محدودیت در امکاناتی است که پایتون برای همزمانی در اختیار دارد. برای سادگی در پیاده سازی های امکانات مختلف، در پایتون مفهومی به نام GIL یا Global Interpreter Lock وجود دارد که تعداد Thread هایی که در هر لحظه می توانند کار انجام دهند را محدود می کند و به صورت پیش فرض استفاده بهینه از تمام پردازنده های موجود را ناممکن می سازد. البته برای رفع این مشکل بسته های متنوع و متفاوتی طراحی و پیاده سازی شده که مشکل را حل می کنند ولی معمولا نیاز به طراحی و پیاده سازی مجدد بخش هایی از برنامه دارند.

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

کلام پایانی

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

منبع: Hello World

درباره م.رضائی

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نخواهد شدعلامتدارها لازمند *

*

theme
رفتن به بالا

Warning: Parameter 1 to W3_Plugin_TotalCache::ob_callback() expected to be a reference, value given in /home3/afgsaane/public_html/wp-includes/functions.php on line 3510