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

Python Module और Python Package में क्या Difference है?


Module vs Package

कोई भी Python File एक Module होती है, इसका नाम File के Base Name/Module के __name__ Property बिना .py Extension के होता है।

Package Python Modules का Collection है, यानी एक Package, Python Modules की एक Directory होती है जिसमें एक Additional __init__.py File होती है। __init__.py File एक Package को उस Directory से Distinguish करती है जिसमें बस Python Scripts का गुच्छा होता है। Packages को किसी भी Depth तक Nest किया जा सकता है, बशर्ते कि Corresponding Directories में अपने स्वयं के __init__.py File हों।

जब आप किसी Module या Package को Import करते हैं, तो Python द्वारा Create किया गया Corresponding Object हमेशा Type Module का होता है। इसका अर्थ है कि Module और Package के बीच का अंतर केवल File System Level पर है। हालांकि, ध्यान दें कि जब आप किसी Package को Import करते हैं, तो केवल उस Package की __init__.py File में मौजूद Variables/Functions/Classes Directly Visible होते हैं, Sub-packages या Modules नहीं।

उदाहरण

datetime Module में date नामक एक Submodule होता है। जब आप datetime Import करते हैं, तो यह Import नहीं होगा। आपको इसे अलग से Import करना होगा।

>>> import datetime
>>> date.today()
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'date' is not defined
>>> from datetime import date
>>> date.today()
datetime.date(2017, 9, 1)

File System Structure:

# Module (Single File)
mymodule.py

# Package (Directory with __init__.py)
mypackage/
    __init__.py
    module1.py
    module2.py
    subpackage/
        __init__.py
        submodule.py

Key Differences:

Aspect Module Package
Structure Single .py File Directory with __init__.py
Contains Functions, Classes, Variables Modules, Subpackages
Import Result Module Object Module Object (Package का)
Namespace Module का Global Scope Package का __init__.py Scope

  1. Tkinter (Python) में root.destroy() और root.quit() में क्या अंतर है? Tkinter (Python) में root.destroy() और root.quit() में क्या अंतर है?

    जब हम Tkinter विंडो ऑब्जेक्ट के साथ destroy() मेथड को इनवोक करते हैं, तो यह मेनलूप प्रोसेस को समाप्त करता है और विंडो के अंदर सभी विजेट्स को नष्ट कर देता है। Tkinter destroy() मेथड का उपयोग मुख्य रूप से बैकग्राउंड में चल रहे इंटरप्रेटर को मारने और समाप्त करने के लिए किया जाता है।हालांकि, quit() मेथड

  1. Python में Tkinter और Tkinter.ttk के विजेट्स में क्या अंतर है? Python में Tkinter और Tkinter.ttk के विजेट्स में क्या अंतर है?

    tkinter.ttk एक मॉड्यूल है जिसका उपयोग Tkinter विजेट्स को स्टाइल करने के लिए किया जाता है। जैसे CSS का उपयोग HTML एलिमेंट को स्टाइल करने के लिए किया जाता है, वैसे ही हम Tkinter विजेट्स को स्टाइल करने के लिए tkinter.ttk का उपयोग करते हैं।यहां Tkinter विजेट और Tkinter.ttk के बीच प्रमुख अंतर हैं -Tkinte

  1. - पायथन में ग्लोबल और लोकल वेरिएबल्स में क्या अंतर है?

    ग्लोबल वेरिएबल वह वेरिएबल है जो वैश्विक रूप से सुलभ है। लोकल वेरिएबल वह है जो केवल वर्तमान स्कोप तक सुलभ है, जैसे किसी एकल फंक्शन परिभाषा में उपयोग किए जाने वाले अस्थायी वेरिएबल्स। उदाहरण दिए गए कोड में: q = I love coffee # global variable def f(): p = Me Tarzan, You Jane. # local variable p