project structure पर पाइथन गाइड के अध्याय में, "शीर्ष-स्तरीय कथन" शब्द कुछ बार लाया गया है। मुझे यकीन नहीं है कि यह वास्तव में क्या संदर्भित करता है। मेरा अनुमान है कि यह कोई भी परिवर्तनीय घोषणा है जो किसी भी फ़ंक्शन या क्लास विधियों के बाहर होती है जो मॉड्यूल लोड होने पर ही आग लगती है। क्या ये सही है? क्या इसमें मॉड्यूल का import
स्टेटमेंट भी शामिल है?पायथन में शीर्ष-स्तरीय विवरण क्या है?
उत्तर
यह केवल परिवर्तनीय घोषणा नहीं है (और वैसे भी कोई परिवर्तनीय घोषणा नहीं है)। यह बहुत ज्यादा कुछ भी है कि खरोज स्तर पर शुरू होता है है 0.
import sys # top-level
3 + 4 # top-level
x = 0 # top-level
def f(): # top-level
import os # not top-level!
return 3 # not top-level
if x: # top-level
print 3 # not top-level
else:
print 4 # not top-level, but executes as part of an if statement
# that is top-level
class TopLevel(object): # top-level
x = 3 # not top-level, but executes as part of the class statement
def foo(self): # not top-level, but executes as part of the class statement
print 5 # not top-level
मुझे लगता है कि आपको यह बिल्कुल सही मिला है, और हां इसमें आयात विवरण शामिल होंगे।
यहाँ "शीर्ष स्तर के बयान" का पहला उल्लेख है:
एक बार modu.py पाया जाता है, अजगर दुभाषिया मॉड्यूल निष्पादित करेंगे एक अलग दायरे में। Modu.py में किसी भी शीर्ष-स्तरीय कथन को निष्पादित किया जाएगा, जिसमें अन्य आयात भी शामिल हैं। मॉड्यूल के शब्दकोश में फ़ंक्शन और क्लास परिभाषाएं संग्रहीत की जाती हैं।
इससे यह स्पष्ट हो जाता है कि उनका वास्तव में क्या अर्थ है "चीजें जिन्हें import
समय पर व्याख्या किया गया है"।
हालांकि यह बहुत उपयोगी नहीं है, Python documentation itself वाक्यांश "शीर्ष-स्तर" (घटक, जिसका अर्थ है "इस संदर्भ में" कथन "का भी उपयोग करता है)।
नोट इस मॉड्यूल है कि:
"""a python module, spam.py"""
def spam():
return "spam"
class Spam(object):
pass
इसमें दो बयान, def
और class
है। ये आयात समय पर दोनों निष्पादित किए गए हैं। ये परिभाषाएं यौगिक बयान हैं (def
और class
विवरण देखें)। यदि शीर्ष-स्तर def
से जुड़े सजावटी हैं, जो चलाने के लिए और भी उच्च-स्तरीय चीजें जोड़ता है। (यह भी user2357112's answer देखें: एक class
बयान चल invokes अधिक आंतरिक कार्यप्रणाली।)
शीर्ष पर एक import sys
जोड़ें और आप एक तिहाई बयान है, जो sys
आयात जोड़ दिया है। हालांकि, अगर आप इस ऐड यदि:
def ham(eggs):
import os
return os.path.basename(eggs)
आप अभी भी केवल एक ही बयान, def ham
, शीर्ष स्तर के सामान को जोड़ लिया है। यह तब होता है जब ham
स्वयं निष्पादित (कहा जाता है) कि import os
चलाया जाएगा।
- 1. पायथन dict कार्यान्वयन विवरण
- 2. पायथन आयात विवरण अर्थशास्त्र
- 3. पायथन में वैश्विक बयान क्या है?
- 4. पायथन में वेबसाइट का विवरण पाने का सबसे अच्छा तरीका क्या है?
- 5. ऑटो vim/emacs में पायथन आयात विवरण शामिल करें?
- 6. APPCRASH संदेश का विवरण क्या है?
- 7. विवरण दृश्य क्या है। सक्षम मॉडेल प्रमाणीकरण?
- 8. पायथन में "\ 00" क्या है?
- 9. पायथन में 'प्रिंट' क्या है?
- 10. पायथन में क्या बढ़ाता है?
- 11. क्या एंड्रॉइड बिल्ड प्रक्रिया में अनुकूलन का विस्तृत विवरण है?
- 12. विवरण
- 13. विवरण
- 14. स्क्रम में, विवरण कहां बैठता है?
- 15. पायथन में 'है' ऑपरेटर क्या करता है?
- 16. क्या कोई विवरण है कि __cmp__ पायथन 2 में dict ऑब्जेक्ट्स के लिए कैसे काम करता है?
- 17. पायथन में x = [m] * n वाक्यविन्यास क्या है?
- 18. पायथन: हेडर क्या है?
- 19. का अर्थ प्रिंट विवरण में
- 20. नियमित अभिव्यक्ति कार्यान्वयन विवरण
- 21. पैकेज में कोलेट फ़ील्ड विवरण
- 22. आरईबीओएल में बहु-पंक्ति विवरण?
- 23. कोड में कक्षा विवरण जोड़ना?
- 24. जेनकींस जॉब विवरण में एचटीएमएल
- 25. पायथन में "|" चिह्न का क्या अर्थ है?
- 26. पायथन 3.x में नया क्या है?
- 27. पायथन में डिफ़ॉल्ट __hash__ क्या है?
- 28. पायथन में/= ऑपरेटर का क्या अर्थ है?
- 29. पायथन में संदर्भ चक्र क्या है?
- 30. पायथन के itertools.repeat में क्या उद्देश्य है?
मुझे लगता है कि इसमें न केवल आयात और घोषणाएं शामिल होंगी, लेकिन कोई भी कोड जो बाहरी कार्यों और वर्गों के बाहर होता है। –