1. परिचय
Python मा प्रोग्राम लेख्दा, “null checks” डेटा अस्तित्वमा छैन भन्ने पुष्टि गर्न वा त्रुटि ह्यान्डल गर्न अत्यावश्यक हुन्छ। Python मा अन्य भाषाहरूको “null” सँग मिल्दोजुल्दो विशेष मान None प्रदान गरिएको छ र विभिन्न परिस्थितिहरूमा प्रयोग गरिन्छ।
यो लेखले “null checks” कसरी गर्ने र Python को दृष्टिकोणबाट तिनीहरूलाई प्रभावकारी रूपमा कसरी प्रयोग गर्ने भन्ने कुरा व्याख्या गर्दछ। यो शुरुआतीहरूका लागि बुझ्न सजिलो बनाइएका छ र वास्तविक विकासमा लागू गर्न सकिने सामग्री प्रदान गर्ने उद्देश्यले लेखिएको हो, त्यसैले कृपया सन्दर्भको रूपमा प्रयोग गर्नुहोस्।
2. Python मा “null” के हो?
प्रोग्रामिङ भाषाहरूमा डेटा अभाव वा अवैध अवस्थालाई प्रतिनिधित्व गर्ने विशेष मान हुन्छ। उदाहरणका लागि, JavaScript र Java ले “null” प्रयोग गर्छन्, PHP ले “NULL” प्रयोग गर्छ, तर Python मा यसलाई “None” भनिन्छ।
Python को None को आधारभूत अवधारणा
Python को None अन्य भाषाहरूको “null” सँग समान अर्थ राख्छ र डेटा अभाव वा विशेष रूपमा सेट नभएको संकेत गर्दछ। Python मा सबै डेटा वस्तु (object) को रूपमा मानिन्छ, र None पनि अपवाद होइन — यो विशेष प्रकार NoneType को वस्तु हो।
उदाहरणका लागि, तल देखाइँझैँ None लाई भेरिएबलमा असाइन गरेर कुनै डेटा सेट गरिएको छैन भन्ने स्पष्ट पार्न सकिन्छ।
x = None
यसले स्पष्ट रूपमा देखाउँछ कि भेरिएबल x मा कुनै मान सेट गरिएको छैन।

