अल्टीमेट पायथन बिगिनर्स गाइड

30 अक्टूबर, 2021

विषयसूची

  • पर्यावरण सेटअप
    • स्थानीय पर्यावरण सेटअप
    • पायथन कैसे प्राप्त करें
    • पायथन कैसे स्थापित करें
    • विंडोज इंस्टालेशन
    • यूनिक्स/लिनक्स इंस्टालेशन
    • मैक स्थापना
    • पायथन के लिए पथ की स्थापना
    • यूनिक्स/लिनक्स के लिए पथ निर्धारित करना
    • विंडोज़ के लिए पथ सेट करना
  • पायथन पर्यावरण चर
    • चल रहा अजगर
  • मूल वाक्य रचना
    • पायथन पहचानकर्ता
    • पायथन स्टेटमेंट
    • पायथन में इंडेंट
    • पायथन में टिप्पणियाँ
    • इनपुट प्राप्त करना
    • आउटपुट प्रदर्शित करें
  • चर प्रकार
    • चर के लिए मान निर्दिष्ट करना
    • पायथन डेटा प्रकार
    • स्ट्रिंग्स
    • टुपल्स
    • सूचियों
    • नंबर
  • बेसिक ऑपरेटर्स
    • असाइनमेंट ऑपरेटर
    • बिटवाइज ऑपरेटर
    • लॉजिकल ऑपरेटर
    • अंकगणित संचालिका
    • तुलना ऑपरेटर
    • पहचान संचालिका
    • सदस्यता ऑपरेटर
  • निर्णय लेना
    • अगर बयान
    • यदि नहीं तो
    • नेस्टेड अगर
    • अगर-एलिफ-अन्य-सीढ़ी
    • शॉर्टहैंड अगर स्टेटमेंट
    • आशुलिपि यदि-अन्य कथन
  • छोरों
    • घुमाव के दौरान
    • पाश के लिए
    • स्थिर फंदा
    • लूप कंट्रोल स्टेटमेंट
    • बयान जारी रखें
    • ब्रेक स्टेटमेंट
    • पास स्टेटमेंट
  • नंबर
    • संख्या प्रकार रूपांतरण
    • यादृच्छिक संख्या कार्य
    • त्रिकोणमितीय फलन
    • गणितीय कार्य
  • स्ट्रिंग्स
    • एक स्ट्रिंग बनाना
    • स्ट्रिंग स्पेशल ऑपरेटर्स
    • स्ट्रिंग फ़ॉर्मेटिंग ऑपरेटर्स
    • एस्केप कैरेक्टर
    • स्ट्रिंग विधियों में निर्मित
  • टुपल्स
    • टुपल्स में मूल्यों तक पहुंचना
    • टुपल्स अपडेट कर रहा है
    • बेसिक टुपल ऑपरेटर
    • टुपल फ़ंक्शंस में निर्मित
    • अनुक्रमण और टुकड़ा करना
    • एक टपल हटाना
  • सूचियों
    • सूचियों में मूल्यों तक पहुंचना
    • सूचियों को अद्यतन करना
    • मूल सूची ऑपरेटर
    • सूची कार्यों और विधियों में निर्मित
    • अनुक्रमण और टुकड़ा करना
    • सूची तत्व हटाएं
  • शब्दकोश
    • एक शब्दकोश बनाना
    • शब्दकोश में तत्वों को जोड़ना
    • शब्दकोश से तत्वों को हटाना
    • पायथन शब्दकोश के तरीके
  • तिथि और समय
    • समय Tuple
    • समय मॉड्यूल
    • कैलेंडर मॉड्यूल
  • कार्यों
    • किसी फ़ंक्शन को कैसे परिभाषित करें
    • किसी फ़ंक्शन को कॉल करना
    • संदर्भ द्वारा पास करें
    • मूल्य से गुजरें
    • फ़ंक्शन तर्क
    • चर-लंबाई तर्क
    • आवश्यक तर्क
    • डिफ़ॉल्ट तर्क
    • कीवर्ड तर्क
    • बेनामी कार्य
  • मॉड्यूल
    • आयात विवरण
    • आयात विवरण से
    • आयात से * विवरण
    • मॉड्यूल का पता लगाना
    • स्थानीय () और वैश्विक () कार्य
    • नेमस्पेस और स्कोपिंग
    • डीआईआर ( ) समारोह
    • पुनः लोड () फ़ंक्शन
  • फ़ाइलें I / O
    • फ़ाइल खोलना
    • फ़ाइल वस्तु विशेषताएँ
    • फ़ाइल बंद करना
    • कथन के साथ
    • लिखने की विधि
    • पढ़ने की विधि
    • नाम बदलें () विधि
    • निकालें () विधि
    • फ़ाइल स्थिति
  • अपवाद
    • एक अपवाद क्या है?
    • एक अपवाद को संभालना
    • अपवाद उठाना
    • मानक अपवादों की सूची
    • उपयोगकर्ता परिभाषित अपवाद
    • पायथन में अभिकथन
  • कक्षाएं और वस्तुएं
    • कक्षाएं बनाना
    • क्लास ऑब्जेक्ट्स
    • अभिगम गुण
    • इन-बिल्ट क्लास एट्रीब्यूट्स
    • कचरा संग्रहण
    • वर्ग वंशानुक्रम
    • ओवरराइडिंग तरीके
    • नियमित अभिव्यक्ति
    • मैच समारोह
    • खोज समारोह
    • नियमित अभिव्यक्ति संशोधक
    • नियमित अभिव्यक्ति पैटर्न
    • चरित्र वर्ग
    • दोहराव के मामले
    • एंकर
  • सीजीआई प्रोग्रामिंग
    • वेब ब्राउज़िंग
    • HTTP हैडर
    • सीजीआई पर्यावरण चर
    • विधि प्राप्त करें
    • पोस्ट विधि
    • CGI में कुकीज़ का उपयोग करना
    • यह कैसे काम करता है?
  • MySQL डाटाबेस एक्सेस
    • डेटाबेस तालिका बनाना
    • INSERT ऑपरेशन
    • ऑपरेशन पढ़ें
    • अद्यतन संचालन
    • ऑपरेशन हटाएं
    • लेन-देन करना
    • कमिट ऑपरेशन
    • रोलबैक ऑपरेशन
    • डेटाबेस को डिस्कनेक्ट करना
    • हैंडलिंग त्रुटियां
  • नेटवर्क
  • ईमेल भेज रहा हूं
  • मल्टीथ्रेड प्रोग्रामिंग
  • एक्सएमएल प्रसंस्करण
    • एक्सएमएल क्या है?
    • एक्सएमएल पार्सर आर्किटेक्चर और एपीआई
    • SAX API के साथ XML को पार्स करना
      • मेक_पार्सर विधि
      • पार्स विधि
      • पार्सस्ट्रिंग विधि
  • जीयूआई प्रोग्रामिंग
    • टिंकर विजेट्स
  • ज्यामिति प्रबंधन
  • अनुशंसित लेख

