dir函数用着很方便,但是打印出来的结果从视觉上无法区分属性还是方法。dir函数如何判断是属性还是方法呢?大家可以借助type函数和eval函数来判断。以time模块为例,代码如下:
# -*- coding: utf-8 -*-
import time
for i in dir(time):
if not str(i).startswith('_'):
try:
print(i, type(eval(('time.' + str(i)))))
except Exception as e:
print('error', i)
finally:
pass
altzone
asctime
clock
ctime
daylight
get_clock_info
gmtime
localtime
mktime
monotonic
perf_counter
process_time
sleep
strftime
strptime
struct_time
time
timezone
tzname
如果是方法则type求值后包含method。