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

पायथन मॉड्यूल कैसे लिखें?

एक मॉड्यूल पायथन परिभाषाओं और स्टेटमेंट्स वाली एक फ़ाइल है। फ़ाइल नाम मॉड्यूल नाम है जिसमें `.py` सफ़िक्स होता है।

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

1. helloworld.py बनाएं


def hello_world():
    print("Hello world")

2. उसी डायरेक्टरी में script.py बनाएं


import helloworld
helloworld.hello_world()

हमने `helloworld` मॉड्यूल बनाया और इसे `script.py` में इम्पोर्ट किया। फिर हमने `helloworld.py` से फ़ंक्शन का उपयोग किया।

काम करने वाली डायरेक्टरी में कई मॉड्यूल बनाने से बहुत अव्यवस्था हो सकती है।

आप कई मॉड्यूल को बड़े करीने से समूहित करने के लिए पैकेज का उपयोग कर सकते हैं। आप पैकेज कैसे बनाए जाते हैं और उपयोग किए जाते हैं, इसके बारे में विस्तार से यहां पढ़ सकते हैं: https://docs.python.org/2/tutorial/modules.html#packages

पूर्ण मॉड्यूल टेम्पलेट (सर्वोत्तम अभ्यास)

mymodule.py


"""
मॉड्यूल विवरण: यह मॉड्यूल क्या करता है।
"""

# स्टैंडर्ड लाइब्रेरी इम्पोर्ट
import os
import sys
from typing import List, Optional

# थर्ड-पार्टी इम्पोर्ट
import requests

# लोकल इम्पोर्ट
from . import helpers

# मॉड्यूल-स्तरीय कॉन्स्टेंट्स
__version__ = "1.0.0"
__author__ = "आपका नाम"
__all__ = ["public_function", "PublicClass"]  # सार्वजनिक API

# मॉड्यूल-स्तरीय वेरिएबल (कॉन्स्टेंट्स के लिए UPPER_CASE)
DEFAULT_TIMEOUT = 30
MAX_RETRIES = 3

# फ़ंक्शन परिभाषाएं
def public_function(param: str, optional: int = 10) -> bool:
    """
    सार्वजनिक फ़ंक्शन जो कुछ करता है।
    
    Args:
        param: विवरण
        optional: वैकल्पिक पैरामीटर, डिफ़ॉल्ट 10
        
    Returns:
        bool: सफलता स्थिति
        
    Raises:
        ValueError: यदि param खाली है
    """
    if not param:
        raise ValueError("param खाली नहीं हो सकता")
    return helpers.process(param, optional)

# क्लास परिभाषाएं
class PublicClass:
    """सार्वजनिक क्लास डॉकस्ट्रिंग।"""
    
    def __init__(self, value: str):
        self.value = value
    
    def method(self) -> str:
        return f"Value: {self.value}"

# प्राइवेट हेल्पर (अंडरस्कोर प्रीफिक्स)
def _private_helper():
    """आंतरिक उपयोग के लिए।"""
    pass

# __name__ == "__main__" गार्ड - डेमो/टेस्ट कोड
if __name__ == "__main__":
    # मॉड्यूल सीधे चलाए जाने पर टेस्ट/डेमो
    print(f"मॉड्यूल संस्करण: {__version__}")
    result = public_function("test")
    print(f"परिणाम: {result}")

मॉड्यूल खोज पथ

जब आप मॉड्यूल इम्पोर्ट करते हैं, तो इंटरप्रेटर खोजता है:

  1. इनपुट स्क्रिप्ट वाली डायरेक्टरी (या वर्तमान डायरेक्टरी)
  2. `PYTHONPATH` पर्यावरण वेरिएबल में डायरेक्टरी
  3. इंस्टॉलेशन-निर्भर डिफ़ॉल्ट पथ (साइट-पैकेज)

पैकेज बनाना (एकाधिक मॉड्यूल)


myproject/
├── mypackage/
│   ├── __init__.py          # पैकेज बनाता है
│   ├── core.py
│   ├── utils.py
│   └── subpackage/
│       ├── __init__.py
│       └── extra.py
├── setup.py / pyproject.toml
├── tests/
└── README.md

__init__.py में


# mypackage/__init__.py
from .core import main_function
from .utils import helper_function

__all__ = ["main_function", "helper_function"]
__version__ = "1.0.0"
  1. पायथन में पैंडास DataFrame को CSV फ़ाइल में कैसे लिखें पायथन में पैंडास DataFrame को CSV फ़ाइल में कैसे लिखें

    पायथन में पैंडास DataFrame को CSV फ़ाइल में लिखने के लिए to_csv() विधि का उपयोग करें। सबसे पहले, आइए सूचियों का एक शब्दकोश बनाएं:# सूचियों का शब्दकोश d = {Car: [BMW, Lexus, Audi, Mercedes, Jaguar, Bentley], Date_of_purchase: [2020-10-10, 2020-10-12, 2020-10-17, 2020-10-16, 2020-10-19, 2020-10-2

  1. पायथन getpass मॉड्यूल पायथन getpass मॉड्यूल

    पायथन की स्टैंडर्ड लाइब्रेरी के getpass मॉड्यूल में दो फ़ंक्शन्स परिभाषित हैं। वे तब उपयोगी होते हैं जब भी टर्मिनल-आधारित एप्लिकेशन को यूजर क्रेडेंशियल्स मान्य करने के बाद ही एक्ज़ीक्यूट करने की आवश्यकता होती है। getpass() यह फ़ंक्शन यूजर को पासवर्ड दर्ज करने के लिए प्रेरित करता है। डिफ़ॉल्ट रूप से

  1. - पायथन में IndentationError एक्सेप्शन कैसे पकड़ें?

    IndentationError तब होता है जब पार्सर को सोर्स कोड मिलता है जो इंडेंटेशन नियमों का पालन नहीं करता। हम इसे मॉड्यूल इम्पोर्ट करते समय पकड़ सकते हैं, क्योंकि मॉड्यूल पहले इम्पोर्ट पर कंपाइल होगा। आप इसे उसी मॉड्यूल में नहीं पकड़ सकते जिसमें try/except ब्लॉक है, क्योंकि इस एक्सेप्शन के साथ, पायथन मॉड्यू