नेटवर्क

पायथन नेटवर्क सेवाओं तक पहुंच के दो स्तर प्रदान करता है। निचले स्तर पर, आप ऑपरेटिंग सिस्टम में बुनियादी सॉकेट समर्थन तक पहुंच सकते हैं, जो आपको कनेक्शन-उन्मुख और कनेक्शन रहित प्रोटोकॉल के लिए सर्वर और क्लाइंट को लागू करने की अनुमति देता है।

पायथन में पुस्तकालय हैं जो एफ़टीपी, एचटीटीपी, आदि जैसे एप्लिकेशन-स्तरीय नेटवर्क प्रोटोकॉल के लिए उच्च-स्तरीय पहुंच प्रदान करते हैं।



सॉकेट क्या हैं?

सॉकेट संचार चैनल के समापन बिंदु हैं। यह एक प्रक्रिया के भीतर, प्रक्रियाओं के बीच या विभिन्न महाद्वीपों पर संचालन के बीच संचार कर सकता है।

सॉकेट को कई अलग-अलग चैनल प्रकारों पर लागू किया जा सकता है: यूडीपी, टीसीपी और इसी तरह। सॉकेट पुस्तकालय मानक परिवहन के साथ-साथ बाकी को नियंत्रित करने के लिए एक सामान्य इंटरफ़ेस को संभालने के लिए एक विशिष्ट वर्ग प्रदान करता है।

