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

पायथन में टर्नरी ऑपरेटर

पायथन का टर्नरी ऑपरेटर (सशर्त अभिव्यक्ति) एक लाइन में शर्त के आधार पर मान चुनने की अनुमति देता है।

सिंटैक्स

[on_true] if [condition] else [on_false]

बुनियादी उदाहरण

x, y = 5, 6

# if-else स्टेटमेंट
if x > y:
    print("x")
else:
    print("y")  # y

# टर्नरी ऑपरेटर
print("x" if x > y else "y")  # y

फ़ंक्शन में उपयोग

def find_max(a, b):
    return a if a > b else b

print(find_max(5, 6))  # 6

वैकल्पिक कार्यान्वयन

टपल इंडेक्सिंग

a, b = 5, 6
print((b, a)[a > b])  # 6 (True=1, False=0)

# लेबल के साथ स्पष्टता के लिए
print((f"b:{b}", f"a:{a}")[a > b])  # 'b:6'

डिक्शनरी

print({False: f"b:{b}", True: f"a:{a}"}[a > b])  # 'a:5' (यहां a>b False है)
# सही: a=10, b=5
a, b = 10, 5
print({True: f"a:{a}", False: f"b:{b}"}[a > b])  # 'a:10'

लैम्ब्डा

print((lambda: f"a:{a}", lambda: f"b:{b}")[a > b]())  # लेज़ी इवैल्यूएशन

नेस्टेड टर्नरी (चेनिंग)

x = 3
result = ("Less than zero" if x < 0
          else "Between 0 and 5" if 0 <= x <= 5
          else "Greater than five")
print(result)  # Between 0 and 5

सावधानियां

  • अत्यधिक नेस्टिंग पठनीयता कम करती है - जटिल लॉजिक के लिए if-else बेहतर।
  • टर्नरी एक एक्सप्रेशन है (मान लौटाता है), स्टेटमेंट नहीं।
  • पायथन में condition ? val1 : val2 (C-स्टाइल) नहीं है।

सर्वोत्तम अभ्यास

  • सरल शर्तों के लिए टर्नरी उपयोग करें।
  • पठनीयता के लिए पैरेंथेसिस जोड़ें: (val1 if cond else val2)।
  • साइड इफेक्ट्स वाले एक्सप्रेशन्स से बचें।
  1. - पायथन में स्ट्रिंग फॉर्मेटिंग ऑपरेटर

    पायथन की सबसे अच्छी विशेषताओं में से एक स्ट्रिंग फॉर्मेट ऑपरेटर % है। यह ऑपरेटर स्ट्रिंग्स के लिए अद्वितीय है और C के printf() फ़ंक्शन परिवार के फ़ंक्शन्स न होने की कमी को पूरा करता है। एक सरल उदाहरण निम्नलिखित है: उदाहरण #!/usr/bin/python print My name is %s and weight is %d kg! % (Zara, 21) आउट

  1. - पायथन में ऑपरेटर्स के प्रकार

    ऑपरेटर्स वे कंस्ट्रक्ट्स हैं जो ऑपरेंड्स के मान को मैनिपुलेट कर सकते हैं। एक्सप्रेशन 4 + 5 = 9 पर विचार करें। यहां, 4 और 5 को ऑपरेंड्स कहा जाता है और + को ऑपरेटर कहा जाता है। पायथन भाषा निम्नलिखित प्रकार के ऑपरेटर्स को सपोर्ट करती है: अंकगणितीय ऑपरेटर्स तुलना (रिलेशनल) ऑपरेटर्स असाइनमेंट ऑपरेटर्स

  1. पायथन ऑब्जेक्ट तुलना:  is  बनाम  == पायथन ऑब्जेक्ट तुलना: "is" बनाम "=="

    इस लेख में हम ऑब्जेक्ट तुलना यानी is ऑपरेटर और समानता ऑपरेटर == के बीच अंतर के बारे में जानेंगे। समानता ऑपरेटर पास किए गए आर्गुमेंट के मान पर काम करता है जबकि is ऑपरेटर पास किए गए दो ऑब्जेक्ट्स के रेफरेंस की तुलना करता है। समानता ऑपरेटर के मामले में आर्गुमेंट की सामग्री की तुलना की जाती है, उनके रेफ