3. None को आधारभूत प्रयोग
Python मा None लाई धेरै परिस्थितिहरूमा प्रयोग गरेर विशेष अवस्था स्पष्ट रूपमा जनाइन्छ। यहाँ हामी None को आधारभूत प्रयोगहरू प्रस्तुत गर्नेछौं।
None लाई भेरिएबलमा असाइन गर्नु
भेरिएबलमा None असाइन गर्दा त्यसले “कुनै मान छैन” वा “सेट गरिएको छैन” भन्ने संकेत दिन्छ। यो अझै निर्णय नभएको डेटा वा अस्थायी रूपमा खाली राख्न चाहिने भेरिएबलका लागि प्रयोग गरिन्छ।
name = None
age = None
None फिर्ता गर्ने फङ्सनहरू
यदि फङ्सनले विशेष रूपमा कुनै मान फिर्ता गर्न आवश्यक छैन वा केही शर्त अन्तर्गत “केही पनि फिर्ता नगर्ने” संकेत गर्न चाहनुहुन्छ भने None फिर्ता गर्नु सामान्य हो। तलको फङ्सन जस्तै, शर्त पूरा नभएमा None फिर्ता गरेर मिल्दो डेटा छैन भन्ने जनाइन्छ।
def find_even_number(numbers):
for num in numbers:
if num % 2 == 0:
return num
return None
यो फङ्सनले सम संख्या खोजी फिर्ता गर्छ, तर यदि कुनै पनि सम संख्या भेटिएन भने None फिर्ता गरेर मिल्दो डेटा छैन भन्ने संकेत गर्दछ।
4. None कसरी निर्धारण गर्ने
Python मा None सेट भएको छ कि छैन जाँच्ने सामान्य तरिका is अपरेटर प्रयोग गर्नु हो। विशेष गरी, is अपरेटर None को परीक्षणका लागि अत्यन्त विश्वसनीय मानिन्छ र आधिकारिक Python शैली मार्गनिर्देश (PEP 8) ले यसलाई सिफारिस गर्दछ। == अपरेटर पनि प्रयोग गर्न सकिन्छ, तर यसको व्यवहार फरक हुन सक्छ, त्यसैले सावधानी अपनाउनुपर्छ। यस भागले प्रत्येक परीक्षण विधि व्याख्या गर्दछ।
is अपरेटर प्रयोग गरेर कसरी जाँच्ने
is अपरेटर Python मा भेरिएबल None हो कि होइन जाँच्ने मानक तरिका हो। is वस्तु पहिचान (identity) जाँच गर्छ, त्यसैले None निर्धारणका लागि उपयुक्त छ। तलको उदाहरण हेर्नुहोस्।
x = None
if x is None:
print("x is None")
यस कोडमा, यदि भेरिएबल x None हो भने “x is None” प्रिन्ट हुन्छ। is अपरेटर प्रयोग गर्दा कोड स्पष्ट र पढ्न सजिलो हुन्छ, त्यसैले विशेष गरी None को परीक्षणका लागि is प्रयोग गर्न सिफारिस गरिन्छ।
== अपरेटर प्रयोग गर्दा हुने भिन्नता र सावधानी
Python मा None को परीक्षणका लागि == अपरेटर पनि प्रयोग गर्न सकिन्छ, तर == अपरेटर “मान बराबर” तुलना गर्न बनाइएको हो। यसले None को परीक्षण पनि गर्न सक्छ, तर कहिलेकाहीँ अनपेक्षित नतिजा दिन सक्छ, त्यसैले None को परीक्षणका लागि is प्रयोग गर्नु राम्रो हुन्छ।
x = None
if x == None: # Works, but not recommended
print("x is None")
नकारात्मक केस जाँच (is not)
यदि तपाईंलाई भेरिएबल None होइन भन्ने पुष्टि गर्न चाहनुहुन्छ भने is not अपरेटर प्रयोग गर्नुहोस्। is not ले भेरिएबल None नभएको अवस्थामा के गर्ने भन्ने स्पष्ट रूपमा निर्दिष्ट गर्न सहज बनाउँछ।
x = 5
if x is not None:
print("x is not None")
यस उदाहरणमा, यदि x None होइन भने “x is not None” प्रिन्ट हुन्छ। यसरी is not अपरेटर प्रयोग गर्दा None नभएको शर्तलाई स्पष्ट रूपमा परीक्षण गर्न सकिन्छ।
5. None र अन्य फाल्सी मानहरू बीचको भिन्नताहरू
Python मा, None बाहेक पनि केही मानहरू छन् जसलाई “फाल्सी” रूपमा मूल्याङ्कन गरिन्छ। यिनमा खाली स्ट्रिङ '', संख्यात्मक मान 0, खाली सूची [] आदि समावेश छन्। यद्यपि, यी मानहरू None बाट फरक छन्। यहाँ हामी None र अन्य फाल्सी मानहरू बीचको भिन्नताहरूलाई गहिरो रूपमा बुझ्नेछौं।
None र अन्य फाल्सी मानहरूको अवलोकन
Python मा फाल्सी रूपमा मूल्याङ्कन हुने मुख्य मानहरू:
None- खाली स्ट्रिङ
'' - संख्या
0 - खाली सूची
[] - खाली शब्दकोश
{}
यी सबै False को रूपमा मूल्याङ्कन हुन्छन्, तर None ले, अन्य मानहरू जस्तै, मानको अभावलाई प्रतिनिधित्व गर्दछ।
None र खाली स्ट्रिङ '' बीचको भिन्नता
खाली स्ट्रिङ '' ले डेटा खाली छ तर यसको डेटा प्रकार str रहन्छ भन्ने संकेत गर्दछ। अर्कोतर्फ, None एउटा विशेष वस्तु हो जसको प्रकार हुँदैन। तलको उदाहरण हेर्नुहोस्।
text = ''
if text is None:
print("text is None")
elif text == '':
print("text is an empty string")
यो कोडले text खाली स्ट्रिङ हो या None हो भनी छुट्याउँछ र प्रत्येक केसलाई अलग‑अलग रूपमा ह्यान्डल गर्छ।
संख्या 0 र खाली सूची [] बाट भिन्नता
संख्या 0 र खाली सूची [] पनि False को रूपमा मूल्याङ्कन हुन्छन्, तर यीले संख्यात्मक वा सूचीको मान खाली छ भन्ने जनाउँछन्। None ले, प्रकार नहुनुका कारण, केही पनि सेट नभएको अर्थ दिन्छ। तलको उदाहरणले यो पुष्टि गर्छ।
data = 0
if data is None:
print("data is None")
elif data == 0:
print("data is 0")
None र अन्य फाल्सी मानहरू बीचको भिन्नताहरू बुझ्नाले अधिक सटीक जाँचहरू गर्न मद्दत गर्छ।
6. None को व्यावहारिक प्रयोगहरू
यहाँ हामी Python कार्यक्रमहरूमा None लाई प्रभावकारी रूपमा प्रयोग गर्ने केही ठोस उदाहरणहरू व्याख्या गर्छौं। None लाई डिफ़ॉल्ट आर्गुमेन्ट, डेटाबेसबाट प्राप्त डेटा ह्यान्डलिङ, त्रुटि ह्यान्डलिङ आदि विभिन्न सन्दर्भहरूमा व्यापक रूपमा प्रयोग गरिन्छ। यी प्रयोगका उदाहरणहरू बुझ्नाले कोडको मर्मतयोग्यता र पढ्नयोग्यता सुधार्छ।
None लाई फङ्क्शनको डिफ़ॉल्ट आर्गुमेन्टको रूपमा प्रयोग गर्नु
None लाई फङ्क्शनको डिफ़ॉल्ट आर्गुमेन्टको रूपमा सेट गर्दा लचिलो फङ्क्शन डिजाइन सम्भव हुन्छ। उदाहरणका लागि, यदि कुनै आर्गुमेन्ट फङ्क्शनमा पास गरिँदैन भने, तपाईं None द्वारा त्यसलाई पहिचान गरी सर्तअनुसार डिफ़ॉल्ट व्यवहार सेट गर्न सक्नुहुन्छ।
def greet(name=None):
if name is None:
print("Hello, Guest!")
else:
print(f"Hello, {name}!")
यो फङ्क्शन greet ले आर्गुमेन्ट name नदिइएको अवस्थामा “Hello, Guest!” देखाउँछ, र दिइएको अवस्थामा निर्दिष्ट नामले अभिवादन गर्छ। यसरी None को उपयोगले लचिलो व्यवहार भएका फङ्क्शनहरू सजिलै सिर्जना गर्न सकिन्छ।
डेटाबेसबाट डेटा प्राप्त गर्दा None को ह्यान्डलिङ
डेटाबेसबाट डेटा प्राप्त गर्दा, डेटा अवस्थित नहुनुमा None फिर्ता हुन सक्छ। उदाहरणका लागि, SQL को NULL मानहरू प्रायः सिधै None को रूपमा ह्यान्डल गरिन्छ, र डेटा हराइरहेको छ कि छैन भनेर None जाँच गरेर निर्धारण गरिन्छ।
user_data = get_user_data(user_id) # Function to retrieve user data
if user_data is None:
print("No user data found")
else:
print("Displaying user data")
यहाँ, यदि get_user_data फङ्क्शनले प्रयोगकर्ता डेटा फिर्ता गर्दैन भने, None फिर्ता हुन्छ, र त्यस अवस्थामा “No user data found” देखाइन्छ। यस्ता None जाँचहरूले डेटाबेस अपरेसनलाई सुरक्षित र विश्वसनीय बनाउँछ।
त्रुटि ह्यान्डलिङमा None को प्रयोग
None लाई त्रुटि ह्यान्डलिङको भागको रूपमा पनि प्रयोग गरिन्छ। विशेष गरी, अपवाद ह्यान्डलिङ वा त्रुटि जाँच आवश्यक पर्ने परिस्थितिहरूमा, परिणाम None हो कि होइन जाँच गरेर त्रुटि पत्ता लगाउन सजिलो हुन्छ।
def divide(a, b):
if b == 0:
return None
return a / b
result = divide(10, 0)
if result is None:
print("Error: Division by zero occurred")
else:
print(f"Result: {result}")
यस उदाहरणमा, divide फङ्क्शनले शून्यले भाग गर्ने स्थितिलाई जाँच्छ र त्रुटि भएमा None फिर्ता गर्छ। यसले कलरलाई None जाँच गरेर उपयुक्त त्रुटि सन्देश देखाउन अनुमति दिन्छ। 
7. None जाँच गर्ने उत्तम अभ्यासहरू
Python मा None जाँच गर्दा, उपयुक्त विधि प्रयोग गर्दा कोडको पढ्नयोग्यता र विश्वसनीयता सुधार्न सकिन्छ। यहाँ None जाँच गर्ने उत्तम अभ्यासहरू प्रस्तुत गरिएका छन्।
PEP 8 अनुसार None जाँच गर्ने सिफारिस गरिएको तरिका
PEP 8, Python को आधिकारिक शैली मार्गदर्शक, None जाँच गर्न is अपरेटर प्रयोग गर्न सिफारिस गर्छ। यसले इच्छित वस्तु पहिचान स्पष्ट बनाउँछ र None लाई अन्य फाल्सी मानहरूबाट अलग पार्छ।
value = None
if value is None:
print("value is None")
None जाँच गर्न is प्रयोग गर्दा पढ्नयोग्यता सुधार्छ र उद्देश्य स्पष्ट हुन्छ, जसले बगहरू रोक्न मद्दत गर्छ।
पढ्नयोग्यता र मर्मतसम्भार सुधार्ने कोड उदाहरणहरू
पढ्नयोग्यता र मर्मतसम्भारका लागि, None लाई सरल, बुझ्न सजिलो कोडसँग जाँच गर्नु महत्त्वपूर्ण छ। साथै, None अपेक्षित हुँदा, त्यसको उद्देश्य र इरादा स्पष्ट पार्ने टिप्पणीहरू थप्नु उपयोगी हुन्छ।
# When no value is set, None is expected
data = fetch_data()
if data is None:
print("Could not retrieve data")
यसरी, टिप्पणीहरू मार्फत None को अर्थ स्पष्ट गर्दा भविष्यको कोड मर्मतसम्भार सजिलो हुन्छ।




