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

39
ﭘﺎﻳﺘﻮن ﻧﻮﻳﺴﻲ ﺑﺮﻧﺎﻣﻪ زﺑﺎن ﮔﺮاﻧﻘﺪر اﺳﺘﺎد ﻧﻈﺮ زﻳﺮ: ﺻﻨﻌﺘﻲ ﻣﻬﻨﺪس ﺧﺎﻧﻢ ﺳﺮﻛﺎر ﮔﺮدآورﻧﺪه: ﻣﻬﺪي ﻣﺤﺒﻮﺑﻪ زاده زﻣﺴﺘﺎن88

Upload: star1765

Post on 27-Jul-2015

274 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: پایتون زبان برنامه

زبان برنامه نويسي پايتون

سركار خانم مهندس صنعتي: زير نظر استاد گرانقدر

زاده محبوبه مهدي: گردآورنده

88 زمستان

Page 2: پایتون زبان برنامه

فهرست

قدمهم -بخش اول 4............................................................................................................................................... ........تاريخچه

4........................................ ..........................................................................................فلسفه برنامه نويسي 5......................................................................................................................... پايتونهاي گوناگون نسخه

ها و خصوصيات زبان برنامه نويسي پايتون ويژگي-بخش دوم 11...................................................................................................................................... پايتونهاي ويژگي

ل لينوكسممفسرفرمان در سيستم عا-بخش سوم 15.................................................................... ...........................................هاي اجراي برنامه پايتون روش

16 .................................................................................................................................................... خطايابي 18..................................................................................................................................... ........مديريت خطا

...متغيرها،شرط ها و روند كنترل و–بخش چهارم 21........................................................................... ..........................................................شرط هاي پايتون

22.................................................................................................................................................... متغيرها 24.................................................................................................................................................... .عبارات

25.............................................. ......................................................................................عملگرهاي رشته 26 .............................................................................................................................. توضيحات در پايتون

داده هاي موجود در پايتون-بخش پنچم 28............................................................................................................................... هانواع ساختمان داد

29....................................... ...................................................................................................................تاپل 30................................................................................................................................................ ديكشنري

توابع در زبان پايتون-بخش ششم 32.......................................................................................................................................... ................تابع

33..................................... ............................................................................................تابع در داخل تابع داليل و موارد استفاده از پايتون-بخش هفتم

35................................................................................................................ داليل و موارد كاربرد پايتون 39....................................................................................................................................... ................منابع

Page 3: پایتون زبان برنامه

بخش اول

مقدمه

Page 4: پایتون زبان برنامه

:تاريخچه

هلند شـروع CWI در 1989 معرفي شد و آقاي گويدو ون روسوم در سال 1980پايتون در اواخر دهه ي

دليـل . نمـود , ABCبه پياده سازي آن با داشتن قابليت مديريت استثنا به عنوان جانشيني براي زبان

montyعالقه ي بسيار زياد آقـاي روسـوم بـه كمـدي بريتانيـايي , انتخاب نام پايتون براي اين زبان

python flying circusدر آن زمـان .. توسعه يافته اسـت اد ودر يك محيط آموزشي ايج پايتون . بود

كار مـي پايتون در زمان بيكاري خود بر روي پروژه شخصي خود يعني بود و CWI گيدو يك محقق در

بـراي مـدتي نـسبتاً طـوالني . منتشر شد 1991در ماه فوريه سال پايتون اولين نسخه عمومي از. كرد

امريكا توسـعه واقع در رستون اياالت متحده (CNRI) توسط موسسه ملي تحقيقات و ابتكارات پايتون

منتقـل شـدند پـايتون به آزمايـشگاه هـاي پايتون تيم توسعه دهنده2000تا اينكه در سال . يافت مي

تغييرات اصلي اين نسخه پشتيباني يونيكد و . منتشر شد 2000 در سال اين زبان2,0نسخه ي شماره ي

.به اين زبان بود garbage collectorاضافه كردن

منتـشر 2008 در سـال اين زبان كه سازگاري با نسخه هـاي قبلـي را نداشـت 3,0نسخه ي شماره ي

اين زبان به موازات هم در حال توسعه اند و آخرين نـسخه از هـر كـدام 3 و 2هم اكنون نسخه هاي .شد

3,1 و 2,6,3: عبارت است از

: فلسفه ي برنامه نويسي

مثال براي چـاپ , يعني اينكه . موجود باشد - ترجيحا فقط يكي - يك روش واضح ي بايد براي انجام كار

ــام ــه ن ــابع ب ــك ت ــط ي ــد فق ــي باي ــدار در خروج ــك مق ــشتر printي ــه بي ــد ن ــود باش . موج

:براي مطالعه ي كامل فلسفه ي پايتون مي توانيد در محيط محاوره اي پايتون دستور زير را تايپ كنيد

print this تـوان از آن در مـي مـي باشـد كـه يك زبان برنامه نويسي تفسيري ، دايناميك و همه منظورهپايتون

زبـان برنامـه نويـسي روشـهاي بـسيار اين. ي وسيعي از نرم افزار ها و تكنولوژي ها بهره برد همحدود

Page 5: پایتون زبان برنامه

:پارادايمهاي برنامه نويسي عبارتند از

شي گرا .1

دستوري. 2

تابعي. 3

ولـي . اين زبان جز پرطرفدارترين زبانهاي برنامه نويسي در دنياي نـرم افـزار محـسوب مـي شـود

داراي غنـي تـرين ++C , C ياين زبان بعـد از زبانهـا . متاسفانه در ايران بسيار مظلوم واقع شده

.كتابخانه ها براي برنامه نويسي ميباشد

حاصل دهي با بـازدهي بـاالي هاي نوشته شده و ايجاد آن به دو هدف اصلي خوانايي باالي برنامهٔفلسفه

اصلي اين زبان به صورت حداقلي تهيه شـده انـد و در كلمات كليدي و. گردد نويس برمي كارهاي برنامه

يك كار غير معمول كه در طراحي اين. در اختيار كاربر است بسيار وسيع هستند هايي كه ابخانهمقابل كت

بلوك هـاي مختلـف كـد زبان انجام گرفته استفاده از فاصله و جلوبردن متن برنامه براي مشخص كردن

.است

و برنامه نويـسي از جمله شيء گرا( مدل هاي مختلف برنامه نويسي همانطور كه در باال گفته شدپايتون

پويـا ٔاز يـك سـامانه كند و براي مشخص كردن نوع متغييـر هـا را پشتيباني مي) دستوري و تابع محور

گـرا زبان شـي بوده و به صورت كامل يك زبان هاي برنامه نويسي تفسيري اين زبان از.كند استفاده مي

Page 6: پایتون زبان برنامه

كنوني ٔنسخه. گردد مديريت مي افزار پايتون بنياد نرم توسعه يافته است و توسط بازمتن اي پايتون پروژه

