Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन संदर्भ चर

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

ContextVar वर्ग का उपयोग ContextVariables घोषित करने और उनके साथ काम करने के लिए किया जाता है।

import contextvars
name = contextvars.ContextVar("name", default = 'Hello')

वैकल्पिक डिफ़ॉल्ट पैरामीटर ContextVar.get() द्वारा लौटाया जाता है जब वर्तमान संदर्भ में चर के लिए कोई मान नहीं मिलता है।

नाम: चर का नाम। यह केवल पढ़ने के लिए संपत्ति है।

निम्नलिखित विधियों को ContextVar वर्ग में परिभाषित किया गया है

get() वर्तमान संदर्भ के लिए संदर्भ चर के लिए एक मान लौटाएं। यदि वर्तमान संदर्भ में चर के लिए कोई मान नहीं है, तो विधि −
    . होगी
  • विधि के डिफ़ॉल्ट तर्क का मान लौटाएँ, यदि प्रदान किया गया हो - या

  • संदर्भ चर के लिए डिफ़ॉल्ट मान लौटाएं, अगर इसे एक के साथ बनाया गया था - या

  • लुकअप एरर बढ़ाएँ।

set() वर्तमान संदर्भ में संदर्भ चर के लिए एक नया मान सेट करने के लिए कॉल करें।
reset() संदर्भ चर को उस मान पर रीसेट करें जो ContextVar.set() से पहले था जिसने टोकन का उपयोग किया था।

संदर्भ वर्ग में संदर्भ वर्ग मॉड्यूल उनके मूल्यों के लिए संदर्भ वार का मानचित्रण है।

संदर्भ (): एक खाली संदर्भ बनाता है जिसमें कोई मूल्य नहीं है।

वर्तमान संदर्भ की एक प्रति प्राप्त करने के लिए copy_context() फ़ंक्शन का उपयोग करें।

रन (कॉल करने योग्य, * args, **kwargs) विधि कॉल करने योग्य (* args, **kwargs) कोड को संदर्भ ऑब्जेक्ट में निष्पादित करती है, रन विधि को कॉल किया जाता है और निष्पादन का परिणाम देता है। कॉल करने योग्य किसी भी संदर्भ चर में कोई भी परिवर्तन, संदर्भ वस्तु में समाहित होगा। जब एक से अधिक ओएस थ्रेड से एक ही संदर्भ ऑब्जेक्ट पर कॉल किया जाता है, या जब पुनरावर्ती रूप से कॉल किया जाता है, तो यह विधि RuntimeError उठाती है।

प्रतिलिपि () संदर्भ वस्तु की एक उथली प्रति देता है।
context[var] वर ContextVar वेरिएबल का मान लौटाता है। यदि संदर्भ वस्तु में चर सेट नहीं है, तो एक कुंजी त्रुटि उत्पन्न होती है।
get() संदर्भ var के लिए मान लौटाता है यदि इसका संदर्भ वस्तु में मान है। अन्यथा, यह डिफ़ॉल्ट पर वापस आ जाता है। यदि डिफ़ॉल्ट नहीं दिया गया है, तो कोई नहीं लौटाएं।
iter() संदर्भ ऑब्जेक्ट में संग्रहीत चर पर एक पुनरावर्तक देता है।
len() संदर्भ वस्तु में निर्धारित चरों की संख्या देता है।
keys() संदर्भ वस्तु में सभी चरों की सूची देता है।
values() संदर्भ वस्तु में सभी चर के मानों की सूची देता है।
items() संदर्भ वस्तु में सभी चर और उनके मूल्यों वाले 2-टुपल्स की सूची देता है।

  1. पायथन में निजी चर

    वास्तविक शब्दों में (व्यावहारिक रूप से), पायथन में निजी सदस्य चर नामक कुछ भी नहीं है। हालाँकि, शुरुआत में दो अंडरलाइन (__) जोड़ने से एक वैरिएबल या एक मेथड प्राइवेट बन जाता है, जो कि ज्यादातर पायथन कोड द्वारा इस्तेमाल किया जाने वाला कन्वेंशन है। आइए इस अवधारणा को एक उदाहरण के माध्यम से समझते हैं - p

  1. पायथन में एक स्ट्रिंग के रूप में एक चर नाम कैसे प्राप्त करें?

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

  1. पावरशेल में चर

    कंप्यूटर विज्ञान (और आकस्मिक कंप्यूटिंग) में, एक चर स्मृति में एक स्थान है जो बाद में उपयोग के लिए मनमानी जानकारी रखता है। दूसरे शब्दों में, यह आपके लिए डेटा डालने और डेटा निकालने के लिए एक अस्थायी भंडारण कंटेनर है। बैश शेल में, वह डेटा एक शब्द हो सकता है (एक स्ट्रिंग , कंप्यूटर भाषा में) या एक संख्