पायथॉन प्रोग्रॅमिंग
लेखक- तुषार भ. कुटे
Python Programmming
Author: Tushar B. Kute.
पहिली आवृत्ती: सप्टेंबर २०२०
ISBN: 978-93-5408-687-8
अनुक्रमणिका
१. संगणक संरचना
२. पायथॉन प्रोग्रॅमिंगची सुरुवात
३. निर्णयक्षम प्रोग्रॅमिंग
४. डेटा स्ट्रक्चर
५. फंक्शन
६. मॉड्युल व पॅकेज
७. त्रुटी हाताळणी
८. फाईल हाताळणी
९. ऑब्जेक्ट ओरिएंटेड प्रोग्रॅमिंग
परिशिष्ट: अभ्यासांची उत्तरे
4. मराठी भाषेचा पुरस्कार करणाऱ्या आणि
सं गणकामध्ये मुक्तस्त्रोत प्रणालीचा
अवलंब करणाऱ्या सर्व तंत्रज्ञां ना अर्पण!
5. मनोगत
सुमारे एक वर्षापूर्वीची गोष्ट. पायथॉन प्रोग्रॅमिंगचे मराठीतून व्हिडिओ ट्युटोरिअल तयार
करण्याची सं कल्पना मनात आली आणि काही कालावधीतच सदर व्हिडिओज युट्युबवर
आम्ही अपलोड के ले. खरं तर या व्हिडिओजला मिळणारा प्रतिसाद हा अपेक्षेपेक्षा अधिकच
होता. के वळ एकाच वर्षांमध्ये आमच्या युट्युब चॅनेलवरील हे सर्वात लोकप्रिय व्हिडिओ
ठरले. कमेंटसवरून प्रतिसाद लक्षात यायला लागला. प्रत्येक ट्यूटोरियल मराठी प्रोग्रॅमरला
आवडत होते. त्यां चा प्रतिसाद हा हुरूप देणारा ठरला. आज तुम्ही गुगल अथवा युट्युब वर
Python in Marathi असे सर्च के ल्यास हेच व्हिडिओ सर्वात आधी दिसून येतात.
शिवाय मागच्या सलग आठ महिन्यां पासून कं पनीच्या युट्युब चॅनेलचे टॉप तीन
व्हिडीओज हे "पायथॉन इन मराठी" याच प्लेलिस्टमधील आहेत!
कु णालाही आपल्या भाषेतून शिकायला मिळणे, हे आनंददायी व अधिक आवडीचे असते.
त्याचाच हा परिणाम म्हणूनच पायथॉन प्रोग्रॅमिंगचे मराठीतून पुस्तक लिहावे, हा विचार
मनात आला व लगेच त्यावर काम करायला आम्ही सुरुवात के ली. मागच्या सहा
वर्षांपासून या सं गणकीय भाषेवर प्रभुत्व निर्माण झाले होते. त्यामुळे त्यातील सं कल्पना
सहजपणे मराठीतून मां डायला सोपे जाऊ लागले. पुस्तकाची सं कल्पना दोन महिन्यां पासून
आकार घेऊ लागली होती आणि तंत्रज्ञानाच्या सहकार्यानेच इतक्या कमी कालावधीत
पुस्तक तयार झाले.
पुस्तक लिहायला सुरुवात करण्याआधी त्याचा उद्देश स्पष्ट होणे गरजेचे होते. आपण हे
पुस्तक नक्की कोणासाठी लिहीत आहोत? या प्रश्नाचे उत्तर सर्वप्रथम मी शोधले. नुकताच
सं गणक वापरायला सुरुवात के लेल्या व्यक्तीला डोळ्यासमोर ठेवले व पुस्तकाची रचना
के ली. सं गणक म्हणजे काय? प्रोग्रॅमिंग म्हणजे काय? पासून पुस्तक रचनेची सुरुवात
झाली. पुस्तकातील पहिला धडा हा सं बंधित प्रश्नां ची उत्तरे देतो. पायथॉन प्रोग्रॅमिंग
लॆंग्वेज का शिकावी? यासाठी प्रोग्रॅमरला व वाचकां ना प्रेरणा देणे गरजेचे होते. त्यासाठी
इंटरनेटद्वारे विविध विश्लेषणे जमा के ली. ती पहिल्या प्रकरणां मध्ये पाहता येतात. यापूर्वी
तंत्रज्ञानावर आधारित पुस्तक लिहिण्याचा अनुभव पाठीशी होता. त्याची निश्चितच मदत
झाली. याआधी सी आणि जावा प्रोग्रॅमिंगची इंग्रजीतून पुस्तके लिहिली होती. मराठीतून
प्रोग्रॅमिंगचे पुस्तक लिहिण्याचा हा माझा पहिलाच अनुभव होता. त्यामुळे सुरुवातीला
6. काहीश्या अडचणींचा सामना करावा लागला. परं तु, कालां तराने त्यातून हळूहळू मार्गही
निघाला. मागील अनेक वर्षांपासून विविध प्रकारच्या विद्यार्थ्यांना पायथॉन शिकवण्याचा
अनुभव कामी आला. एखादी सं कल्पना प्रात्यक्षिकां द्वारे कशी मां डावी? हा महत्त्वाचा भाग
पुस्तकाची मां डणी करताना अत्यं त उपयोगी ठरला.
मागील दोन वर्षांपासून या पुस्तकाचा सातत्याने विचार करत होतो. यासाठी सातत्याने
अभ्यास करत होतो. ते मराठीतील माझे दुसरे पुस्तक अखेर तयार झाले. त्यामागे माझी
मेहनत असली तरी अनेकां ची प्रत्यक्ष व अप्रत्यक्षरीत्या बहूमोलाची मदत झाली.
तंत्रज्ञानाचा विचार के ल्यास पुस्तक लिहिताना प्रत्येक गोष्टीमध्ये सं गणक तंत्रज्ञानाची मला
मोठे सहाय्य झाली. गुगल डॉक्युमेंट्स, गूगल व्हॉइस मराठी इनपुट, गूगल इनपुट
टूल्स, आणि गुगल फॉन्ट यासह काही मुक्त स्त्रोत सॉफ्टवेअरचा मी पुस्तक लिहिताना
प्रामुख्याने वापर के ला आहे. पुस्तक लिहिण्याची सर्वात मोठी प्रेरणा माझी पत्नी रश्मी
हिची होती. तिचा सातत्याने पाठिंबा मला पुस्तक लिहिताना मिळाला. तिच्या अनेक
सूचना या पुस्तकाची रचना करण्यासाठी निश्चितच कामी आल्या. याशिवाय माझी मुलगी
ज्ञानेश्वरी, आई-वडील, भाऊ अमित व अमोल, सासू-सासरे आणि माझे मामा विजय
आवटे यां चीही प्रेरणा माझ्यासोबत होती. तसेच पुस्तकाच्या निमित्ताने प्रत्यक्ष व
अप्रत्यक्षरीत्या मदत झालेल्या माझे विद्यार्थी राहुल महाले, प्रथमेश कोरगावकर, अनिके त
थोरवे यां चेही मी आभार मानतो.
रश्मीच्या वाढदिवशी आमच्या या पहिल्याच व्यावसायिक ई-पुस्तकाची पहिली झलक
सोशल मीडियाद्वारे प्रदर्शित करण्यात आली. 5 सप्टेंबर 2020 रोजी हे पुस्तक प्रकाशित
झाले आहे. पहिली आवृत्ती असल्याने कदाचित काही ही त्रुटी त्यात असू शकतील.
माझी वाचकां ना विनंती आहे की, त्या त्रुटी मला निदर्शनात आणून द्याव्यात. त्यां ची
निश्चितच सुधारणा करण्यात येईल.
या पुस्तकाद्वारे मराठी जाणणाऱ्या प्रोग्रामरला पायथॉन प्रोग्रॅमिंगचे निश्चितच प्रात्यक्षिकां द्वारे
उपयुक्त ज्ञान प्राप्त होईल, याची मला आशा आहे.
- तुषार भ. कु टे
7. लेखकाचा परिचय
तुषार कु टे यां नी शासकीय अभियां त्रिकी
महाविद्यालय ( सीओईपी) मधून 2005
मध्ये सं गणक अभियां त्रिकीची पदवी प्राप्त
के ली. तसेच औरं गाबाद येथील मराठवाडा
इन्स्टिट्यूट ऑफ टेक्नॉलॉजी मधून
सं गणकशास्त्र आणि अभियां त्रिकीची
पदव्युत्तर पदवी प्राप्त के ली आहे. मागील
पं धरा वर्षांपासून त्यां नी अभियां त्रिकी व
अन्य तंत्र शाखां तील विद्यार्थ्यांना सी, सी
प्लस प्लस, जावा, पायथॉन, आर सारख्या विविध प्रोग्रॅमिंग भाषा शिकवल्या आहेत.
सध्या ते पुण्यातील मितू स्किलॉलॉजीस या कं पनीमध्ये सं शोधक व प्रशिक्षक पदावर
कार्यरत आहेत. त्यां चे हे तिसरी व्यावसायिक पुस्तक होय. त्यां नी महाराष्ट्र भर
अभियां त्रिकी व व सं गणक विज्ञान महाविद्यालयां मध्ये 200 पेक्षा अधिक प्रशिक्षण
कार्यक्रम घेतले आहेत. याशिवाय सं गणक तंत्रज्ञानातील विविध विषयां वर व्याख्याने
दिली आहेत. आजवर त्यां चे 20 शोधनिबंध विविध आं तरराष्ट्र ीय सं शोधन नियतकालिके
व परिषदां मध्ये प्रकाशित झाले आहेत. सन 2014 मध्ये त्यां ना सं गणक व माहिती तंत्रज्ञान
सं घटना, महाराष्ट्र राज्य तर्फे लिनक्स सं गणक प्रणालीमध्ये सर्वोत्तम कार्य के ल्याबद्दल
विशेष पुरस्कार प्राप्त झाला आहे. आजवर त्यां नी विविध आं तरराष्ट्र ीय सं शोधन
परिषदां मध्ये परीक्षक म्हणून देखील कार्य के ले आहे. त्यां चे मागील वीस वर्षांमध्ये विविध
मराठी व इंग्रजी वृत्तपत्रां मध्ये त्यां चे दोनशेपेक्षा अधिक लेख प्रसिद्ध झाले आहेत. ते स्वतः
एक लेखक, ब्लॉगर तसेच इतिहास अभ्यासक आहेत.
वेबसाईट्स: http://tusharkute.com
http://tusharkute.net
http://tusharkute.in
ई-मेल: tushar@tusharkute.com
8. अनुक्रमणिका
१. सं गणक सं रचना 1
२. पायथॉन प्रोग्रॅमिंगची सुरुवात 17
३. निर्णयक्षम प्रोग्रॅमिंग 50
४. डेटा स्ट्र क्चर 81
५. फं क्शन 113
६. मॉड्युल व पॅके ज 129
७. त्रुटी हाताळणी 143
८. फाईल हाताळणी 157
९. ऑब्जेक्ट ओरिएं टेड प्रोग्रॅमिंग 174
परिशिष्ट: अभ्यासां ची उत्तरे 197
9. प्रकरण पहिले
सं गणक सं रचना
विषय परिचय
प्रोग्रॅमिंग भाषा म्हणजे काय? हे जाणून घेण्यापूर्वी आपण ज्या यं त्राद्वारे प्रोग्रॅमिंग करणार
आहोत, त्या सं गणकाची सर्व प्रथम माहिती करून घेऊयात. खालील चित्रात
दाखवल्याप्रमाणे सर्वसामान्यपणे सं गणकाची रचना असते.
सन 1951 मध्ये जॉन व्हॉन न्यूमन यां नी ही रचना सर्वप्रथम तयार के ली होती. सं गणकाला
माहिती पुरवण्यासाठी अर्थात इनपुट देण्यासाठी जी माध्यमे वापरतात त्यां ना इनपुट
डिव्हाईसेस अर्थात आदान माध्यमे म्हटले जाते. कीबोर्ड, माऊस ही सर्वसामान्य इनपुट
डिव्हाईसेस आहेत. याव्यतिरिक्त मायक्रोफोन, कॅ मेरा, स्कॅ नर यासारख्या उपकरणां नी सुद्धा
सं गणकाला माहिती पुरवता येते. आलेली माहिती व तिच्यावर प्रक्रिया करण्याचं काम सेंट्र ल
पायथॉन प्रोग्रॅमिंग 1
10. प्रोसेसिंग युनिट अर्थात सीपीयू द्वारे के ले जाते. आपल्या सं गणकाच्या आत एक मदर बोर्ड
नावाचे इलेक्ट्र ॉनिक माध्यम असते. त्यावर विविध प्रकारची इलेक्ट्र ॉनिक उपकरणे जोडलेली
असतात. त्यापैकीच एक हा मायक्रोप्रोसेसर होय. सं गणकाच्या सर्व किचकट गणिती प्रक्रिया
व निर्णय घेण्याच्या प्रक्रिया या सीपीयू मधील मायक्रोप्रोसेसर द्वारे के ल्या जातात. मायक्रो
प्रोसेसरला जर काही माहिती साठवायचे असेल तर तो रँडम ऍक्सेस मेमरी अर्थात रॅम वापर
करतो. त्यामुळे सं गणकाचा वेग हा मायक्रोप्रोसेसरचा वेग आणि रॅमची क्षमता व वेग या वर
अवलंबून असतो. सीपीयूने तयार के लेली उत्तरे पुन्हा आपल्याला समजावीत व दिसावीत
याकरिता आउटपुट डिवाइस अर्थात प्रदान माध्यमां चा वापर के ला जातो. सर्वसामान्यपणे
सं गणकाचा मॉनिटर अथवा स्क्रीन हे आउटपुट डिवाइस म्हणून गणले जाते. याव्यतिरिक्त
प्रिंटर व स्पीकर तसेच पेन ड्र ाईव्ह हीसुद्धा आऊटपुट डिव्हाइसेस आहेत. तुमच्याकडे तुमचा
स्वतःचा कॉम्प्युटर, लॅपटॉप अथवा प्रोग्रॅम करता येण्यासारखा अँड्र ॉइड मोबाईल असेल तर
त्या सर्वांची रचना वरील आकृ ती प्रमाणेच असते सं गणकामध्ये हे आपल्याला जर काही ही
माहिती पाठवायची असेल, तर हार्ड डिस्कचा वापर के ला जातो. याच हार्डडिस्कवर
सं गणकाची ऑपरेटिंग सिस्टिम अर्थात सं गणक प्रणाली इन्स्टॉल के लेली असते.
सॉफ्टवेअर म्हणजे काय?
वरील मुद्द्यां मध्ये आपण सं गणकाची हार्डवेअर रचना कशी असते? हे समजावून घेतले.
आता थोडं सॉफ्टवेअर बद्दल बोलूयात. सं गणक चालवण्यासाठी त्याच्या हार्डवेअर सोबतच
सॉफ्टवेअर सुद्धा गरजेचे असते. सॉफ्टवेअर शिवाय हार्डवेअर चालत नाही आणि हार्डवेअर
शिवाय सॉफ्टवेअरचा काहीच उपयोग नसतो.
जेव्हा तुम्ही तुमचा सं गणक चालू करता तुमची ऑपरेटिंग सिस्टिम चालू होते. ऑपरेटिंग
सिस्टिम हेसुद्धा एक सॉफ्टवेअर आहे. याव्यतिरिक्त सं गणकामध्ये वापरण्यात येणारे
मोझिला फायरफॉक्स वेब ब्राउझर, नोटपॅड, मायक्रोसॉफ्ट ऑफिस, व्हिडिओ प्लेयर,
ऑडिओ प्लेयर, पेन्ट ही सर्व सॉफ्टवेअरच आहेत. सं गणकावर कार्य करण्यासाठी विविध
प्रकारच्या सॉफ्टवेअरचा वापर के ला जातो. ही सॉफ्टवेअर विविध सॉफ्टवेअर डेव्हलपरने
तयार के लेली आहेत. प्रत्येकाची गरज व उपयोग हा वेगळा आहे. ही सॉफ्टवेअर
पायथॉन प्रोग्रॅमिंग 2
11. बनविण्यासाठी प्रोग्रॅमिंग लँग्वेज अर्थात सं गणकीय भाषेचा उपयोग के ला जातो. प्रत्येक
सॉफ्टवेअर हे वेगवेगळ्या भाषेमध्ये बनविलेले असू शकते. एखाद्या प्रोग्रॅमिंग लँग्वेजमध्ये हे
सॉफ्टवेअर तयार के ल्यानंतर ते ऑपरेटिंग सिस्टिम मध्ये इन्स्टॉल करून सं गणक
वापरकर्त्याला वापरता येऊ शकते. अशा सॉफ्टवेअरचे ढोबळमानाने दोन प्रकार पडतात.
पहिला प्रकार आहे, सिस्टीम सॉफ्टवेअर आणि दुसरा ॲप्लिके शन सॉफ्टवेअर.
सिस्टीम सॉफ्टवेअर
सं गणकातील विविध गोष्टी हाताळण्यासाठी सिस्टिम सॉफ्टवेअरचा प्रामुख्याने वापर होतो
किंवा अशी सॉफ्टवेअर्स, हार्डवेअर हाताळण्यासाठी व अन्य नवीन सॉफ्टवेअर तयार
करण्यासाठी वापरण्यात येतात. उदाहरणार्थ, तुमच्या सं गणकाची ऑपरेटिंग सिस्टिम अर्थात
विंडोज, लिनक्स अथवा ऍपल मॅक ही अशीच सॉफ्टवेअर्स आहेत, ज्याचा वापर सं गणकाचे
हार्डवेअर हाताळण्यासाठी के ला जातो. सं गणकातील एडिटर, कम्पायलर, इंटरप्रीटर तसेच
विविध हार्डवेअरचा वापर करण्यासाठी इन्स्टॉल करण्यात येणारे डिव्हाईस ड्र ायव्हर ही सर्व
सिस्टीम सॉफ्टवेअरची उदाहरणे आहेत. सिस्टीम सॉफ्टवेअर ही कॉम्प्युटर प्रोग्रॅमिंग
लँग्वेजचा वापर करूनच तयार करण्यात येतात.
ॲप्लिके शन सॉफ्टवेअर
या प्रकारच्या या सॉफ्टवेअरचे विकसन सर्वसामान्य सॉफ्टवेअर डेव्हलपर्स कडून के ले जाते.
सं गणकातील मायक्रोसॉफ्ट वर्ड, ऑफिस, मोझिला फायरफॉक्स, गुगल क्रोम, कॅ ल्क्युलेटर,
व्हिडिओ प्लेयर, ऑडिओ प्लेयर ही सर्व एप्लीके शन सॉफ्टवेअर्स आहेत. एखाद्या विशिष्ट
उद्देशाने तयार करण्यात येणाऱ्या सॉफ्टवेअरला अप्लिके शन सॉफ्टवेअर म्हणतात. त्याचा
तसा हार्डवेअर हाताळण्यासाठी उपयोग के ला जात नाही. वेबसाईट डेव्हलपमेंट ही जगातली
सर्वात मोठी अप्लिके शन सॉफ्टवेअर आहेत. सर्व प्रकारची ॲप्लिके शन सॉफ्टवेअर तयार
करण्यासाठी प्रोग्रॅमिंग लँग्वेज वापरल्या जातात.
प्रोग्रॅमिंग लँग्वेज मध्ये एखादे सॉफ्टवेअर लिहिल्यानंतर ते ऑपरेटिंग सिस्टिम मध्ये हे रन
अथवा एक्झिक्युट के लं जातं व त्यानंतर ते सर्वसामान्य सं गणक वापरकर्त्याला वापरता येतं .
पायथॉन प्रोग्रॅमिंग 3
12. असे सॉफ्टवेअर्स प्रोग्रॅम लिहिण्यासाठी आज जगामध्ये विविध सं गणकीय भाषा उपलब्ध
आहेत. त्यापैकी सी, सीप्लसप्लस, जावा, पायथॉन, जावास्क्रिप्ट, रुबी, आर, गो या आज
वापरण्यात येणाऱ्या काही प्रमुख प्रोग्रॅमिंग लँग्वेजेस पैकी काही भाषा होत.
प्रोग्रॅमिंग लँग्वेज म्हणजे काय ?
वरील मुद्द्यावर बघितल्याप्रमाणे कोणत्याही प्रकारचे सॉफ्टवेअर बनवायचे असल्यास
प्रोग्रॅमिंग लँग्वेज अर्थात सं गणकीय भाषां चा वापर के ला जातो. आज जगामध्ये शेकडो
प्रोग्रॅमिंग लँग्वेज अस्तित्वात आहेत. त्यां च्या उपयुक्ततेनुसार त्यां चा वापर के ला जातो.
शिवाय काही सं गणकीय भाषा या सोप्या असतात. तसेच काही भाषां मध्ये विविध उपलब्धी
आधीपासूनच तयार असतात. त्यामुळे त्या जास्त वापरल्या जातात. सर्वसामान्यपणे सर्वच
सं गणकीय भाषा या इंग्रजी पद्धतीच्या शब्दां मध्ये लिहिल्या जातात. त्यामुळे त्यातील प्रोग्रॅम
लिहिणे सोपे झाले आहे. साधारणतः पन्नास वर्षांपूर्वी के व्हा सं गणकां मध्ये प्रोग्रॅम लिहिला
जायचा तो थेट सं गणकाच्या बायनरी पद्धतीमध्ये अर्थात शून्य आणि एक च्या भाषेमध्ये
लिहिल्या जात असे. त्यामुळे असे प्रोग्रॅम्स लिहिणे ही एक किचकट प्रक्रिया होती. यावर
उपाय म्हणून नवीन भाषा पद्धती तयार के ली गेली. त्याला आपण ‘हाय लेवल लँग्वेजेस’
अर्थात उच्चस्तरीय सं गणक भाषा असे म्हणतो. ह्या भाषा आपल्याला अर्थात सॉफ्टवेअर
डेव्हलपरला समजायला सोप्या जातात. परं तु त्या सं गणकाला समजत नाहीत. सं गणकाला
के वळ बायनरी पद्धतीची भाषा समजते. यावर उपाय म्हणून दोन प्रकारचे नवे सिस्टीम
सॉफ्टवेअर तयार के ले गेले आहेत, कम्पायलर आणि इंटरप्रीटर.
कम्पायलर
हा एक प्रकारचा सिस्टिम सॉफ्टवेअर प्रोग्रॅम आहे. याद्वारे हाय लेवल लँग्वेज सं गणकाला
समजेल अशा बायनरी पद्धतीमध्ये रूपां तरित के ली जाते. ज्यामुळे आपलं आणि सं गणकाचं
सं भाषण सुरळीत व व्यवस्थित पार पडतं. सं गणकाच्या इतिहासात तयार के ल्या गेलेल्या सी,
सीप्लसप्लस, जावा सारख्या सं गणकीय भाषा कम्पायलरचा वापर करून सं गणकाला
समजावल्या जातात. कम्पायलर एखाद्या कॉम्पुटर लँग्वेज मध्ये लिहिलेला पूर्ण प्रोग्रॅम अथवा
पायथॉन प्रोग्रॅमिंग 4
13. कोड तपासून पाहतो. त्यात काही चुका असतील तर सर्व आपल्याला दाखवतो. त्या चुकां ची
दुरुस्ती झाल्यानंतर तो प्रोग्रॅम एक्झिक्युट के ला जातो व सं गणकाला समजेल अशा बायनरी
भाषेमध्ये रूपां तरित के ला जातो.
इंटरप्रीटर
हा सुद्धा एक प्रकारचा सिस्टिम सॉफ्टवेअर प्रोग्रॅम आहे. याद्वारे हाय लेवल लँग्वेज
सं गणकाला समजेल अशा बायनरी पद्धतीमध्ये रूपां तरित के ली जाते. परं तु, तो कम्पायलर
सारखा पूर्ण प्रोग्रॅम एकाच वेळी तपासून पाहत नाही. इंटरप्रीटर लिहिलेला प्रोग्रॅम प्रत्येक
ओळीनुसार तपासतो. जर एखाद्या ओळीवर काही चूक असेल, तर तो ती दर्शवतो. मात्र
चुकीची दुरुस्ती के ल्याशिवाय पुढच्या ओळीवर जात नाही. अशाप्रकारे इंटरप्रीटर आपल्या
प्रोग्रॅम मधली एक एक ओळ तपासून पाहतो व पूर्ण प्रोग्रॅममध्ये एकही चूक नसेल तर तो
एक्झिक्युट करतो. कम्पायलर आणि इंटरप्रीटर मध्ये हा सर्वात महत्त्वाचा फरक आहे.
पायथॉन प्रोग्रॅमिंग लँग्वेज तसेच आर, रुबी, पीएचपी या सं गणकीय भाषा सुद्धा इंटरप्रीटर
द्वारे सं गणकाला समजतात.
कॉम्प्युटर प्रोग्रॅमिंग लँग्वेजला साधारणतः सत्तर वर्षांचा इतिहास आहे. त्या काळामध्ये
प्रोग्रॅमिंग लँग्वेज ह्या बायनरी पद्धतीमध्ये लिहिल्या जात असत. 1960 च्या दशकां मध्ये ग्रेस
हॉपर यां नी सं गणकासाठी प्रोग्रॅमिंग लँग्वेजचा पहिला कम्पायलर तयार के ला. त्यानंतरच्या
दशकात अल्गोल, फॉरट्र ान, पास्कल सारख्या वापरकर्त्याला लवकर समजतील अशा
सं गणकीय भाषा तयार झाल्या. याच काळात पास्कल नावाची सं गणकीय भाषा खूप
लोकप्रिय झाली होती. 1970 नंतर प्रोग्रॅमिंग लँग्वेजची खरी पिढी तयार होऊ लागली. याच
दरम्यान अमेरिके तल्या एटी अँड बेल लॅबोरेटरी मध्ये डेनिस रिची व ब्रायन करनिंगम यां नी
‘सी प्रोग्रॅमिंग लँग्वेज’ तयार के ली. सं गणकाच्या इतिहासात सर्वाधिक लोकप्रिय झालेली ही
सं गणकीय भाषा होय. सी तयार झाल्यानंतर खऱ्या अर्थाने सं गणकामध्ये ऑपरेटिंग सिस्टिम
तयार के ली गेली. तिचं नाव होतं युनिक्स. 1980 नंतर object-oriented प्रोग्रॅमिंग जगाला
ओळख झाली. सीप्लसप्लस नावाची नवी सं गणकीय भाषा तयार झाली. याच काळात
आयबीएम ने पर्सनल कॉम्प्युटर अर्थात वैयक्तिक सं गणक बाजारात आणायला सुरुवात
पायथॉन प्रोग्रॅमिंग 5
14. के ली होती. शिवाय विंडोज व मॅक सारख्या ऑपरेटिंग सिस्टिम तयार झाल्या. 1990 यावर्षी
वर्ल्ड वाइड वेब अर्थात इंटरनेट तयार झाले. याच वर्षी सन मायक्रो सिस्टिमने जावा प्रोग्रॅमिंग
लँग्वेज तयार के ली व सं गणकाला गती येऊ लागली. निरनिराळ्या वेबसाइट्स तयार व्हायला
लागल्या. त्यामुळे जावा प्रोग्रॅमिंग लँग्वेज अधिकाधिक विकसित होऊ लागली होती. सन
2015 पर्यंत जावा ही सं गणक विश्वात सर्वाधिक मान्यता पावलेली सं गणकीय भाषा होती.
आज कोणत्याही प्रोग्रॅमिंग लँग्वेज शिवाय सं गणकात सॉफ्टवेअर तयार करता येत नाहीत.
त्यामुळे सं गणकीय भाषा शिकणे अगत्याचे ठरते.
पायथॉन प्रोग्रॅमिंग लँग्वेज
पायथॉन ही आजच्या जगातली सर्वात लोकप्रिय प्रोग्रॅमिंग लँग्वेज आहे. गुइडो व्हेन रॉसम
याने सन 1991 मध्ये पायथॉन तयार के ली. सन 1980 च्या दरम्यान तयार झालेल्या एबीसी
नावाच्या सं गणकी भाषेवरून पायथॉन तयार झालेली आहे. पायथॉनची दुसरी आवृत्ती सन
2000 मध्ये तर तिसरी आवृत्ती अर्थात पायथॉन 3.0 सन 2008 मध्ये प्रकाशित झाली.
2020 च्या सुरुवातीला पायथॉन 2.0 बंद करण्यात आली. पायथॉनचा निर्माता रॉसम यां नी
अमिबा ऑपरेटिंग सिस्टिम साठी नेदरलँड च्या सेंट्र ल स्कू ल दे इन्फॉर्मेटिक्स इथे काम
करताना तयार के ली होती. पायथॉन म्हणजे मोठा अजगर. परं तु, या भाषेला नाव
अजगरावरून देण्यात आलेले नाही. बीबीसी चॅनेलवर प्रकाशित झालेल्या प्रदर्शित झालेल्या
मोंटी पायथॉन फ्लाइंग सर्कस या विषयावरून या सं गणकी भाषेचे नामकरण करण्यात
आलेले आहेत. मागच्या काही वर्षांपासून डेटा सायन्स, मशीन लर्निंग, आर्टिफिशिअल
इंटेलिजन्स, डीप लर्निंग, बिझनेस इंटेलिजन्स, नॅचरल लँग्वेज प्रोसेसिंग सारख्या नवीन
तंत्रज्ञानां चा उदय झाला. या तंत्रज्ञानासाठी लागणारी सर्व मदत पायथॉन प्रोग्रमिंग लँग्वेज
आपल्याला देते. त्यामुळे आज तिचा उपयोग सॉफ्टवेअर क्षेत्रां मध्ये वेगाने वाढत असल्याचे
दिसते.
पायथॉनची वैशिष्ट्ये
सोपी भाषा
पायथॉन प्रोग्रॅमिंग 6
15. पायथॉन ही अन्य सं गणकीय भाषां पेक्षा अतिशय सोपी भाषा आहे. ज्यां ना सं गणकीय
प्रोग्रॅमिंगचे काहीच ज्ञान नाही, असे लोकही ही भाषा सहज शिकू शकतात. सीप्लसप्लस
आणि जावा या भाषां पेक्षा साधे व सरळ प्रोग्रॅमिंग स्टेटमेंट पायथॉनमध्ये लिहिता येतात.
त्यामुळे अन्य भाषां पेक्षा पायथॉनमध्ये सुलभता आलेली आहे.
मोफत आणि ओपन सोर्स
पायथॉन ही मोफत उपलब्ध असणारी प्रोग्रॅमिंग लँग्वेज आहे. https://python.org
नावाच्या वेबसाइटवरून तुम्ही ती थेट डाऊनलोड करू शकता. त्यासाठी कु ठल्याही प्रकारचं
लायसन्स अथवा परवाना लागत नाही. पायथॉन ही “पायथॉन सॉफ्टवेअर फाउं डेशन”
नावाच्या सं स्थेतर्फे सध्या चालवली जाते. ही सं स्था ‘ना नफा ना तोटा’ या तत्वावर चाललेली
आहे. शिवाय पायथॉनमध्ये काही बदल करावयाचे असल्यास तेही आपण करू शकतो.
कारण तिचा इंटरप्रीटर हा ओपन सोर्स आहे. पायथॉन लिनक्स सारख्या सं गणक प्रणाली
मध्ये आधीपासूनच इन्स्टॉल झालेली दिसते. ती याच कारणामुळे!
सं गणक प्रणाली मुक्त
याला इंग्रजीमध्ये “प्लॅटफॉर्म इंडिपेंडन्स” असे म्हणतात. याचा अर्थ असा की, पायथॉनमध्ये
लिहिलेल्या प्रोग्रॅम सं गणकाच्या सर्वच ऑपरेटिंग सिस्टिमवर एक्झिक्युट करता येतो. अर्थात
तो चालवता येतो. विंडोज, लिनक्स, मॅक सारख्या सर्व सं गणक प्रणाली पायथॉन इंटरप्रीटर
इन्स्टॉल करून देतात. त्यामुळे कोणत्याही सं गणकात लिहिलेला प्रोग्रॅम अन्य कु ठेही तुम्ही
वापरू शकता.
विस्तारनीय
याला इंग्रजीमध्ये ‘एक्सटेंसिबल’ असं म्हणतात. याचा अर्थ असा की, अन्य कु ठल्याही
प्रोग्रॅमिंग लँग्वेज मध्ये लिहिलेला प्रोग्रॅम आपण पायथॉन प्रोग्रमशी जोडू शकतो. त्यासाठी
पायथॉन प्रोग्रॅमिंग 7
16. विविध उपलब्धी पायथॉनमध्ये आहेत. उदाहरणार्थ, मला जावा आणि पायथॉन असा
एकत्रित प्रोग्रॅम लिहायचा आहे. त्यासाठी 'जायथॉन' नावाचं सपोर्टिंग पॅके ज उपलब्ध आहे.
असं च सी साठी सुद्धा 'सायथॉन' नावाचं पॅके ज आहे!
इंटरप्रीटर
आपण यापूर्वीच कम्पायलर आणि इंटरप्रीटर म्हणजे काय, ते पाहिलं आहे. पायथॉनचा विचार
के ल्यास पायथॉन इंटरप्रीटरचा वापर करतात अर्थात पायथॉनमध्ये लिहिलेला प्रोग्रॅम एका-
एका ओळीनुसार एक्झिक्युट के ला जातो. त्यामुळे सं पूर्ण प्रोग्रॅम मधील चुका काढण्यासाठी
लागलेला वेळ वाचला जातो.
कमी ओळींचे प्रोग्रॅम्स
पायथॉनचे हे सर्वात मोठे वैशिष्ट्य मानता येईल. कारण एखादा प्रोग्रॅम लिहिण्यासाठी
जितका वेळ व जितक्या ओळी अन्य सं गणकीय भाषां मध्ये लागतात, त्यापेक्षा कितीतरी कमी
वेळ व ओळी पायथॉनमध्ये लागतात. उदाहरणार्थ, एक प्रोग्रॅम लिहिण्यासाठी जावा मध्ये
सोळा तास, तोच सीप्लसप्लस मध्ये अकरा तास, सी मध्ये नऊ तास लागत असतील तर
पायथॉनमध्ये त्याला के वळ दोन तास लागतात! यावरून आपल्याला असे समजते की,
कमीत कमी ओळीमध्ये जास्तीत जास्त आउटपुट प्रदान करण्याचे काम पायथॉन प्रोग्रॅम
करतो.
भव्य स्टॅंडर्ड लायब्ररी
सं गणकीय भाषां च्या दृष्टीने लायब्ररी या शब्दाचा अर्थ निराळा आहे. सं गणकीय भाषेच्या
इंटरप्रीटर व्यतिरिक्त अन्य काही सं लग्न पॅके ज त्याला जोडले जातात. जे आपण इंटरनेटवरून
डाऊनलोड करू शकतो. त्यां ना ‘लायब्ररी’ म्हणतात. उदाहरणार्थ, नेटवर्क प्रोग्रॅमिंग
करण्यासाठी, इमेज प्रोसेसिंग करण्यासाठी किंवा वेब डेव्हलपमेंट करण्यासाठी पायथॉनमध्ये
विविध प्रकारच्या लायब्ररी उपलब्ध आहेत. त्यां चा वापर करून नावीन्यपूर्ण प्रोग्रॅम्स
पायथॉन प्रोग्रॅमिंग 8
17. पायथॉनमध्ये लिहिता येतात. आज मितीला अशा अडीच लाखां पेक्षा अधिक लायब्ररी
इंटरनेटवर पायथॉनमध्ये वापरण्यासाठी उपलब्ध आहेत. त्यामुळे अद्ययावत पायथॉन
प्रोग्रॅमिंग लिहिणे सोपे जाते. अन्य सं गणकीय भाषां चा विचार के ल्यास इतर कोणत्याही
भाषेमध्ये इतक्या मोठ्या प्रमाणात लायब्ररी उपलब्ध नाहीत. ओपन सोर्स असल्या कारणाने
पायथॉनमध्ये अन्य सॉफ्टवेअर डेव्हलपर स्वतःची लायब्ररी समाविष्ट करू शकतात. त्यामुळे
अश्या लायब्ररी नव्याने तयार होण्याचा वेग खूप जास्त आहे. त्यां ची लोकप्रियता
वाढण्यासाठी या लायब्ररीचा खूप मोठा वाटा आहे.
डायनामिक टायपिंग
प्रोग्रॅमिंग लँग्वेजचे हे एक मोठे वैशिष्ट्य मानण्यात येते. एखादी सं ख्या तुम्हाला साठवायची
असल्यास तुम्हाला आधी व्हॅरिएबल्स तयार करावे लागतात. नंतरच त्यामध्ये सं ख्या
साठवता येते. पायथॉनमध्ये याची आवश्यकता भासत नाही. अर्थात प्रोग्रॅम चालू असताना
व्हॅरिएबल्स तयार करता येतात. यालाच डायनामिक टायपिंग म्हटले जाते. सीप्लसप्लस
आणि जावा ह्या डायनामिक नव्हे तर स्टॅटिक टायपिंग असणाऱ्या प्रोग्रॅमिंग लँग्वेजेस आहेत.
ग्राफिकल युजर इंटरफे स डेव्हलपमेंट
एखादे सॉफ्टवेअर तयार करायचे असल्यास त्यासाठी आपल्याला ग्राहकाला वापरता येईल,
असा यूजर इंटर्फेस तयार करावा लागतो. जवळपास सर्वच भाषां मध्ये तो उपलब्ध आहे.
परं तु, पायथॉनमध्ये त्यासाठी मोठ्या प्रमाणात लायब्ररी उपलब्ध आहेत. आपल्याला जसा
हवा तसा ग्राफिकल युजर इंटरफे स आपण तयार करू शकतो. याशिवाय वेब एप्लीके शनही
तयार करता येतात. त्यासाठी जाँगो व फ्लास्क नावाचे दोन वेब फ्रे मवर्क लोकप्रिय आहेत.
पायथॉन ची आजची स्थिती खाली विविध प्रकारचे ग्राफ व विश्लेषणात्मक माहिती तुम्हाला
दिसेल. ही माहिती विविध सं के तस्थळां वरुन घेण्यात आलेली आहे. ज्यात पायथॉनची
आजची स्थिती काय आहे? हे तुमच्या ध्यानात येईल.
पायथॉन प्रोग्रॅमिंग 9
18. विश्लेषण 1: 2020 मधील सर्वाधिक लोकप्रिय प्रोग्रॅमिंग लँग्वेज
विश्लेषण 2: stastista.org नुसार जगातील सर्वाधिक लोकप्रिय प्रोग्रॅमिंग लँग्वेज
पायथॉन प्रोग्रॅमिंग 10
19. विश्लेषण 3: qz.com नुसार तुमच्या resume वर असणारी सर्वात महत्त्वपूर्ण कौशल्य
विश्लेषण 4: गुगलच्या Kaggle या सं के तस्थळाने के लेले सर्वेक्षण
पायथॉन प्रोग्रॅमिंग 11
20. विश्लेषण 5: Coding Infinite नुसार जगातील सर्वाधिक लोकप्रिय सं गणक भाषा
विश्लेषण 6: Stack Overflow नुसार जगातील सर्वात आवडत्या प्रोग्रॅमिंग भाषा
पायथॉन प्रोग्रॅमिंग 12
21. विश्लेषण 7: सुप्रसिद्ध IEEE च्या सर्वेक्षणातील सर्वाधिक लोकप्रिय सं गणकीय भाषा
विश्लेषण 8: quora.com या वेबसाईटने के लेल्या सर्वेक्षणाचे निकाल
पायथॉन प्रोग्रॅमिंग 13
22. पायथॉनचे उपयोग
पायथॉन प्रोग्रॅमिंग लँग्वेजच्या विविध वैशिष्ट्यां मुळे ती नानाविध क्षेत्रां मध्ये सॉफ्टवेअर
डेव्हलपमेंट करण्यासाठी वापरली जाते. मागच्या दहा वर्षांपासून तिने सं गणकातील विविध
क्षेत्रे पादाक्रां त के लेली आहेत. त्यापैकी खालील काही क्षेत्रां मध्ये तिचा वापर वाढताना दिसत
आहे.
1. वेब व इंटरनेट डेव्हलपमेंट
2. ग्राफिकल युजर इंटरफे स
3. ॲप्लिके शन डेव्हलपमेंट
4. अंकगणित व वैज्ञानिक उपयोग
5. सर्वसामान्य सॉफ्टवेअर डेव्हलपमेंट
6. शिक्षण
7. बिजनेस ॲप्लिके शन डेव्हलपमेंट
8. सं गणकीय खेळ
9. 3D ग्राफिक्स
10. नेटवर्क प्रोग्रॅमिंग
11. डेटाबेस प्रोग्रॅमिंग
12. डेटा सायन्स आणि नॅचरल लँग्वेज प्रोसेसिंग
पायथॉन कोणकोणत्या कं पन्या वापरतात?
आज सेवा व उत्पादन क्षेत्रातील सर्वच कं पन्या पायथॉनमध्ये सॉफ्टवेअर डेव्हलपमेंट
करताहेत. त्यापैकी काही कं पन्यां ची यादी खाली दिली आहे.
1. फे सबूक
2. गुगल
3. इंस्टाग्राम
पायथॉन प्रोग्रॅमिंग 14
23. 4. याहू
5. मायक्रोसॉफ्ट
6. अमेझॉन
7. मोझिला
8. नासा
9. युट्युब
10. आयबीएम
11. उबेर
12. व्हाट्सअप
13. रेड हॅट
14. नेटफ्लिक्स
15. एमआयटी
16. जेपी मॉर्गन
17. नोकिया इत्यादी.
भविष्यातील पायथॉन
भविष्यात पायथॉन प्रोग्रॅमिंग लँग्वेज तीन मुख्य क्षेत्रां मध्ये आपली प्रगती साध्य करेल, असे
तज्ञां ना वाटते.
1. नेटवर्किंग
2. बिग डेटा
3. आर्टिफिशिअल इंटेलिजन्स
नेटवर्किंग
सं गणकाची नेटवर्किंग ही आजच्या आणि भविष्य काळाचीही गरज आहे. माहिती तंत्रज्ञानाचा
विकास होण्यासाठी सं गणकाची नेटवर्किंग आवश्यक असते. त्यासाठी विविध प्रकारचे
सॉफ्टवेअर विकसित करावे लागतात. शिवाय आजच्या इंटरनेटच्या युगामध्ये सर्वच गोष्टी
इंटरनेटला जोडल्या गेलेल्या आहेत. यातूनच “इंटरनेट ऑफ थिंग्स” अर्थात आयओटी
पायथॉन प्रोग्रॅमिंग 15
24. नावाची सं कल्पना उदयास आली. याचेच प्रोग्रॅमिंग करण्यासाठी आज पायथॉन प्रथम
क्रमां काची भाषा म्हणून उदयास येत आहे. पायथॉनमध्ये सर्वच प्रकारच्या प्रकारचे नेटवर्किंग
ॲप्लिके शन बनवता येतात.
बिग डेटा
बिग डेटा म्हणजे खूप मोठ्या प्रमाणात असलेली सं गणकीय माहिती. सर्वसामान्य प्रोग्रॅमिंग
लँग्वेजला या माहितीवर प्रक्रिया करणे अतिशय अवघड जाते. त्यासाठी किचकट
अल्गोरिदम व सं गणकीय इन्फ्रास्ट्र क्चरची नितां त गरज असते. ही गरज पायथॉन प्रोग्रॅमिंग
लँग्वेज द्वारे पूर्ण होताना दिसत आहे. म्हणून भविष्यातही पायथॉनचा वापर या क्षेत्रात मोठ्या
प्रमाणात होणार आहे.
आर्टिफिशिअल इंटेलिजन्स
आर्टिफिशिअल इंटेलिजन्स म्हणजे कृ त्रिम बुद्धिमत्ता होय. सं गणकाला मानवी बुद्धिमत्ता
प्रदान करण्याचं कार्य हे क्षेत्र करत असतं. रोबोटिक्स हा याचाच प्रकार होय. आज-काल
आर्टिफिशिअल इंटेलिजन्स क्षेत्रां मध्ये मशीन लर्निंग या नव्या सं कल्पनेचा उगम झाला आहे.
त्याद्वारे सं गणकाला मानवी अनुभव देऊन अधिक प्रशिक्षित के ले जाते व त्याकडून निर्णय
क्षमता विकसित करण्यात येते, यास मशीन लर्निंग असे म्हटले जाते. मशीन लर्निंग साठी
लागणारे परिपूर्ण सं गणकीय वातावरण पायथॉनकडे उपलब्ध आहे. सां ख्यिकी सारख्या
किचकट प्रक्रिया पायथॉन द्वारे सहजपणे पार पाडता येतात. म्हणूनच आर्टिफिशिअल
इंटेलिजन्स क्षेत्रात इथून पुढे के वळ पायथॉनचा बोलबाला राहील असे चित्र आहे.
-------------
पायथॉन प्रोग्रॅमिंग 16
25. पुस्तकाचे नाव: पायथॉन प्रोग्रॅमिंग
लेखक: तुषार भ. कु टे
एकू ण पाने: २२९
स्वागत मूल्य: ₹ १४९
नोंदणी कशी कराल?
पुस्तक मिळविण्यासाठी प्रकाशकां च्या 7588594665 या क्रमां कावर गुगल पे अथवा पे-
टीएम द्वारे ₹149 पाठवा. पेमेन्ट पूर्ण झाल्यावर त्याचा स्क्रिनशॉट व तुमचा जी-मेल आयडी
याच क्रमां कावर व्हाट्सअँप ने पाठवा. ५ सप्टेंबर २०२० रोजी पुस्तक प्रकाशित झाल्यावर
तुम्हाला ते गुगल ड्र ाइव्हद्वारे पाठविण्यात येईल. पुस्तकाची ई-कॉपी तुम्ही फक्त तुमच्या
गुगल अकाऊं टद्वारेच वाचू शकता.
अधिक माहितीसाठी:
https://mitu.co.in/python-programming-in-marathi-e-book/
पायथॉन प्रोग्रॅमिंग 17
26. पायथॉन ही मागील पाच-सहा वर्षांपासून सं गणक प्रोग्रॅमिंग
विश्वामध्ये पुन:श्च वेग घेणारी सं गणक भाषा होय. मागील दोन
दशके जावा प्रोग्रॅमिंग लँग्वेजने सं गणक विश्वावर राज्य के लं.
परं तु नवनव्या तंत्रज्ञानाच्या उदयामुळे कॉम्प्युटर प्रोग्रॅमिंग
लँग्वेज बदलत चालल्या आहेत. हा बदल पायथॉन प्रोग्रॅमिंग
लँग्वेजने वेगाने आत्मसात के ला. शिवाय ती लवकरच
जगातील सर्वाधिक प्रोग्रॅमरच्या पसं तीची भाषा बनली. आज
सर्व प्रकारचे आधुनिक तंत्रज्ञान पायथॉनमध्ये विकसित के ले
जाते. पायथॉनचे तंत्र जाणून घेण्यासाठी आज सं गणक
विश्वातील प्रत्येक जण उत्सुक आहे. भविष्यात के वळ हीच
सं गणकीय भाषा माहिती-तंत्रज्ञान विश्वावर राज्य करणार आहे.
त्यामुळे तिची सहज व सोपी सुरुवात करता यावी, याकरिता
मराठी विद्यार्थ्यांना वाहिलेले हे पुस्तक.
पायथॉन प्रोग्रॅमिंग, तुषार भ. कु टे