我不知道对象支持哪些属性。我怎样才能打开模块,弄清楚幕后发生了什么?#34;
例如,我想弄清楚datetime
模块中datetime
模块的__init__
对象在import datetime
curtime = datetime.datetime.now()
print(curtime[0])
中的属性:
datetime
但是,由于__getitem__
没有day
方法,因此必须采用不同的方式来访问每个时间段(month
,year
,{{1}等等。)
我发现(通过反复试验)你可以这样做:
datetime.datetime.now().time()
datetime.datetime.now().date()
但我不确定我在这里所做的正确名称是什么,以及如何找到属于此对象/类的其他方法。
答案 0 :(得分:0)
我发现dir
函数在处理未知和未记录的对象(datetime
is well documented,btw)时最有用。
但如果没有记录:
>>> import datetime
>>>
>>> dir(datetime)
['MAXYEAR', 'MINYEAR', '__doc__', '__name__', '__package__', 'date',
'datetime', 'datetime_CAPI', 'time', 'timedelta', 'tzinfo']
>>> datetime.date
<type 'datetime.date'>
>>> dir(datetime.date)
['__add__', '__class__', '__delattr__', '__doc__', '__eq__', '__format__',
'__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__',
'__lt__', '__ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__',
'__repr__', '__rsub__', '__setattr__', '__sizeof__', '__str__', '__sub__',
'__subclasshook__', 'ctime', 'day', 'fromordinal', 'fromtimestamp',
'isocalendar', 'isoformat', 'isoweekday', 'max', 'min', 'month', 'replace',
'resolution', 'strftime', 'timetuple', 'today', 'toordinal', 'weekday',
'year']
依旧......
答案 1 :(得分:0)
在您的终端中,键入pydoc (whatever)
,您应该能够看到它拥有的所有变量和功能。如果它没有记录,dir([whatever])
是要走的路。在任何情况下,显然谷歌。
顺便说一句,为了澄清您问题中的条款,datetime
是一个模块。你必须要了解模块,类和对象是不同的东西。您可以详细了解模块和dir()
函数here。