हां नहीं अवधि विवरण
एक प्रकारकनेक्शन रहित प्रोटोकॉल के लिए दो समापन बिंदुओं SOCK_DGRAM और कनेक्शन-उन्मुख प्रोटोकॉल के लिए SOCK_STREAM के बीच संचार।
दो कार्यक्षेत्रपरिवहन तंत्र के रूप में उपयोग किए जाने वाले प्रोटोकॉल। ये मान स्थिरांक हैं, जैसे AF_INET, PF_INET, PF_UNIX, PF_X25, इत्यादि।
3 बंदरगाहसर्वर एक या अधिक पोर्ट पर कॉल करने वाले क्लाइंट के लिए सुनता है। एक पोर्ट एक फिक्सनम पोर्ट नंबर हो सकता है, एक स्ट्रिंग जिसमें एक पोर्ट नंबर होता है।
4hostnameएक स्ट्रिंग एक होस्टनाम हो सकता है, an आईपीवी6 कोलन या डॉटेड-क्वाड एड्रेस में पताएक स्ट्रिंग, जो एक INADDR_BROADCAST पता निर्दिष्ट करती है। एक शून्य-लंबाई वाली स्ट्रिंग, जो INADDR_ANYAn इंटीजर को निर्दिष्ट करती है जिसे होस्ट बाइट क्रम में बाइनरी एड्रेस के रूप में व्याख्या किया जाता है।
5 मसविदा बनानाआमतौर पर शून्य, इसका उपयोग डोमेन और प्रकार के भीतर प्रोटोकॉल के एक प्रकार की पहचान करने के लिए किया जा सकता है।

सॉकेट मापांक

आपको का उपयोग करना चाहिए सॉकेट.सॉकेट () सॉकेट बनाने के लिए।

एस = सॉकेट। सॉकेट (सॉकेट_फ़ैमिली, सॉकेट_टाइप, प्रोटोकॉल = 0)

हां नहीं तरीका विवरण
एक एस.सुनो ()यह एक टीसीपी श्रोता को सेट और शुरू करता है।
दो एस.बाइंड ()यह एड्रेस (होस्टनाम, पोर्ट नंबर पेयर) को सॉकेट से बांधता है।
3 एस.कनेक्ट ()यह सक्रिय रूप से टीसीपी सर्वर कनेक्शन शुरू करता है।
4 एस.स्वीकार ()यह टीसीपी क्लाइंट कनेक्शन को निष्क्रिय रूप से स्वीकार करता है, कनेक्शन आने तक प्रतीक्षा करता है (अवरुद्ध)।
5s.recv () यह प्राप्त करता है टीसीपी संदेश 6 s.close () यह सॉकेट बंद कर देता है 7 s.sendto () यह यूडीपी को प्रसारित करता है संदेश 8 s.recvfrom () यह यूडीपी संदेश प्राप्त करता है 9 सॉकेट.गेटहोस्टनाम () यह होस्टनाम देता है।
10 एस.भेजें ()यह टीसीपी संदेश प्रसारित करता है

पायथन इंटरनेट मॉड्यूल

हां नहीं शिष्टाचार सामान्य कार्य पोर्ट नंबर पायथन मॉड्यूल
एक धानीमूषदस्तावेज़ स्थानांतरण70गोफरलिब, urllib
दो एफ़टीपीफ़ाइल स्थानांतरणबीसftplib, urlli
3 पॉप 3ईमेल लाया जा रहा है110पोपलिब
4 टेलनेटकमांड लाइन23टेलनेटलिब
5 आईएमएपी4ईमेल लाया जा रहा है143इमाप्लिब
6 एचटीटीपीवेब पृष्ठ80httplib, urllib, xmlrpclib
7 एनएनटीपीयूज़नेट समाचार119एनएनटीप्लिब
8 एसएमटीपीईमेल भेज रहा हूं25श्रीमतीप्लिब

ईमेल भेज रहा हूं

SMTP (सिंपल मेल ट्रांसफर प्रोटोकॉल) एक प्रोटोकॉल है, जो मेल सर्वर के बीच रूटिंग ई-मेल और ई-मेल भेजने का काम करता है।

पायथन smtplib मॉड्यूल प्रदान करता है, जो एक SMTP क्लाइंट सत्र ऑब्जेक्ट को परिभाषित करता है जिसका उपयोग ESMTP या SMTP श्रोता डेमॉन के साथ इंटरनेट मशीन पर मेल भेजने के लिए किया जाता है।

वाक्य - विन्यास

|_+_|

