मुख्य सामग्री पर जाएं
मॉड्यूल 4 · पाठ 4 का 4पाठ्यक्रम में 16/36~10 min
मॉड्यूल पाठ (4/4)

रूपांतरण टाइप करें

पायथन दृढ़ता से टाइप किया गया है: यह कभी भी किसी संख्या में एक स्ट्रिंग नहीं जोड़ता है जब तक कि आप ऐसा कहो. एक प्रकार से दूसरे प्रकार में जाने के लिए आप कंस्ट्रक्टर फ़ंक्शंस का उपयोग करते हैं: int(), float(), str(), bool(), list(), tuple(), set()।

Python
int("42")        # 42
float("3.14")    # 3.14
str(42)          # '42'
list("abc")      # ['a', 'b', 'c']
tuple([1, 2])    # (1, 2)
set([1, 1, 2])   # {1, 2}

int() स्ट्रिंग्स के साथ

int("42") कार्य; int("42.5") ValueError को बढ़ाता है। दशमलव स्ट्रिंग के लिए, पहले float से गुजरें: int(float("42.5")) → 42 (काटता है, नहीं गोल)।

Python
int("42")         # 42
int("  42  ")     # 42        (strip automatico degli spazi)
int("42.5")       # ValueError
int(float("42.5"))  # 42
int("ff", 16)     # 255       (base esplicita)

float() स्ट्रिंग्स के साथ

दशमलव और वैज्ञानिक संकेतन स्वीकार करता है.

Python
float("3.14")      # 3.14
float("1e3")       # 1000.0
float("inf")       # inf
float("nan")       # nan

str(): "मैत्रीपूर्ण" रूपांतरण

str(x) "मानवीय" प्रतिनिधित्व प्राप्त करने के लिए आंतरिक रूप से x.__str__() को कॉल करता है। "डिबगर" प्रतिनिधित्व के लिए repr(x) भी है, अक्सर अधिक स्पष्ट (स्ट्रिंग्स आदि के लिए उद्धरण चिह्नों के साथ)।

Python
str(3.14)       # '3.14'
str([1, 2])     # '[1, 2]'
str(True)       # 'True'

bool() और सत्यता

bool(x) केवल Python के गलत मानों के लिए False लौटाता है:

  • False, None
  • शून्य संख्याएँ: 0, 0.0
  • खाली कंटेनर: "", [], (), {}, set()

बाकी सब सत्य है।

Python
bool(0)       # False
bool("")      # False
bool([])      # False
bool("0")     # True  !  (stringa non vuota)
bool([0])     # True  !  (lista non vuota, anche se contiene 0)

पैटर्न: सुरक्षित इनपुट पार्सिंग

Python
testo = input("età: ")
try:
    eta = int(testo)
except ValueError:
    print(f"non è un numero: {testo!r}")
    eta = None

बूलियन मूल्यांकन (सच्चाई)

पायथन में, प्रत्येक वस्तु का एक अंतर्निहित सत्य मूल्य होता है। आप bool(...) फ़ंक्शन का उपयोग करके किसी भी ऑब्जेक्ट का बूलियन मान जांच सकते हैं। खाली संग्रह (जैसे "", [], {}, set()) और शून्य मान (0, 0.0) का हमेशा मूल्यांकन किया जाता है False. अन्य सभी ऑब्जेक्ट का मूल्यांकन True पर होता है।

इसे अजमाएं

व्यायाम#python.m4.l4.e1
प्रयास: 0लोड हो रहा है...

`a = '10'` और `b = '32'` (स्ट्रिंग्स) को देखते हुए, `कुल` को उनके पूर्णांक योग के रूप में परिकलित करें। 'कुल' का मूल्यांकन करें.

संपादक लोड हो रहा है...
संकेत दिखाएँ

int(a) + int(b), अन्यथा आप स्ट्रिंग्स को जोड़ते हैं।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम की समीक्षा करें

व्यायाम#python.m4.l4.e2
प्रयास: 0लोड हो रहा है...

सूची `मान = ['', 'x', 0, कोई नहीं, 1, []]` को देखते हुए, बूल() का उपयोग करके केवल सत्य तत्वों के साथ `सत्य` बनाएं। 'सच्चाई' का मूल्यांकन करें.

संपादक लोड हो रहा है...
संकेत दिखाएँ

फ़िल्टर बूल(v) (या सिर्फ 'if v') के साथ सूची समझ।

3 प्रयासों के बाद समाधान उपलब्ध है

अतिरिक्त चुनौती

व्यायाम#python.m4.l4.e3
प्रयास: 0लोड हो रहा है...

स्ट्रिंग्स की सूची \`string_numbers = ["1", "2", "3"]\` को देखते हुए, प्रत्येक तत्व को \`int()\` का उपयोग करके पूर्णांक में बदलें और मान \`6\` प्राप्त करने के लिए उन्हें एक साथ जोड़ें। योग को \`sum_val\` में संग्रहित करें और उसका मूल्यांकन करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

सूचकांक द्वारा तत्वों तक पहुंचें, उदा. int(string_numbers[0]), और उनका योग करें।

3 प्रयासों के बाद समाधान उपलब्ध है