0
import sys
def attrs_and_types(mod_name):
print('Attributes and their types for module {}:'.format(mod_name))
print()
for num , attr in enumerate(dir(eval(mod_name))):
print("{idx}: {nam:30} {typ}".format(
idx=str(num + 1).rjust(4),
nam=(mod_name + '.' + attr).ljust(30),
typ=type(eval(mod_name + '.' + attr))))
attrs_and_types(sys.__name__)
任何人都可以帮我解决这两个问题吗?获取Python模块属性的名称和类型
for num, attr in enumerate(dir(eval(mod_name))):
attrs_and_types(sys.__name__)
我不明白为什么sys.__name__
作为参数传递给函数。它应该是模块的名称。为什么.__name__
添加到sys
?
而在for
循环num, attr
是检查在此:
enumerate(dir(eval(mod_name)))
这是什么?它是一个内存位置吗?
正如你所说,它应该是模块的名称。 'module .__ name__' **是** module的名字; 'sys .__ name__ =='sys''。不,这不是*“一个内存位置”* - 我建议你去Python文档并查看“eval”,“dir”和“enumerate”是做什么的,或者只是添加一些print函数调用来查找了解每一步做什么。 – jonrsharpe