2010-10-05 10 views
5

डेटाटाइम के लिए समकक्ष प्रकार मॉड्यूल क्या है? उदाहरण:पाइथन डेटाटाइम प्रकार

import datetime 
import types 
t=datetime.datetime.now() 
if type(t)==types.xxxxxx: 
    do sth 

मुझे डेटाटाइम प्रकार के लिए प्रकार मॉड्यूल में रिलीज़ प्रकार नहीं मिला; क्या कोई मेरी मदद कर सकता है?

उत्तर

14
>>> type(t) 
<type 'datetime.datetime'> 
>>> type(t) is datetime.datetime 
True 

क्या वह जानकारी है जिसे आप ढूंढ रहे हैं? मुझे नहीं लगता कि आप types मॉड्यूल के भीतर प्रासंगिक प्रकार को पा सकेंगे क्योंकि datetime.datetime एक अंतर्निहित प्रकार नहीं है।

जोड़ने के लिए संपादित करें: एक और नोट, क्योंकि यह स्पष्ट रूप से आप जो खोज रहे थे (मुझे पूरी तरह से यकीन नहीं था जब मैंने पहली बार जवाब दिया था) - पाइथन में आमतौर पर टाइपिंग जांच आवश्यक नहीं है, और खराब डिजाइन का संकेत हो सकता है । मैं अनुशंसा करता हूं कि आप अपने कोड की समीक्षा करें और देखें कि टाइप करने की जांच किए बिना आपको जो भी करना है, उसे करने का कोई तरीका है या नहीं। (? विहित pythonic): भी

>>> isinstance(t, datetime.datetime) 
True 

देखें:

इसके अलावा, विशिष्ट तरीका यह करने के लिए साथ है Differences between isinstance() and type() in python, लेकिन मुख्य कारण यह है कि isinstance() विरासत का समर्थन करता है, जबकि type() दोनों कि आवश्यकता है ऑब्जेक्ट्स एक ही प्रकार के होते हैं (यानी एक व्युत्पन्न प्रकार false का मूल्यांकन करेगा जब उसके मूल प्रकार की तुलना बाद के बाद)।

+0

इस मामले में, यह टाइप करना बेहतर होगा कि 'टाइप (टी) datetime.datetime' बनाम '==' का उपयोग कर रहा है। – snapshoe

+0

@ ma3204: हाँ, मुझे लगता है कि आप सही हैं। मैं इसे बदल दूंगा। – eldarerathis

+2

यह 'isinstance' – SilentGhost

संबंधित मुद्दे