Python में प्रकार

Python में प्रकार

यह लेख Python में प्रकारों को समझाता है।

YouTube Video

Python में प्रकार

Python में typing मॉड्यूल का उपयोग Python में प्रकार निर्देशांक (type hints) जोड़ने के लिए किया जाता है। यह मूल रूप से Python 3.5 में पेश किया गया था और कोड की पठनीयता और रखरखाव को बेहतर बनाने के लिए उपयोग किया जाता है। प्रकार निर्देशांक (type hints) कोड के रनटाइम को प्रभावित नहीं करते हैं लेकिन IDEs और स्थिर विश्लेषण उपकरणों के साथ प्रकार जांचने में सहायक होते हैं।

प्रकार निर्देशांक (type hints) की मूल बातें

प्रकार निर्देशांक (type hints) फ़ंक्शन्स और वेरिएबल्स के प्रकारों को स्पष्ट रूप से निर्दिष्ट करके कोड के इरादे को स्पष्ट करते हैं। नीचे दिए गए उदाहरण में, तर्कों (arguments) और लौटाए गए मान (return value) के लिए प्रकार निर्दिष्ट किए गए हैं।

1def add_numbers(a: int, b: int) -> int:
2    return a + b
3
4result: int = add_numbers(5, 10)
5print(result)  # 15

उपरोक्त कोड में, a और b पूर्णांक प्रकार (int) के हैं, और फ़ंक्शन के लौटाए गए मान को भी स्पष्ट रूप से पूर्णांक के रूप में निर्दिष्ट किया गया है। प्रकार निर्देशांक (type hints) होने के बावजूद, प्रकारों को सख्ती से लागू नहीं किया जाता है, लेकिन यदि प्रकार मिलान नहीं होता है तो विकास के दौरान चेतावनियाँ प्रदर्शित की जा सकती हैं।

महत्वपूर्ण प्रकार निर्देशांक

Python में typing मॉड्यूल प्रकार निर्देशांक प्रदान करने के लिए विभिन्न कक्षाएं और फ़ंक्शन्स प्रदान करता है। नीचे सामान्य प्रकार निर्देशांकों की सूची दी गई है।

  • int: पूर्णांक
  • str: स्ट्रिंग (पाठ)
  • float: फ्लोटिंग-पॉइंट संख्या
  • bool: बूलियन (सत्य/असत्य)
  • List: सूची
  • Dict: शब्दकोश
  • Tuple: ट्यूपल
  • Set: सेट (संग्रह)

List प्रकार

सूची प्रकार को List क्लास का उपयोग करके निर्दिष्ट किया जाता है। आप सूची के भीतर तत्वों के प्रकार को स्पष्ट रूप से निर्दिष्ट भी कर सकते हैं।

1from typing import List
2
3def sum_list(numbers: List[int]) -> int:
4    return sum(numbers)
5
6print(sum_list([1, 2, 3]))  # 6

इस उदाहरण में, सूची के सभी तत्व int प्रकार के होने की अपेक्षा की जाती है।

Dict प्रकार

डिक्शनरी प्रकार को Dict का उपयोग करके परिभाषित किया जाता है। कुंजियों और मानों के प्रकार को निर्दिष्ट किया जा सकता है।

1from typing import Dict
2
3def get_student_age(students: Dict[str, int], name: str) -> int:
4    return students.get(name, 0)
5
6students = {"Alice": 23, "Bob": 19}
7print(get_student_age(students, "Alice"))  # 23

इस उदाहरण में, डिक्शनरी str को कुंजी प्रकार और int को मान प्रकार के रूप में उपयोग करती है।

Tuple प्रकार

ट्यूपल्स को Tuple प्रकार का उपयोग करके निर्दिष्ट किया जाता है। आप ट्यूपल में प्रत्येक तत्व के प्रकार को व्यक्तिगत रूप से निर्दिष्ट कर सकते हैं।

