python - Get the current date as the default argument for a method -


मेरे पास एक विधि है:

  def do_something (वर्ष = ?, माह = ?): पास  

मुझे वर्ष और माह तर्क वैकल्पिक होना चाहिए, लेकिन मैं चाहता हूं कि उनका डिफ़ॉल्ट चालू वर्ष के बराबर हो और महीना। मैंने विधि घोषित करने से पहले दो चर को सेट करने के बारे में सोचा है, लेकिन प्रक्रिया का यह हिस्सा महीनों तक चल सकता है। इसे गतिशील होने की आवश्यकता है।

ऐसा लगता है कि यह कठिन नहीं होना चाहिए, लेकिन आज मैं एक मानसिक ब्लॉक कर रहा हूँ आप इसे कैसे करेंगे?

यहाँ मुहावरेदार दृष्टिकोण को कोई भी को डिफ़ॉल्ट मान के रूप में असाइन करना होगा, और फिर विधि के भीतर पुन: असाइन करना होगा यदि मान अभी भी कोई नहीं :

  def do_something (वर्ष = कोई नहीं, महीना = कोई नहीं): यदि वर्ष कोई नहीं है: वर्ष = datetime.date.today () । साल अगर कोई भी नहीं है: महीना = datetime.date.today ()। महीने # चीज़ें करते हैं ...  

आपको लगता है कि आप डीईएफ़ do_something (वर्ष = Datetime.date.today ()। वर्ष) , लेकिन वह मान कैश करेगा ताकि वर्ष सभी कॉल में do_something पर एक जैसा होगा।

इस अवधारणा को प्रदर्शित करने के लिए:

  & gt; & gt; & gt; Def foo (x = time.time ()): प्रिंट एक्स ... & gt; & gt; & gt; Foo () 1280853111.26 & gt; & gt; & gt; # प्रॉम्प्ट पर एक दूसरे की प्रतीक्षा करें & gt; & gt; & gt; Foo () 1280853111.26  

Comments

Popular posts from this blog

Eclipse CDT variable colors in editor -

AJAX doesn't send POST query -

wpf - Custom Message Box Advice -