假设我有以下课程:
usr = (str(input('USERNAME : ')))
if usr == 'python':
password = (str(input('PASSWORD : ')))
if password == 'root':
print ('login succesfull')
else:
print ('wrong password')
else:
print ('wrong username')
如何获取属性类型?我的意思是我想得到以下列表:[' str',' int']?
我也希望它能够在派生类上工作。
非常感谢:)
答案 0 :(得分:0)
使用type()函数。您甚至可以使用它来打印出如下变量类型:
print(type(variable_name))
答案 1 :(得分:0)
RHP几乎拥有它。您想要合并dir
,type
和getattr
函数。这样的理解应该是你想要的:
o = myClass(1)
[type(getattr(o, name)).__name__ for name in dir(o) if name[:2] != '__' and name[-2:] != '__']
这会给您['int', 'str']
(因为myInt
在myStr
之前按字母顺序排序。
打破它:
getattr
查找对象上属性的名称type
获取对象的类型__name__
上的type
会提供类型dir
列出对象的所有属性(包括__dunder__
属性)if
测试会过滤掉__dunder__
属性