PYTHON VARIABLES
LEARNING OBJECTIVES
इस अध्याय के अंत में छात्र समझ सकेंगे:
- Concept of tokens: keywords, identifiers, literals, operators and delimiters
- Notion of a variable and methods to manipulate it
- Assigning values to variables
- Output a variable
- Input a variable
TOKENS
टोकन एक कार्यक्रम की सबसे छोटी व्यक्तिगत इकाई है। पायथन में टोकन निम्नलिखित हैं:
keywords, identifiers, literals, operators, and delimiters .
KEYWORDS :
वे कार्यक्रम की संरचना को पहचानने के लिए पायथन इंटरप्रेटर द्वारा उपयोग किए जाने वाले शब्द हैं। चूंकि इन शब्दों का व्याख्याकार के लिए विशिष्ट अर्थ है, इसलिए उनका उपयोग किसी अन्य उद्देश्य के लिए नहीं किया जा सकता है। आपके कंप्यूटर पर इंस्टॉल किए गए पायथन संस्करण में कीवर्ड की एक सूची प्राप्त करने के लिए, आप निम्न कमांड टाइप कर सकते हैं:
NOTE : ये सभी keyword छोटे अक्षरों में हैं, सिवाय False, None, True , जो कि capital letters से शुरू हो रहे हैं।
IDENTIFIERS : ये किसी भी मेमोरी ब्लॉक, प्रोग्राम यूनिट या प्रोग्राम ऑब्जेक्ट, फ़ंक्शन या मॉड्यूल की पहचान करने के लिए दिए गए नाम हैं। Identifiers के उदाहरण हैं: num, roll_no, name आदि।
LITERALS : एक निश्चित संख्यात्मक या गैर-संख्यात्मक मूल्य को literal कहा जाता है। Literals के उदाहरण हैं: 502, -178.76, "राजन" आदि।
OPERATORS : ये डेटा पर कुछ कार्रवाई (action) करते हैं। ऑपरेटरों के उदाहरण हैं: +, -, **, / आदि।
DELIMITERS : डेलीमीटर वे प्रतीक हैं जिनका उपयोग मूल्यों के विभाजक के रूप में किया जा सकता है, या कुछ मूल्यों को संलग्न करने के लिए किया जा सकता है। डेलीमीटर के उदाहरण हैं: () {} []; :
NOTE : # टिप्पणियों (comments) को use करने का प्रतीक है। कोई भी टिप्पणी स्वयं एक टोकन नहीं है।
VARIABLE क्या है?
Variables कंटेनर की तरह होते हैं जो कुछ इनपुट के लिए मानों (values) , गणना के मध्यवर्ती परिणाम या कंप्यूटर मेमोरी में एक गणितीय ऑपरेशन के अंतिम परिणाम को संग्रहीत करने के लिए उपयोग किए जाते हैं। एक variable की विशेषताएं हैं:
- इसका एक नाम है।
- यह कुछ प्रकार के मूल्यों (values) को संग्रहीत (store) करने में सक्षम है।
- यह अस्थायी भंडारण (temporary storage) प्रदान करता है।
VARIABLE नामकरण नियम
- Variable के नाम case sensitive होतें हैं। उदाहरण के लिए: num और NUM को दो भिन्न variable नामों के रूप में माना जाता है।
- कीवर्ड या शब्द, जिनका विशेष अर्थ है, का उपयोग variable के नामों के रूप में नहीं किया जाना चाहिए।
- Variable नाम छोटा और सार्थक होना चाहिए।
- सभी variable नामों की शुरुआत अक्षर या अंडरस्कोर (_) से होनी चाहिए।
- पहले शुरुआती अक्षर के बाद, variable नामों में अक्षर और अंक (0 से 9) और अंडरस्कोर (_),शामिल हो सकते हैं। लेकिन कोई रिक्त स्थान या विशेष वर्ण की अनुमति नहीं है।
मान्य variable नामों के उदाहरण: sum, marks1, first_name, _money
अमान्य variable नामों के उदाहरण: marks%, 12grade, class, last-name
ASSIGNING VALUES TO VARIABLES (value सोंपना)
पायथन एक loosely typed (शिथिल टाइप) की भाषा है। हमें variable को स्पष्ट रूप से घोषित करने की आवश्यकता नहीं है। वेरिएबल्स को स्वचालित रूप से घोषित किया जाता है जब उन्हें Value(मूल्य) सौंपा जाता है। असाइनमेंट ऑपरेटर (=) का उपयोग वैरिएबल को value(मान) असाइन करने के लिए किया जाता है।
EXAMPLES
NOTE :Variables को किसी विशेष प्रकार (type) के साथ घोषित करने की आवश्यकता नहीं है और वे सेट होने के बाद भी प्रकार(type) बदल सकते हैं।
EXAMPLE
पायथन में variable एक पॉइंटर के रूप में कार्य करता है और एक मेमोरी स्थान के पते(memory address) को संग्रहीत करता है। उदाहरण के लिए, कथन num = 10 num में value 10 को एक मेमोरी स्थान के पते(memory address) में संग्रहीत करेगा और variable num उस memory location को इंगित(point) करेगा। हम यह भी कह सकते हैं कि num 10 को संदर्भित(refer) करता है।
अगले कथन में variable num का मान (value) " Raman " है। अब " Raman " को किसी अन्य मेमोरी लोकेशन में संग्रहीत किया जाएगा और num अब उस स्थान को इंगित(point) करेगा। अब हम कह सकते हैं कि num " Raman " को संदर्भित (refer) करता है।
NOTE :जब भी हम किसी वैरिएबल को नया मान (value) देते हैं, तो यह पिछले मानों (values)में से किसी को भी संदर्भित (refer) नहीं करता है। यह हमेशा एक नए value को संदर्भित करता है।
हम variable की memory location का पता जानने के लिए id() फ़ंक्शन का उपयोग कर सकते हैं। उदाहरण के लिए:
यह मेमोरी स्थान(memory location) का पता है जहां 10 संग्रहीत है।
पायथन में, हम एक साथ कई variables के लिए एक मान(values) प्रदान कर सकते हैं। उदाहरण के लिए:
उपरोक्त कथन x, y, z variables में 10 मान प्रदान करेगा।
हम एक एकल (single) स्टेटमेंट में कई वेरिएबल्स को कई वैल्यूज़ भी असाइन कर सकते हैं। उदाहरण के लिए:
उपरोक्त कथन क्रमशः वैरिएबल x, y और z को 12, 70.5 और "Vikul" के साथ घोषित (declare) करेगा।
L-value and R-value
L-value एक मान(value) है जिसमें एक address है। इस प्रकार, सभी variable L-value हैं क्योंकि variable एक मेमोरी स्थान के पते(memory address) को संग्रहीत करता है। जैसा कि नाम से पता चलता है कि L-value बाएं हाथ की तरफ दिखाई देता है लेकिन यह एक असाइनमेंट ऑपरेटर (=) के दाहिने हाथ की तरफ भी दिखाई दे सकता है।
R-value डेटा मान (value) को संदर्भित (refer) करता है जो एक memory address पर संग्रहीत(stored) होता है। एक r-value एक मान (value) है जो l-value को असाइन किया गया है। एक r-value असाइनमेंट ऑपरेटर (=) के दाईं ओर दिखाई देता है लेकिन बाएं हाथ पर नहीं।
EXAMPLE
OUTPUT A VARIABLE
किसी वैरिएबल का मान प्रदर्शित करने के लिए प्रिंट स्टेटमेंट का उपयोग किया जाता है।
PRINT STATEMENT
किसी वैरिएबल का मान प्रदर्शित करने के लिए प्रिंट स्टेटमेंट का उपयोग किया जाता है। यदि एक expression को प्रिंट स्टेटमेंट के साथ दिया जाता है, तो यह पहले expression को विकसित(evaluate) करता है और फिर इसे प्रिंट करता है। एक लाइन पर एक से अधिक आइटम प्रिंट करने के लिए, अल्पविराम (,) का उपयोग किया जा सकता है।
डिफ़ॉल्ट रूप से, प्रिंट एक single space को विभाजक(separator) के रूप में और \n एक टर्मिनेटर के रूप में उपयोग करता है (स्ट्रिंग के अंत में दिखाई देता है)। इन दोनों deafults को desired values में बदला जा सकता है।
NOTE : रिक्त पंक्ति को मुद्रित(print) करने के लिए प्रिंट को बिना किसी arguments के भी call किया जा सकता है।
INPUT A VARIABLE
input statement
इनपुट स्टेटमेंट का उपयोग user से टेक्स्ट (स्ट्रिंग्स) पढ़ने के लिए किया जाता है:
SYNTAX👇
input ([prompt])
- प्रॉम्प्ट वह स्ट्रिंग है जिसे हम स्क्रीन पर प्रदर्शित करना चाहते हैं। यह वैकल्पिक(optional) है। निष्पादन(execution) के दौरान, input() user को prompt दिखाता है और कीबोर्ड से value का इनपुट करने के लिए user की प्रतीक्षा करता है। जब user कीबोर्ड से value डालता है, तो input() यह value लौटाता है जो आमतौर पर एक variable में संग्रहीत (store) होता है। उदाहरण के लिए:
इनपुट स्टेटमेंट (इस मामले में Raman) के परिणाम को एक variable में संग्रहीत किया जा सकता है। उपरोक्त कथन के निष्पादन(execution) के बाद name, "Raman" को refer करेगा।
input() फ़ंक्शन से संख्यात्मक(numeric) डेटा इनपुट करने के लिए हम टाइपकास्टिंग का उपयोग कर सकते हैं, अर्थात, फ़ंक्शन का उपयोग करके डेटाटाइप को बदल सकते हैं। User से input स्ट्रिंग डेटा को int (), float () और eval () फ़ंक्शन का उपयोग करके उचित संख्यात्मक(numeric) डेटा प्रकार में परिवर्तित किया जा सकता है।
int () और float () एक number, expression, or a string को एक argument के रूप में लेते हैं और क्रमशः पूर्णांक और फ्लोट मान(value) लौटाते हैं।
User द्वारा entered डेटा, स्ट्रिंग से integer में परिवर्तित किया जाता है और फिर y को असाइन किया जाता है।
eval () एक स्ट्रिंग को एक argument के रूप में लेता है, इस स्ट्रिंग का एक number के रूप में मूल्यांकन(evaluation) करता है (यह पूर्णांक(integer) या फ्लोट हो सकता है), और संख्यात्मक(numeric) परिणाम देता है।
NOTE :
यदि स्ट्रिंग argument में अग्रणी(leading) +/- चिन्ह या अंकों के अलावा कोई भी character है, तो int () और float () फ़ंक्शन के परिणामस्वरूप त्रुटि (error) होगी। उदाहरण के लिए, निम्नलिखित कथनों में त्रुटि(error) होगी:
यदि कोई argument pass नहीं हुआ है, तो int () 0 और फ्लोट () 0.0 रिटर्न करता है।
फ़ंक्शन eval() परिणाम में त्रुटि(error) देता है यदि दिए गए argument एक स्ट्रिंग नहीं है, या यदि यह संख्या के रूप में मूल्यांकन(evaluate) नहीं किया जा सकता है। उदाहरण के लिए: