यहां बताया गया है कि कैसे अपना खुद का बनाएं clsयाclear कमांड बिना किसी फ़ंक्शन के स्पष्ट रूप से काम करेगा!
हम इस तथ्य का लाभ उठाएंगे कि अजगर कंसोल repr()स्क्रीन पर वस्तुओं को प्रदर्शित करने के लिए कहता है। यह विशेष रूप से उपयोगी है यदि आपके पास अपना स्वयं का अनुकूलित अजगर शेल ( -iउदाहरण के लिए विकल्प के साथ ) है और आपके पास इसके लिए पूर्व-लोडिंग स्क्रिप्ट है। यह वही चीज़ है जिसकी आपको आवश्यकता है:
import os
class ScreenCleaner:
def __repr__(self):
os.system('cls')
return ''
cls = ScreenCleaner()
clearइसके बजाय का उपयोग करें clsयदि आप linux पर हैं ( osकमांड और वैरिएबल नाम दोनों में )!
अब अगर आप सिर्फ लिखते हैं clsया clearसांत्वना में - यह स्पष्ट कर देगा! नहीं भी cls()या clear()- बस कच्चा चर। ऐसा इसलिए है क्योंकि अजगर repr(cls)इसे प्रिंट करने के लिए कॉल करेगा , जो बदले में हमारे __repr__फ़ंक्शन को ट्रिगर करेगा ।
आइए इसका परीक्षण करें:
>>> df;sag
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'df' is not defined
>>> sglknas
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'sglknas' is not defined
>>> lksnldn
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'lksnldn' is not defined
>>> cls
और स्क्रीन स्पष्ट है!
स्पष्ट करने के लिए - ऊपर दिए गए कोड को या तो इस तरह से कंसोल में आयात किया जाना चाहिए
from somefile import cls
या कुछ के साथ सीधे पूर्व लोड:
python -i my_pre_loaded_classes.py