نيز موجود است3,0 آزمايشي ٔهمچنين نسخه. است2,6اين زبان ) 2008مارس (

:هاي گوناگون پايتون نسخه

ي اوليهها نسخه

پيـشرفت البته در ايـن مرحلـه از . را منتشر كرد0,9,0ون روسوم كدي با برچسب نسخهء 1991 در سال

. وجـود داشـت list , dict , str پردازش استثنا ، توابـع و نـوع داده كالس هايي با خاصيت ارث بري ،

كه ون روسوم اين . وجود داشت3-با اقتباس از ماژول همچنين در اين نسخه ابتدايي يك سيستم ماژول

نيز مدل استثناء پايتون. توصيف كرد »از واحد هاي عمده برنامه نويسي پايتون يكي«ماژول را به عنوان

اولين مجمـع مباحثـه پيرامـون 1994 در سال . else داشت ، به عالوه شرط3-ايي به ماژولشباهت ه

. كاربري پايتون بوداي در پيشرفت پايتون شكل گرفت كه مرحله برجسته

1,0نسخه

شـامل ابـزار هـاي برنامـه خصوصيات عمده جديد اين نسخه. رسيد1,0 به ورژن 1994پايتون در ژانويه

، زمانيكه گيـدو 1995 در سال 1,2ورژن پايتون .بود lambda , map , filter , reduce نويسي تابعي

روي پايتون در موسسه ملي تحقيقات و ابتكاراتبه فعاليت هاي خود گيدو. بود بدست آمد CVVI در

(CNRI) پـايتون بـه 1,4در نسخه . رستون ادامه داد و در همانجا چندين نسخه جديد انتشار يافت در

اضافات ميتوان بهالهام گرفتن از هاي جالب توجه در ميان اين از ويژگي. چندين ويژگي جديد اضافه شد

و همچنـين ) آرگومان هاي كليدي ليسپ الهـام گرفتـه بـود ود ازكه خ (3-آرگومان هاي كليدي ماژول

برنامـه نويـسي «، او پروژه CNRI در مدت فعاليت ون روسوم در. اشاره كرد پيشتيباني اعداد مختلط

افراد بيشتري كه اطالعات را ايجاد كرد تا برنامه نويسي را در دسترس (CP4E) «كامپيوتر براي هر كس

را دارند، قـرار ) زبان انگليسي و مهارتهاي اوليهء رياضي براي مثال توانايي در( نويسي اي براي برنامه پايه

Page 7: پایتون زبان برنامه

)بودنباز (6,1نسخه

صورت تيم كتابخانـه بـاز منتقل شد و بدين BeOpen.com تيم توسعه دهنده پايتون به2000در سال

هاي توليد شده بـراي ، بدين ترتيب برنامه ساخته شد1,6ورژن CNRI به پيشنهاد. پايتون شكل گرفت

. شـده بـود طراحي BeOpen.com توسط2,0فقط پايتون . داشتند اشتراك هاي قابل توجهي2,0و 1,6

به ايجاد ، گيدو و ديگر توسعه دهندگان كتابخانه پايتون BeOpen.com توسط2,0پايتون بعد از توليد

كه به طور قابل توجهي طوالني تر بود CNRI شامل جواز جديد1,6توليد پايتون . ديجيتال روي آوردند

مستقل از نرم افزار توضـيح داد موسسه. است) استفاده شده بود كه براي توليدات قبلي CWI (از جواز

تغييراتي را در جـواز FSF و BeOpen CNRI ,.ناسازگار بود GNU GPL قانون با كه انتخاب شرط

1,6عمدتاً مشابه پـايتون 1,6,1 پايتون. سازگار باشد GPL پايتون مستقل از نرم افزار ايجاد كردند كه با

. GPL با است فقط با كمي اشكال ، و با جواز سازگار

2,0نسخه

ستل و هاسكل اقتباس شده بود ليستي از ويژگي هايي را كه از زبان هاي برنامه نويسي تابعي2,0پايتون

جدا از برتري هاسكل براي كـاراكتر هـاي نقطـه گـذاري و ( نحو پايتون براي اين ساختار. ، معرفي كرد

يك سيستم بازيافت حافظه با قابليت جمع همچنين 2,0پايتون . مشابه هاسكل بود بسيار) كلمات الفبا

آن به جواز مؤسسه نرم افـزار جواز. نزديك بود2,0 و 1,6,1 به پايتون 2,1پايتون . آوري منابع معرفي كرد

2,1مشخصات اضافه شده را از زمان توليـد الفبـاي پـايتون همه كد ها ، اسناد و. پايتون تغيير نام يافت

شد كه تشكيل2001يك سازمان غير انتفاعي در سال . دارا شد ( PFS ) نافزار پايتو توسط مؤسسه نرم

خـصوصيات زبـان در پوشـش توليدات شامل تغييراتـي در . از مؤسسه نرم افزار آپاچي مدل گرفته بود

اين خصوصيات دوباره از بين رفتند و بـه . ( اي ايستا حوزه هاي تو در تو بود ، مشابه ديگر زبان هاي حوزه

Page 8: پایتون زبان برنامه

بـسته : مـوارد در جـاوا بـود انتخاب نحو و ضمايم كتابخانه استاندارد پايتون شديداً وابسته به بعـضي

logging تجزيه كننده2,3در ورژن ، SAX اضـافه 2,4و ساختمان هاي نحو كه در ورژن 2,0 در ورژن

.شد

0,3نسخه

backward بـه منظـور شكـستن ) شـود نيـز خوانـده مـي Py3k ويـا 3000كـه پـايتون (3,0پايتون

compatibility هـا در ورژن بهبود خطـا هـا و رخنـه و2يا به عبارتي قطع سازگاري با گذشته پايتون

بتواند كدي كه با 3عبارتي ديگر الزم نيست كه پايتون به.وهمچنين حذف روشهاي قديمي طراحي شد2

.دباش ميي قابل حلكه البته اين مشكل توسط نرم افزار.را تفسير كند نوشته شده2پايتون

منبعـي در فلـسفه بنابراين هر با همان فلسفه ورژن هاي قبل ، در حال توسعه يافتن است ،3,0پايتون

اگر چه ، همانطور كه پايتون روش هاي جديد در برنامه . شد به خوبي ظاهر خواهد3,0پايتون ، در پايتون

تكراري تأكيد زيادي بر از بين بردن ساختار ها و ماژول هاي3,0 ، پايتون استكرده ريزي را جمع آوري

كـد نـويس هـا همچنـان . ادامه خواهـد داد اي مونه به ساختار زبان چند ن3,0 با اين وجود پايتون .دارد

ها را دارند ، اما در ساخت يافته ، برنامه نويسي تابعي و ديگر نمونه اختيارات شيء گرايي ، برنامه نويسي

هستند x 2. آشكار تر از پايتون سري3,0انتخاب هاي وسيع ، جزئيات در پايتون

: 3,0فهرست برخي از تغييرات عمده پايتون

شود كه تغيير يك مـاژول مي اين باعث. تغيير پرينت چون يك تابع غير قابل انتقال است نه يك توضيح

در پـايتون . شود باشد و بنابراين ايجاد نحو منظم تر مي براي استفاده از يك تابع پرينت متفاوت ، آسان

.فراهم شد from – future – import print – function تايپ كردن اين امكان با2,6

تواند براي معرفي تايپ خـصوصي يـا اهـداف ديگـر اضافه شدن حمايت از يادآوري تابع انتخابي كه مي

.استفاده شود

Page 9: پایتون زبان برنامه

تغييـر ناپـذير ؛ byte تايپ ، به نمايندگي از يك متن ، و معرفي يك str/Unicode يكسان كردن تايپ

.كنند يه از بايت را ارائه ميهر دو آرا تغيير پذير ، كه bytearray با يك تايپ مطابق با

كردن اعداد صـحيح ، از بين بردن خصوصيات سازگاري معكوس ، شامل كالس هاي به فرم قبل ، قسمت

.اي ، و گزارش هاي نسبتاً نا آشكار استثناء هاي رشته

Page 10: پایتون زبان برنامه

بخش دوم

ويژگي ها وخصوصيات

زبان برنامه نويسي

پايتون

Page 11: پایتون زبان برنامه

شي گرايي

،چنـد شـكلي ،وراثـت ي چـون اي است و از ويژگي هاي پيشرفته گرا نويسي شي برنامه يك زبان پايتون

بـه پايتون كه لقب چسب را براي پايتون هاي يژگييك از و. پشتيباني مي كند... و سربار گزاري عملگر

و پالس پالس سي هاي نوشته شده در زبانهاي ديگري چون كالس ارمغان آورده امكان استفاده از كد ها و

. است پايتون عهده به اصلي بدنه نوشتن فقط و جدا كد قطعات چسباندن كار كه در حقيقت است جاوا

رايگان

توانيد متن آن و خود برنامـه را بـه رايگـان از مي .و بازمتن هست نويسي رايگان يك زبان برنامه پايتون

. دريافت يا در توسعه آن همكاري كنيد ينترنتا

قابليت حمل

گـردي پـردازش هـر روي بر مجازي صورت به تواند مي شده نوشته سي قابل حمل با زبان پايتون چون

و كـرده تفـسير زمان هم و خوانده را متن برنامه )پايتون مفسر( مجازي شينما . شود اجرا و همگرداني

يـا لينـوكس روي تغييـر بدون سپس و بنويسيد ويندوز در برنامه را يك نيداتو مي پس . كند مي اجرا

. كنيد اجرا باشد نصب آن روي پايتون كه ديگري افزار سخت و سيستم عامل هر يا مكينتاش

قدرتمند

و ) ال، اسكيم، پرل سي تي: براي مثال ( نويسي تفسيري هاي برنامه زبان زباني چند رگه است كه از پايتون

و سـادگي تمـام بنابراين . است شده مشتق ) و جاوا پالس، سي پالس سي : مثال براي ( سيستمي هاي زبان

. داراست را پايين سطح زبانهاي قدرت و ها ويژگي و نويسي تفسيري برنامه هاي زبان كار راحتي

و گسترشدروني سازي

از اي شما مي توانيـد قطعـه . مي باشد پايتون اين ويژگي يكي از پركاربرد ترين و قوي ترين ويژگي هاي

پـايتون بـا شـده نوشـته برنامه در از آن نوشته سپس جاوا و پالس، سي پالس سي كد را در زباني چون

البته . كرد استفاده COM API چون هايي كامپوننت و اي كتابخانه توابع از مي توان يا و . كنيد استفاده

Page 12: پایتون زبان برنامه

هولت يادگيري و استفادهس

اين زبان يكي از آسان ترين زبان هـا بـراي يـادگيري و پايتون ظر بسياري از برنامه نويسانازني شك ب

ايـن زبـان نيـازي بـه . آن به عنوان يك زبان سريع برنامه نويسي ياد مي كننـد استفاده مي باشد و از

دسـتورات . كنيـد ندارد و شما مستقيما مي توانيد پس از نوشتن كد و با يك دستور آن را اجرا كامپايل

. اين زبان بسيار نزديك به زبان انسان مي باشد

امنيت اطالعات

چندين ابزار پيـشنهاد شـده درمثالً . كند پايتون همچنين استفاده وسيعي از صنعت ايمني اطالعات مي

پايتون معموالً در توسعه كاربرد . كاربردي وب واپيتي توسط تأمين امنيت و امنيت مركزي و اسكنر امنيت

.گيرد مي مورد استفاده قرار

جاسازي

پـايتون .گر تعبيـه شـده اسـت پايتون با موفقيت در تعدادي از توليدات نرم افزاري مثل زبان فايل آغاز

, Houdini , Maya , Softimage XSI ماننـد شود ، استفاده مي 3Dهاي انيميشن در بستهمعموالً

TrueSpace , Poser , Modo , Nuke , Blender . GIMP , Krita , Inkcape , Scribus ,

Paint Shop Pro ESRI اكنون در حال ترقي دادن پايتون به عنوان بهترين انتخاب براي نوشـتن هم

و Civilization IV شـود ، ماننـد همچنين در بازي ها استفاده مـي . است ArcGIS درآغازگر فايل

Mount&Blade العمل حوادث به عنوان زبان كنترل براي نمايش و عكس.

مقبوليت

بـا بيـشتر بخـش هـاي در بسياري از سيستم هاي عملياتي ، پايتون يك جزء استاندارد اسـت ؛ چـون

و Red Hat Linux .Mac OS Xو OpenBSD و NetBSD بـا شـود، لينـوكس انتقـال داده مـي

Fedora لينـوكس .كننـد نده پايتوني استفاده مـي نهر دو از نصب ك Gentoo از پـايتون در سيـستم

Page 13: پایتون زبان برنامه

صرف و نحو

يك طرح بندي ويـژوال بـدون بنابراين به سمت. پايتون در نظر دارد كه زباني بسيار قابل خواندن باشد

كند ، در صورتيكه ديگر زبان ها از نقطـه استفاده مي رود ، و اغلب از كلمات كليدي انگليسي پارازيت مي

و پاسكال ، نياز به تكيه C ته سنتي ، مثلپايتون نسبت به زبان هاي ساخت ياف .كنند گذاري استفاده مي

.كالم هاي كمتر و همچنين استثناء هاي نحوي و موارد خاص كمتري دارد

ايجاد فضاي خالي

كنـد هاي حالت استفاده مي پايتون از فضاهاي خالي بيشتر از آكوالد يا كلمات كليدي براي تعيين بلوك

).دشو مي شناختهنيز off-side ويژگي اي كه به نام قانون(

Page 14: پایتون زبان برنامه

بخش سوم

مفسر پايتون در سيستم

عامل لينوكس

Page 15: پایتون زبان برنامه

:مفسر موجود در سيتم عامل لينوكس

ايـن مفـسر توسـط . كنيد در زير تصوير اجراي مفسر پايتون را در سيستم عامل لينوكس مشاهده مي

. اجرا گرديده است) شل/ترمينال( برنامه كنسول

:تونروشهاي اجراي برنامه پاي

مفـسر . مي باشـد ست كه كار اصلي آن اجراي برنامهانام يك بسته نرم افزاري به نام مفسر نيز پايتون

حالت كلي يك برنامه پـايتون در. را خوانده و همزمان اجرا مي كند (Python) سطر به سطر كد برنامه

: به چهار طريق اجرا مي گردد

به حالت محاوره اي

تونبه عنوان ماژول پاي

unix به عنوان فايل اسكريپت

از داخل يك سيستم ديگر

متد هاي خاص يك سيستم عامل

Page 16: پایتون زبان برنامه

اجرا كد به حالت محاوره اي

كافيست عبارت پايتون را در ترمينال وارد . حالت محاوره اي راحتترين روش اجراي كد پايتون مي باشد

وره اي وارد كنيدو سپس دستورات خود را به صورت محاpython # : كنيد

اجرا به عنوان ماژول پايتون

در حالت قبلي اگر اشتباهي در كد نوشـته . د وداخل يك فايل نوشته مي ش پايتون در روش دوم كد هاي

نوشته شده ذخيره نمـي و نيز برنامه. د بايد همه كد هاي وارد شده را از اول وارد كنيد موجود باش شده

هدف ما از نوشتن نرم افزار امكـان اسـتفاده . گردد و با تمام شدن اجراي آن در حقيقت از بين مي رود

يـره مـي ذخ py مورد نظر خود را در داخل يك فايل نوشته و با پـسوند پس كد. مجدد از آن مي باشد

برنامـه تحـت تـرين هاز سـاد (. اين فايل مي تواند توسط هر نرم افزار ويرايشگري ايجاد گـردد . نمائيم

. )محيطهاي برنامه نويسي حرفه اي و پيشرفته IDEتا vi ترمينال

unix به عنوان فايل اسكريپت

دارد و مشخصه آن اولين اين نوع فايل متني حالت اجرايي. حالت سوم اجرا در حال اسكريپت مي باشد

بر لينوكس قابل استفاده است و با مقدار دهـي اين روش در سيستم عامل هاي مبتني. خط آن مي باشد

در سيـستم عامـل . يا مي سازد هنظر امكان اجرا شدن مستقيم آن را م به فايل مورد (x) مجوز اجرايي

: ال سادهيك مث. چون ويندوز هم چنين كاري ممكن مي باشد هاي ديگر

#!/usr/bin/env python

print 'The Bright Side of Life ...' # comment

اين سطر به اين معني اسـت . نمي باشد) توضيحات ( دقت داشته باشيد كه اولين خط اين برنامه كامنت

. در مي آيـد آمده فرستاده و به اجرا #! پس از عبارت كه كل كد ادامه فايل را با برنامه اي كه آدرس آن

سپس با استفاده از دستور. است #! اجرايي مفسر پايتون به همراه عالمت هاي پس اين خط آدرس فايل

chmod كنيد يا از طريق گرافيكي اين فايل را به حالت اجرايي تبديل كرده و اجرا :

# chmod +x test2.py

Page 17: پایتون زبان برنامه

# ./test2.py

The Bright Side of Life ...

خطايابي

بسيار گسترده و عظيم توسط نويسي يك فرايند پيچيده مي باشد و چون اين روند پيچيده و بعضابرنامه

در اصـطالح برنامـه نويـسي بـه . امري بديهي مي باشد انسان انجام مي گيرد امكان اشتباه و بروز خطا

ا گفتـه مـي يا خط (bug) كه دليل اتفاق آن متفاوت و متغيير مي باشد باگ مشكالتي مختلف و متنوعي

خطايـابي يـا اشـكال فرايند شناسايي و رفع خطاها و باگ هاي موجود در يك برنامه و نرم افـزار . شود

. ناميده مي شود (Debugging) زدايي

باشد كه عبارتند از خطاي منطقـي در علم برنامه نويسي كامپيوتر سه نوع اصلي خطا يا باگ موجود مي

(syntax error) را، خطاي زمان اج (runtime) خطاي معنايي ، ( semantic error) .

(syntax error)خطاي نحوي

غيـر در. فقط قادر به اجراي كدي است كه از قواعد نحـوي زبـان پـايتون تبعيـت كنـد سر پايتونمف

نحـو يـك زبـان . مي شـود اينصورت اجراي روند اصلي برنامه متوقف شده و پيغام خطايي نمايش داده

ر زبان براي مثال د. آن زبان خاص مي باشد همان ساختار و قوانين (language syntax)برنامه نويسي

بزرگ شروع و با يك عالمت خاتمه دهنده جمله چون نقطه پايان يابد انگليسي هر جمله اي بايد با حرف

. ساختار متفاوت يك خطاي نحوي مي باشد هر گونه.

در اين حالت مفسر. اگر در بخشي از برنامه خطاي نحوي وجود داشته باشد برنامه قابل اجرا نخواهد بود

برنامـه نـويس با چاپ كردن عبارتي سعي مي كند محل وقوع خطا و نوع آن را مشخص نمايد تا پايتون

. براي رفع آن اقدام نمايد

(runtime error)خطاي زمان اجرا

مي باشد كه تا زمان اجـرا مي باشد نوعي از خطا (exception)نام ديگر آن استثناخطاي زمان اجرا كه

ايـن نـوع خطاهـا چـون در شـرايط . بـروز نمايـد برنامه نهفته باشد و بهنگام اجرا و در شرايطي خاص

Page 18: پایتون زبان برنامه

(semantic error)خطاي معنايي

پيغام خطـايي ظـاهر نمـي در اين حالت هيچگونه. نوع سوم خطا با نام خطاي معنايي شناخته مي شود

ايـن خطـا . حاصل از برنامه دور از انتظـار اسـت تايجگردد و برنامه بصورت درست تفسير مي شود اما ن

نويس به اشتباه كدي بنويسد كه هدف اصلي برنامه نباشد يا باعـث توليـد زماني پيش مي آيد كه برنامه

پـايتون هـيچ چون در اين حالـت مفـسر , اين نوع خطا بدترين نوع خطا مي باشد . غلط شود خروجي

در ايـن . نويس صورت مـي گيـرد ح خطا فقط به وسيله ي برنامهكمكي به تشخيص خطا نمي كند و اصال

، خروجـي مطلـوب و ورودي هـا سـعي در درك و حالت برنامه نويس بايد با توجه به خروجـي موجـود

. شناسايي و مشكل را برطرف نمايد شناسايي روند كار كرده محل مشكل را

براي مثال با استفاده از اين روش ها برنامه . براي خطايابي امكانات و روش هاي مختلفي موجود مي باشد

ورودي روند برنامه و نحوه انجام دقيق و تك تك دسـتورات را تـا مرحلـه نويس مي تواند با وارد كردن

براي نمـايش print و يا برنامه نويس ميتواند در بين دستورات از دستور.نتيجه تحت نظر بگيرد خروج

ولـي .خطا در جهت اصالح آن اقدام كند ه كند و به محض مشاهده يخروجي حاصل از هر دستور استفاد

است(debugger)استفاده از اشكالزداها بهترين روش براي اصالح چنين خطاهايي

مديريت خطا

بـراي روشـن .مي كنـد استفاده (Exception handling)پايتون براي مديريت خطا از ٍمديريت استثنا

بدانيم مفسر پايتون وقتي بـا اسـتثنايي در استثنا همين كافيست كهشدن فايده ي استفاده از مديريت

ولـي برنامـه بـا .برنامه را رها كرده و برنامه به يكباره پايان مـي يابـد برنامه مواجه مي شود رون عادي

Page 19: پایتون زبان برنامه
Page 20: پایتون زبان برنامه

بخش چهارم

روند –ها شرط-متغيرها

000كنترل و

Page 21: پایتون زبان برنامه

شرط ها و روند كنترل

:شرط هاي پايتون شامل

( else-if ر ازيك اختصا. (كند را اجرا مي elif و else ، كه يك بلوك كد ، تا if شرط

شـود بـراي شود ، به هر متغير محلي مقدار داده مي ، كه روي يك شيء تكرار شدني تكرار مي for شرط

.استفاده توسط بلوك مربوطه

كند ، بـراي كند و فضاهاي محلي آن را به يك كالس ملحق مي ، كه يك بلوك كد را اجرا مي class شرط

.استفاده در برنامه نويسي شيء گرا

.كند ، كه يك تابع را تعريف مي def رطش

مثال ، اندوختن يك قفـل به عنوان. ( كند ، كه يك بلوك كد را به يك مدير متن ضميمه مي with شرط

(.قبل از اجراي بلوك كد و آزاد كردن قفل بعد از اجرا

ـ def به عنوان مثال ، شرط: هر شرطي براي خود قواعد معنايي خاصي دارد ر شـرط هـا ، بر خـالف ديگ

Guido van كند ، و مطابق نظـر سي پايتون استمرار را پشتيباني نمي.كند بلوك خود را فوراً اجرا نمي

Rossum در يك جهت از در ورژن هاي قبلي مولد تكرار كند بود چون اطالعات تنها. هرگز نخواهد كرد

.كردند مولد عبور مي

نوع دهي

محدوديت تايپ در زمان . كند مي نام متغير هاي غير تايپ استفادهپايتون از اشياء تايپ شده و در مقابل

روي يك شيء ممكن است شكست بخورند ، به اين مفهوم شود ؛ بنابراين عمل گر هاي ك نميچكامپايل

با اينكه اجباري در تايپ دهـي ايـستا نيـست ، پـايتون . تايپ مناسب نيست كه شيء داده شده از يك

رشـته بـا يـك مثل مقدار دهي يك. ( كند و عمل گر هاي نامناسب را نهي ميتايپ دهي شده ، شديداً

)دعد

Page 22: پایتون زبان برنامه

مثال نحو توصيف تايپ

str

'Wikipedia' يك رشته غير قابل تغيير از كاراكتر ها

"Wikipedia"

list

[string', True' ,4,0] .تواند تايپ هاي مختلف را دارا باشد تغيير پذير ، مي

tuple

(string', True' ,4,0) .تواند تايپ هاي مختلف را دارا باشد تغيير ناپذير ، مي

set,

frozenset .ارا نيستنامرتب ، هيچ نسخه دومي را د

set([4,0, 'string',

True])

{4,0, 'string', True}

frozenset([4,0,

'string', True])

dict

جفت عدديگروهي از كليد ها با{'key1': 1,0, 'key2':

False}

int

يك عدد با دقت ثابت

وقتي ذخيره كردن يك عدد صحيح سر ريز داشته باشـد ،)

(. يافتبسط خواهد Long به يك دقت نامحدود

42

float

3,1415927 يك عدد حقيقي

complex

2j+3 يك عدد مختلط با عدد حقيقي و قسمت موهومي

bool

True عدد درستي

False

متغيير ها

مـي متغيير ها يكي از مهمترين و اساسي ترين جنبه و مزيت زبانهاي برنامه نويسي داشتن توانايي كار با

تعريـف يعني نيازي به. آن را مقداري دهي كنيد ست براي تعريف يك متغيير كافي در زبان پايتون.باشد

دايناميـك و بـسيار قـوي بـراي اري مـديريتي نكته بعدي اينكه در زبان پايتون ابز. جداگانه نمي باشد

Page 23: پایتون زبان برنامه

>>> message = "Be Linux !"

>>> n = 17

>>> pi = 3,14159

. متغيير را با عمل مقداري دهي تعريف كرده ايم3در مثال باال

در پـايتون .از اجـرا نيـست در پايتون نوع داده در زمان اجرا مشخص مي شود و نيازي به اعالن آن قبل

در پايتون يك شيء را در حافظه مشخص مي 3 براي مثال عدد.مي باشند (object) تمامي داده ها شي

.كه به اشياداخل حافظه اشاره مي كنند و متغيرها نيز نامهايي هستند,كند

پـايتون داراي دو فيلـد هـدر در object براي همين منظـور هـر ,شيء موردنظر بايد نوع خود را بداند

(header field) بـه نامهـاي طـراح نـوع(type designator) وشـمارنده ي مراجعـات(reference

counter)نوع داده را در خود ذخيره مي كندوشمارنده ي مراجعات تعداد رجوع ,طراح نوعكه , مي باشد

.متغيرهاي متفاوت به شيء را مشخص ميكند هاي

نام گذاري متغيير ها

گذاري متغيير ها دارد كه بايد هنگام نام همچون تمام زبانهاي برنامه نويسي پايتون هم قوانيني براي نام

: اين قوانين شامل موارد زير است برخي از. گذاري به آنها دقت كنيد

. اسم متغيير بايد با يك حرف شروع شود

. نيستيد... و / ^#%$در نام گذاري مجاز به استفاده از كاراكتر هاي خاص چون

براي مثال استفاده از . نويسي استفاده كرد در نام گذاري متغيير ها نبايد از اسامي رزرو شده زبان برنامه

. مجاز نمي باشد ... و class , for , if سامي چونا

در صورت استفاده از اين اسامي يا هـر يـك از . استفاده از اسامي رزور شده در پايتون مجاز نمي باشد

مربـوط (خود خارج شده و متوقف مي گردد و در اصطالح يك خطاي نحوي موارد باال برنامه از روند عادي

ممكن است اسمي كه براي . رخ مي دهد (syntax error) ) ي دستورات برنامهنوشتن و يا امال به نحوه

Page 24: پایتون زبان برنامه

ها تشكيل دهنده ساختار كلي keyword اين اسامي يا. اسم رزرو شده مي باشد 28زبان پايتون داراي

. هر زبان برنامه نويسي مي باشند

اسامي رزرو شده در پايتون

raise not import for else continue and

return or in from except def assert

try pass is global exec del break

while print lambda if finally elif class

عبارات

سطر مجزا نوشته مي شود و مفسر پس از اجراي هـر سـطر يـا معموال در زبان پايتون هر عبارت در يك

برنامه يا يك اسكريپت شامل تعـدادي از عبـارت هـا يـا دسـتورات . مي رود عبارت سراغ سطر بعدي

. ي باشنداجرايي پشت سر هم م

عبارات محاسباتي

يـك عبـارت محاسـباتي را بـه اگر شما. هر عبارت تركيبي از مقادير ، متغيير ها و عملگر ها مي باشد

. محاسبه و چاپ خواهد كرد عنوان يك دستور وارد كنيد مفسر مقدار آن را

عملگر و عملوند

خاص چون جمع يا تفريق فاق افتادن عمليعملگر در حقيقت يك سمبل يا نماد قراردادي براي نمايش ات

. عمل كرده و نتيجه اي را حاصل مي دهد بدين ترتيب هر عملگر بر روي تعدادي عملوند. مي باشد

Page 25: پایتون زبان برنامه

اولويت عملگر

عملگر ها مهم بـوده و در زماني كه يك عبارت محاسباتي شامل چندين عملگر باشد تقدم و ترتيب اجرا

براي بدست آوردن نتيجـه اي يكـسان و اسـتاندارد از بنابراين. ار مي باشد نتيجه كلي عبارت تاثير گذ

قوانين اولويت عملگر در پايتون دقيقا با قوانين. عملگر ها استفاده مي شود قوانيني براي ترتيب اجراي

. علم رياضيات يكسان مي باشد

تقدم عملگر در زبان پايتون

گروهبندي و دسترسي . [] () 1

عملگر هاي يكتايي + - ! 2

توان ** 3

ضرب ، تقسيم ، باقيمانده % / * 4

جمع و تفريق - + 5

عملگر هاي شيفت به چپ و راست باينري << >> 6

... بزرگتر ، كوچكتر و: عملگرهاي مقايسه اي <= < >= > 7

مساوي ، نا برابر: عملگرهاي مقايسه != == 8

و منطقي باينري & 9

باينري (XOR) يا انحصاري ^ 10

يا منطقي باينري | 11

12 and و منطقي

13 or يا منطقي

عملگر هاي مقدار دهي %= /= *= -= += = 14

Page 26: پایتون زبان برنامه

عملگر هاي رشته

اما برخي از . رشته ها نيستيد در حالت عادي و منطقي شما قادر به اعمال عملگر هاي محاسباتي بر روي

. عملگر ها داراي معاني خاصي در مورد رشته مي باشند

اتصال دو رشته با استفاده از عملگر جمع

داده مي شود دو عملوند از نشان"+"عملگر تركيب دو رشته كه با سمبل مربوط به عمل جمع رياضي يا

. چپي خود مي چسباندانتهاي رشته سمت نوع رشته را دريافت و رشته سمت راست خود را به

تكرار يك رشته با استفاده از عملگر ضرب

عملوند يكي از نوع رشته و اين عملگر دو. نيز معني خاصي براي رشته دارد "*"بل معملگر ضرب با س

تعداد عدد دريافت شده تكرار كرده و در قالـب يـك ديگري از نوع عدد صحيح را دريافت و رشته را به

ضرب دو. عملگر ضرب در مورد رشته ها منطقي شبيه به نوع رياضي آن دارد .دي گردانرشته واحد بر م

نمايش 4+4+4بصورت را مي توان3×4براي مثال . عدد در رياضيات را مي توان بصورت جمع نشان داد

عدد در رشته ، همان رشته با تعداد عـدد در مورد رشته ها نيز در حقيقت براي محاسبه ضرب يك. داد

. وارد شده باهم جمع مي شود

كامنت يا توضيحات در پايتون

معمـوال . زمان بر مـي شـود با زياد شدن حجم برنامه و كد خواندن و درك هر سطر از كد كاري سخت و

بـه همـين دليـل . زماني كم كاري سخت مي باشد خواندن بخشي از كد يك برنامه و درك كامل آن در

نوشتن برنامه توضيحاتي را به كد برنامه اضافه مي كنند كه نشان دهنده هنگاممعموال برنامه نويسان در

نويـسي كامنـت اين توضيحات در علـم برنامـه . وظيفه بخشي از كد بوده و قابليت اجرايي ندارد كار و

(comment) اي اصلي معموال از كاراكتر يا كاراكتر ه هر زباني براي جدا كردن كامنت ها از كد. نام دارد

هر متن نوشـته شـده . مي باشد #مربوط به اين كار در پايتون عالمت كاراكتر. خاصي استفاده مي كند

. اين عالمت هنگام اجرا توسط مفسر ناديده گرفته مي شود بعد از

Page 27: پایتون زبان برنامه

بخش پنچم

هاي موجود در داده

پايتون

Page 28: پایتون زبان برنامه

هاي استاندارد موجود در پايتون انواع داده

حساب مي آيند انـواع داده پـيش فـرض تر كه اكثر آنها از پايه هاي پايتون بهدر زبان هاي سطح پايين

, int از انـواع C مـثالً در زبـان .نيز قابل تعريـف هـستند انواعي ابتدايي هستند كه در زبان اسمبلي

char,float, double, long ,short مي شود كه همه آنها داراي خاصيتي مشترك هـستند و استفاده

به طور مستقيم داراي دستور العمل هايي هستند كه مي توان روي پردازنده ت اين است كه براين خاصي

ولي مي شد، استفاده"[]"از اين انواع از عالمت ) آرايه(همچنين براي ايجاد يك زنجيره .با آنها كار كرد

ـ از اين انواع داده غير از عمليات رياضي كاري بر نمي آيد ، مگر اينكه ا قـرار دادهـاي خاصـي از آنهـا ب

.ساختمان داده هايي بسازيم

انواع ساختمان داده در پايتون

هاي كاراكتري مي باشـند كـه در واقـع رشته يكي از مهمترين و پركاربرد ترين اين ساختمان هاي داده

باشند كه در كار با ورودي ها، خروجي ها و ارتباطات گونـاگون از بايت ها مي (Sequence) يك زنجيره

متني با ايـن مي كنند، زيرا يكي از راههاي محدود فهم انسان از دنياي كامپيوتر ارتباط نقش مهمي ايفا

.جهان مي باشد

در واقع اين نـوع داده يـك نـوع . هستند (اآرايه ه(ديگر ساختمان داده اي مهم در اين زبان ليست ها

سطح پايين است كه عالوه بر خاصيت انـديس پـذيري ، خاصـيت بسيار پيشرفته از آرايه هاي زبانهاي

.نگهداري انواع داده را بطور هم زمان دارا مي باشد تغيير اندازه و

يست مي باشد كـه در بخـش هايي به ل در پايتون نوعي از داده با شباهت(Tuple) چند تايي هاي مرتب

.نوع خواهيم پرداخت مربوطه به تفاوت ها و شباهت هاي اين دو

فريم يا واحد چرخنده در طول است كه به عنوان يك(Iterator)يك نوع ديگر داده در پايتون چرخنده

.شود ليست ها ، چند تايي ها و رشته ها محسوب مي

Page 29: پایتون زبان برنامه

ساختمان داده هاي ديگر

كـاربرد و سنگ بناي چندين ساختمان داده ديگـر هـستند كـه هـر كـدام ذكر شده ساختمانهاي داده

:پيچيدگيهاي خاص خود را دارند از آنجمله مي توان موارد زير را نام برد

)حلقوي-دوطرفه– يكطرفه( ليست هاي پيوندي

)صفهاي با اولويت- صف هاي دو طرفه( صف ها

) سه-ودرختهاي د- دودويي جستجو- دودويي( درختها

heap ) Deap -MinMax Heap (

..... )ليست باشد L با فرض اينكه(متدهاي مهم ليست

1 L.append(x) داده ي x را به انتهاي ليست L اضافه كن

2 L.remove(x) داده ي x را از ليست L حذف كن

3 L.index(x) انديس x در ليست L را برمي گرداند

4 L.count(x) داد دفعات تكرارتع x را در ليست L را برمي گرداند

5 L.extend(x) ليست x را با ليست L الحاق مي كند

6 L.insert(I,x) داده ي x را درشماره انديس I به ليست اضافه مي كند

تاپل

تاپل ها ,ليست ها بعد از.ها نيز همانند ديكشنري ها و ليست ها جز داده هاي چند قسمتي هستند تاپل

گيرند و اين شايد دلـيلش نزديـك بـودن بيشتر در ميان داده هاي چند قسمتي مورد استفاده قرار مي

.كار با تاپل ها باشد خصوصيات تاپل ها به ليست ها و راحتي

اين است كـه چنـد داده را بـه يـك شكل ظاهري تاپل ها همانند.از هم جدا مي شوند) ,(تاپل ها با كاما

شما مي توانيد براي . داده ي نگهداري شده از نوع تاپل است ب بدهيد اما بايد بدانيد كه نوعمتغير انتسا

Page 30: پایتون زبان برنامه

Dictionary

Dictionary ها نيز از جمله داده هاي چند قسمتي هستند آغاز Dictionary { و پايان آنها بـا } ها با

Dictionary از هم جدا مي شوند در هر خانه و هـر قـسمت , و داده هاي آن با عالمت مشخص ميشود

انـديس داده ،ها Tupleليست ها, ها ه است بر خالف رشتهانديس مربوط به آن نيز آمد, عالوه بر داده

, رشـته , نويس مشخص مي شود و انديس داده ها عالوه بر عـدد ه برنامهابه دلخو Dictionary ها در

tuple انديس هـر داده را مـشخص مـي : به كمك عالمت .غير قابل تغيير نيز مي تواند باشد و هر داده

. نوشته مي شود : و انديس آن در سمت چپ عالمت: راست عالمت در سمتكنيم بدين ترتيب كه داده

Dictionary يا, تغيير پذير ليست نمي تواند يك داده ي Dictionary كه انديس ها در قابل ذكر است

.مي تواند باشد از هر نوع Dictionary داده هاي درون.باشد

Dictionary متدهاي مربوط به

Dictionary + . + نام متد : تدنحوه ي فراخواني م

در نظر بگيريم Dictionary را يك d اگر

1 d.clear( ) تمام داده هاي درون d حذف مي شود

2 d.copy( ) يك كپي از d برمي گرداند

در غير ايـن صـورت صـفر1باشد d در m اگر انديس

برمي گرداند3 d.has_key(m)

4 d.keys( ) تمام انديسها برگردانده مي شودليستي از

5 d.values( ) ليستي از تمام داده ها برمي گرداند

Page 31: پایتون زبان برنامه

بخش ششم

توابع در زبان پايتون

Page 32: پایتون زبان برنامه

تعريف تابع

در زبان پايتون براي تعريـف . يك تابع ايجاد شده و نامي به آن تعلق مي گيرد def با استفاده از عبارت

يك تابع جديد ايجاد شده و اسـمي def با استفاده از. مي گردد استفاده def يك تابع جديد از دستور

در داخـل ظاهر مي گردد در مقابل نـام تـابع و def نام تابع درست بعد از عبارت. گيرد به آن تعلق مي

قطعه كـد و در نهايت همانند ساير پارانتز تنها نام پارامتر هاي قابل دريافت توسط تابع نوشته مي شود

در ادامه و در سطر هـاي بعـدي و بـا رعايـت كـردن . ختم مي گردد(:) كاراكتر دو نقطه هاي موجود با

. تورفتگي كد هاي داخل تابع نوشته مي شود

بازگشت مقدار از تابع

تابع و برگشت نتيجه تابع منتظر كه يك تابع فراخواني مي شود ، فراخواننده تابع تا زمان اتمام كارزماني

سطر فراخوانده شده به داخل تابع منتقل و پس از اتمام كار از در حقيقت روند اجرا برنامه به از. مي ماند

برگـشت دهـد از عنوان نتيجه كاردر صورتي كه تابعي بخواهد مقداري را به . ادامه مي يابد سطر بعدي

. براي انجام اين كار استفاده مي كند return دستور

استفاده از متغيير هاي سراسري

يعني طول عمر آنهـا تـا . در حالت معمول تمام متغيير هاي تعريف شده در داخل تابع محلي مي باشند

در صـورتي كـه بخـواهيم از نـام يـا . رند دسترسي را دا زمان اجرا تابع بوده و فقط از داخل تابع امكان

اين دستور متغيير هاي. استفاده مي كنيم global نيز استفاده كنيم از دستور متغييري در خارج از تابع

. محلي را به متغيير هاي سراسري تبديل مي نمايد

ارسال پارامتر به تابع

مقدار دهي و ارسال آرگومان اين. مي گيرد در پايتون ارسال متغيير به توابع از طريق مقدار دهي صورت

يعني همان متغيير و نه . مي باشد (reference) مرجع به صورت C++ و C ها به توابع بر خالف زبانهاي

پس هر گونه دستكاري آن در داخل تابع باعث تغييـر متغييـر . ارسال مي گردد يك كپي از آن به تابع

Page 33: پایتون زبان برنامه

مقدار دهي پيش فرض پارامتر ها

ـ ). فرستاد(د هر پارامتر آن يه مقدار نسبت دا در هنگام فراخواني تابع بايد به ه و در صورتي كه مقداري ب

براي جلـوگيري از ايـن حالـت . خطاي برنامه نويسي خواهد شد يك پارامتر فرستاده نشود باعث بروز

اين كـار را مـي . يش فرض نسبت دهيدشما را قادر مي سازد تا براي پارمترها تابع خود مقدار پ پايتون

بوسيله عالمت تساوي به نام پارامتر انجام توانيد در هنگام تعريف تابع و با نسبت دادن مقدار پيش فرض

. دهيد

def make_omelet2(omelet_type = “cheese”):

. حال شما مي توانيد اين تابع را با ورودي يا بدون ورودي فراخواني كنيد

داخل تابعتابع در

تابعي بزگتر و پيچيده را به بخـش زماني كه مي خواهيد. شما مي توانيد تابعي را درون تابع تعريف كنيد

از اين بخش ها را به عنوان يـك تـابع درون تـابع اصـلي هايي كوچكتر تقسيم كنيد مي توانيد هر يك

با ايـن تفـاوت كـه از . ولي مي باشد حالت نحوه تعريف همانند تعريف تابع معم كه در اين. تعريف كنيد

. بيرون تابع اصلي نمي توان به توابع عضو دسترسي داشت

تست پارامتر ها

معموال مي توان در بازه هاي زماني مختلـف انـواع داراي نوع ثابت نيستند و پايتون چون متغيير ها در

توابع هم هست كـه ممكـن متفاوتي از يك متغيير را داشت پس امكان ارسال انواع داده هاي مختلف به

براي جلوگيري از اينگونه موارد بايد نـوع . كنند است باعث بروز خطا گرددند يا نتايج اشتباهي را توليد

. اده در داخل تابع تست كنيماستف متغيير خود را قبل از

def make_omelet(omelet_type):

Page 34: پایتون زبان برنامه

هفتمبخش

داليل و موارد استفاده از

پايتون

Page 35: پایتون زبان برنامه

.گرايي و ساختارگرايي پشتيباني مـي كنـد از جمله شيي زبان قدرتمند پايتون از همه قابليت هاي يك

در آن بـه صـورت كـامال حافظـه مديريت است و ديناميك پايتون مانند زبان هاي پرل و روبي سيستم

بـراي ديناميـك همين امر سبب مي شود كه پايتون ماننـد ديگـر زبـان هـاي . خودكار انجام مي شود

پا به هلند در cwi شركت پايتون در اواخر دهه هشتاد در. نويسي نيز مورد استفاده قرار گيرد اسكريپت

زماني من «: گيدو وان روسوم، طراح پايتون در مورد دليل پيدايش پايتون مي گويد . عرصه وجود گذاشت

كار در اين گـروه . ه سازي اين زبان مشغول بودمبه پياد abc زبان برنامه نويسي در گروه cwi شركت در

دستور زبان جالبي داشـت امـا abc زبان. نكات زيادي را در مورد طراحي يك زبان جديد به من آموخت

ايـن . ناممكن مي ساختگسترش زبان را در عمل محدوديت هايي در اين زبان وجود داشت كه توسعه و

پياده سازي زباني بود كه قابليت توسعه داشته باشد و در آن بتوانم موضوع انگيزه اصلي براي طراحي و

در آن زمان من در كـار بـا . داشتم، پياده سازي كنم abc خود و انتقاداتي را كه به زبان ايده هاي جديد

تبحر داشتم و پس از صحبت با طراحان آن و مطالعه دستور زبان طراحي پايتون (modula) زبان مادوال

بخش . و مادوال به ارث برده است abc زبان پايتون بخش وسيعي از دستور زبان خود را از. دمرا شروع كر

در حقيقت قابليت گسترش پايتون بسيار بيشتر » .شده است نوشته3مديريت استثناها با الهام از مادوال

مي توانيد: مختلف و كامال متفاوت داشت ماجول در پايتون مي توان دو نوع. ستا از اغلب زبانهاي ديگر

. ه شده انـد، اسـتفاده كنيـد نوشت c زبان هايي كه به طور كامل به ماجول هاي پايتون را در كنار ماجول

پايتون با اسـتفاده از .ا در اختيار ما قرار دهدها و اشيا ر داده ي مي تواند انواع جديدي ازماجول چنين

سـازگار c89 ناميده مي شود و با اسـتاندارد cpython اين پياده سازي. پياده سازي شده است c زبان

ماشـين حاصـل توسـط كد بايت .مي كند كامپايل واسط كد بايت پايتون را به برنامه cpython .است

فـرد و انـدكي گيدو براي نامگذاري زبان خود به دنبال نامي كوتـاه، منحـصر بـه . اجرا مي شود مجازي

سـيرك پرنـده مـونتي "كمـدي سريال نامه فيلم او همزمان با پياده سازي پايتون،. رمزآميز مي گشت

او پس از گذشت حدود دو دهـه هنـوز . پايتون بنامد را مي خواند و تصميم گرفت زبان جديد را"پايتون

اصلي درتعيين جهت توسعه پايتون حفظ كرده است و ايـن نقـش گيرنده را به عنوان تصميمنقش خود

Page 36: پایتون زبان برنامه
Page 37: پایتون زبان برنامه

و نيـز پيـاده سـازي زبان هاي برنامه نويـسي بر ديگراز ديگر موفقيت هاي پايتون مي توان به تاثير آن

ز مهمترين آنها مي توان ، كه الينوكس نسخه هاي مختلفي از. هاي مهم با پايتون اشاره كرد پروژه برخي

ـ سيستم مديريتنرم افزار (installer) نصب نرم افزار اشاره كرد، تمام يا بخشي از red hat به ود را خ

هاي بزرگي كـه از پـايتون در پيـاده سـازي شركت از جمله. با استفاده از پايتون پياده سازي كرده اند

industrial) صـنعتي بـازي ، ياهو و نور و شعبدهگوگل هاي خود بهره مي گيرند مي توان به سيستم

light and magic) اشاره كرد. ITA كند خود استفاده مي نيز از پايتون براي بعضي از اجزاي.

و گرافيـك هاي پويا نمايي، نرم افزار نويسي در تعدادي از معروفترين زبان اسكريپت پايتون به عنوان

از شناخته شده gimp و maya, blender هايي مانندنرم افزار .مورد استفاده قرار گرفته است بازي ها

.اسـت سيستم عامـل هـا پايتون يكي از اجزاي استاندارد در بسياري از. هستندپايتون كاربران ترين

پايتون در مجموع در مقايـسه كد.است mac os x و netbsd, openbsd، نسخه هاي مختلف لينوكس

هـاي داده و يـا كـاربر هـاي ورودي توسـط داده با دو زبان ديگر قابل درك تراست و به ويژه مـديريت

كاربر يگرافيك واسط برنامه نويسان اين امر موجب استقبال گسترده. خروجي به مراتب ساده تر است

امروزه از پايتون بجاي ديگر زبان هـا اسـتفاده مـي برنامه نويسان از پايتون شده است و بسياري از اين

اسـتفاده جاوا و سپس از ++c پيچيده يا بزرگ هنوزدر درجه اول از محاسبات با اين وجود، براي. كنند

بـزرگ، برنامـه نويـسي هاي پروژه معتقدند كه استفاده از پايتون در برنامه نويسان گروهي از. مي شود

بـا اسـتفاده از كـد و توسـعه برنامه نويسي به طور خالصه مي توان گفت. مي شود كد سبب پيچيدگي

ان را در زم خطاهاي برنامه نويسي آن قادر است به سادگي سيستم ديناميك .پايتون سريع و آسان است

Page 38: پایتون زبان برنامه

ت

سيـستم

.شود ، به روز نگاه داشته مي S60 هاي مختلف اين پروژه به منظور اجرا روي همه پايگاه. عامل

.ثبت كنند

توليد شد كه شامل بسياري از PyS60 با نام60 يك مفسر پايتون براي موبايل هاي سري 2005در نوكيا

شـدن بـا ها از سي پايتون بود ، و همچنين برخي ماژول هاي اضافه شده براي يكپارچه ماژول

Page 39: پایتون زبان برنامه

:منابعhttp://iranictnews.ir/related

http://www.pylearn.com

/www.treatise.blogfa.com/cat-١٣٧.aspx

www.shabgard.org

www.novintabligh.com/١٠٠٠٦٢٠٣.html

forum.dpiguide.com/ftopic-٠-١٥١٣-days٠-orderasc-.html

fa.wikipedia.org/wiki