1from typing import Tuple
2
3def get_person() -> Tuple[str, int]:
4    return "Alice", 30
5
6name, age = get_person()
7print(name, age)  # Alice 30

यहाँ, get_person फ़ंक्शन को एक ट्यूपल लौटाते हुए दिखाया गया है जिसमें एक स्ट्रिंग और एक पूर्णांक होता है।

Union प्रकार

Union प्रकार का उपयोग स्पष्ट रूप से यह इंगित करने के लिए किया जाता है कि कई प्रकार स्वीकार्य हैं।

1from typing import Union
2
3def process_value(value: Union[int, float]) -> float:
4    return value * 2.0
5
6print(process_value(10))  # 20.0
7print(process_value(3.5))  # 7.0

इस उदाहरण में, process_value फ़ंक्शन एक तर्क के रूप में या तो int या float लेता है और float प्रकार का परिणाम लौटाता है।

Optional प्रकार

Optional प्रकार का उपयोग तब किया जाता है जब एक चर None हो सकता है। इसे Union[Type, None] के लिए संक्षिप्त रूप के रूप में प्रदान किया गया है।

1from typing import Optional
2
3def greet(name: Optional[str] = None) -> str:
4    if name is None:
5        return "Hello, Guest!"
6    return f"Hello, {name}!"
7
8print(greet())  # Hello, Guest!
9print(greet("Alice"))  # Hello, Alice!

यह दिखाता है कि जब name निर्दिष्ट नहीं किया गया है, तो इसे None के रूप में माना जाता है।

सामान्य प्रकार

सामान्य प्रकार एक तरीका है यह अमूर्त रूप से दर्शाने का कि एक डेटा संरचना में कौन से प्रकार के तत्व होते हैं। typing मॉड्यूल में, आप TypeVar का उपयोग करके सामान्य प्रकार को परिभाषित कर सकते हैं।

1from typing import TypeVar, List
2
3T = TypeVar('T')
4
5def get_first_element(elements: List[T]) -> T:
6    return elements[0]
7
8print(get_first_element([1, 2, 3]))  # 1
9print(get_first_element(["a", "b", "c"]))  # a

इस उदाहरण में, get_first_element एक फ़ंक्शन है जो सूची के पहले तत्व को लौटाता है, और यह सूची के प्रकार की परवाह किए बिना कार्य करता है।

प्रकार उपनाम

प्रकार उपनाम उन संरचनाओं को सरल बनाने का एक तरीका है जो जटिल प्रकार परिभाषाओं को स्पष्ट नाम देती हैं।

1from typing import List, Tuple
2
3Coordinates = List[Tuple[int, int]]
4
5def get_coordinates() -> Coordinates:
6    return [(0, 0), (1, 1), (2, 2)]
7
8print(get_coordinates())  # [(0, 0), (1, 1), (2, 2)]

इस उदाहरण में, एक प्रकार उपनाम Coordinates को एक प्रकार को दर्शाने के लिए परिभाषित किया गया है जिसमें एक सूची के अंदर ट्यूपल्स होते हैं।

सारांश

Python में typing मॉड्यूल कोड की पठनीयता और अनुरक्षण क्षमता को सुधारने के लिए बहुत उपयोगी है। टाइप हिंट्स का सही उपयोग करके, आप टाइप मिसमैच और बग्स को रोकने में सहायता कर सकते हैं, खासकर बड़े पैमाने की परियोजनाओं या टीम विकास में। टाइप्स केवल एक विकास समर्थन उपकरण हैं और रनटाइम व्यवहार को प्रभावित नहीं करते हैं, जिससे कोड की लचीलापन बनी रहती है।

आप हमारे YouTube चैनल पर Visual Studio Code का उपयोग करके ऊपर दिए गए लेख के साथ आगे बढ़ सकते हैं। कृपया YouTube चैनल को भी देखें।

YouTube Video