मापदंडों का कुछ विवरण -

  • होस्ट - यह वह होस्ट है जो आपका एसएमटीपी सर्वर चला रहा है। आप डोमेन नाम या होस्ट का आईपी पता निर्दिष्ट कर सकते हैं।
  • पोर्ट - यदि आप एक होस्ट तर्क देते हैं, तो आपको एक पोर्ट निर्दिष्ट करना होगा, जहां एसएमटीपी सर्वर सुन रहा है।
  • local_hostname - यदि SMTP सर्वर स्थानीय मशीन पर चल रहा है, तो आप विकल्प के रूप में केवल लोकलहोस्ट निर्दिष्ट कर सकते हैं।

SMTP ऑब्जेक्ट में एक इंस्टेंस मेथड होता है जिसे सेंडमेल के नाम से जाना जाता है, जिसका इस्तेमाल मैसेज को मेल करने का काम करने के लिए किया जाता है। इसके तीन पैरामीटर हैं -

  • प्रेषक - प्रेषक के पते के साथ स्ट्रिंग।
  • रिसीवर्स - स्ट्रिंग्स की सूची, प्रत्येक प्राप्तकर्ता के लिए एक।
  • संदेश - एक स्ट्रिंग के रूप में संदेश को विभिन्न आरएफसी में निर्दिष्ट के रूप में स्वरूपित किया जाता है।

पायथन का उपयोग करके एक HTML ईमेल भेजना

जब आप a . भेजते हैं पाठ संदेश पायथन का उपयोग करते हुए, सामग्री को एक साधारण पाठ के रूप में माना जाता है। यदि आप टेक्स्ट संदेश में HTML टैग्स शामिल करते हैं, तो इसे साधारण HTML टैग्स के रूप में प्रदर्शित किया जाता है और टेक्स्ट HTML सिंटैक्स के अनुसार फ़ॉर्मेट नहीं किया जाता है। पायथन आपको एक वास्तविक HTML संदेश के रूप में एक HTML संदेश भेजने का विकल्प प्रदान करता है।

ई-मेल संदेश भेजते समय, आप एक HTML ईमेल भेजने के लिए एक माइम संस्करण, सामग्री प्रकार और वर्ण सेट निर्दिष्ट कर सकते हैं।

ईमेल के रूप में अटैचमेंट भेजना

यदि आप मिश्रित सामग्री के साथ एक ईमेल भेजना चाहते हैं, तो आपको सामग्री-प्रकार शीर्षलेख को मल्टीपार्ट/मिश्रित पर सेट करना होगा। टेक्स्ट और अटैचमेंट सेक्शन को सीमाओं के भीतर निर्दिष्ट किया जा सकता है।

एक सीमा दो हाइफ़न के भीतर शुरू होती है जिसके बाद अद्वितीय संख्या होती है, जो ई-मेल के संदेश भाग में प्रकट नहीं हो सकती है। एक अंतिम किनारा जो ई-मेल के अंतिम खंड को दर्शाता है, उसे भी दो हाइफ़न के भीतर समाप्त होना चाहिए। संलग्न फाइलों को ट्रांसमिशन से पहले बेस 64 एन्कोडिंग के लिए पैक (एम) फ़ंक्शन के साथ एन्कोड किया गया है।

मल्टीथ्रेड प्रोग्रामिंग

विभिन्न धागे चलाना विभिन्न कार्यक्रमों को चलाने के समान है।

  • एक प्रक्रिया में एकाधिक थ्रेड एक ही डेटा स्थान को एक मुख्य थ्रेड के साथ साझा करते हैं और यह एक दूसरे के साथ अधिक तेज़ी से जानकारी साझा करता है जैसे कि वे अलग प्रक्रियाएं थीं।
  • थ्रेड्स को कभी-कभी हल्के वजन वाली प्रक्रियाओं के रूप में जाना जाता है, और उन्हें अधिक मेमोरी की आवश्यकता नहीं होती है। वे विधियों की तुलना में सस्ते हैं।

एक धागे में एक शुरुआत, एक निष्पादन अनुक्रम और एक निष्कर्ष होता है। इसमें एक निर्देश सूचक है जो एक ट्रैक रखता है जहां संदर्भ वर्तमान में चल रहा है।

  • इसे बाधित किया जा सकता है।
  • इसे अस्थायी रूप से होल्ड पर रखा जा सकता है जबकि अन्य थ्रेड चल रहे हों - इसे यील्डिंग कहा जाता है।

एक नया सूत्र शुरू करना

एक अलग थ्रेड को स्पॉन करने के लिए, आपको निम्न विधि को कॉल करने की आवश्यकता है जो थ्रेड मॉड्यूल में उपलब्ध है -

thread.start_new_thread (फ़ंक्शन, args[, kwargs] )

यह विधि विंडो और लिनक्स दोनों में नए धागे बनाने के लिए एक तेज़ और कुशल तरीका सक्षम करती है। यह तुरंत लौटता है, और बाल धागा शुरू होता है और फ़ंक्शन को तर्कों की पारित सूची के साथ कॉल करता है। जब फ़ंक्शन वापस आता है, तो थ्रेड समाप्त हो जाता है।

यहां, तर्क तर्कों का एक समूह है जो तर्कों को पारित किए बिना फ़ंक्शन को कॉल करने के लिए एक खाली टपल का उपयोग करता है।

थ्रेडिंग मॉड्यूल

पायथन 2.4 में नया थ्रेडिंग मॉड्यूल पिछले अनुभाग में थ्रेड मॉड्यूल की तुलना में थ्रेड्स के लिए अधिक शक्तिशाली और उच्च-स्तरीय समर्थन प्रदान करता है।

थ्रेडिंग मॉड्यूल थ्रेड मॉड्यूल के तरीकों को उजागर करता है और कुछ अतिरिक्त तकनीक प्रदान करता है

    थ्रेडिंग.एक्टिवकाउंट ()- यह कई थ्रेड ऑब्जेक्ट देता है जो सक्रिय हैं।थ्रेडिंग। करंट थ्रेड ()- यह कॉलर के थ्रेड कंट्रोल में कई थ्रेड ऑब्जेक्ट लौटाता है।थ्रेडिंग.गणना ()- यह उन थ्रेड ऑब्जेक्ट्स की सूची देता है जो वर्तमान में सक्रिय हैं।दौड़ना()- यह एक धागे के लिए प्रवेश बिंदु है।शुरु()- यह रन विधि को कॉल करके एक थ्रेड शुरू करता है।शामिल हों ([समय])- यह थ्रेड्स के समाप्त होने की प्रतीक्षा करता है।जिंदा है()- यह जांचता है कि कोई थ्रेड अभी भी निष्पादित हो रहा है या नहीं।गेटनाम ()- यह एक थ्रेड का नाम देता है।नाम भरें()- यह एक थ्रेड का नाम सेट करता है।

थ्रेड्स को सिंक्रोनाइज़ करना

पायथन के साथ प्रदान किए गए एक थ्रेडिंग मॉड्यूल में एक लॉकिंग तंत्र शामिल होता है जो आपको थ्रेड्स को सिंक्रनाइज़ करने में मदद करता है। कॉल करके एक नया लॉक बनाया जाता है ताला () विधि, और यह नया ताला देता है।

अवरुद्ध थ्रेड को चलाने के लिए बाध्य करने के लिए लॉक ऑब्जेक्ट की विधि का उपयोग किया जाता है। अवरुद्ध पैरामीटर आपको उस थ्रेड को नियंत्रित करने में सक्षम बनाता है जो लॉक प्राप्त करने की प्रतीक्षा करता है।

अगर अवरुद्ध 0 पर सेट है, यदि लॉक प्राप्त नहीं किया जा सकता है तो थ्रेड 0 मान के साथ तुरंत वापस आ जाता है और यदि लॉक प्राप्त किया गया था तो 1 के साथ।

रिहाई() लॉक की विधि का उपयोग लॉक को जारी करने के लिए किया जाता है जब इसकी आवश्यकता नहीं रह जाती है।

बहु-थ्रेडेड प्राथमिकता कतार

क्यू मॉड्यूल आपको एक नई क्यू ऑब्जेक्ट बनाने में मदद करता है जिसमें विशिष्ट संख्या में आइटम होते हैं। कतार को नियंत्रित करने के लिए ये निम्नलिखित तरीके हैं -

    प्राप्त()- यह आइटम को कतार से हटाता है और वापस करता है।रखना()- यह आइटम को कतार में जोड़ता है।क्यूसाइज ()- यह कई आइटम लौटाता है जो वर्तमान में कतार में हैं।खाली()- अगर कतार खाली है तो यह सही है। अन्यथा झूठा।भरा हुआ()- यदि कतार भरी हुई है तो यह सही है; अन्यथा, झूठा।