1. 程式人生 > >Python類中的__dict__屬性

Python類中的__dict__屬性

__dict__屬性是一個字典(dict),它包含了該物件所有的屬性。

下面用pytorch中的torchvision.models作比喻:

[input]:import torchvision.models as models
[input]:models.__dict__
[output]:
{
'__name__': 'torchvision.models',
 '__doc__': None,
 '__package__': 'torchvision.models',
 ...
 ...
 ...
 'DenseNet': torchvision.models.densenet.DenseNet,
 'densenet121': <function torchvision.models.densenet.densenet121(pretrained=False, **kwargs)>,
 'densenet169': <function torchvision.models.densenet.densenet169(pretrained=False, **kwargs)>,
 'densenet201': <function torchvision.models.densenet.densenet201(pretrained=False, **kwargs)>,
 'densenet161': <function torchvision.models.densenet.densenet161(pretrained=False, **kwargs)>
 }

可以用這種方法來訪問物件的屬性:

[input]:densenet = models.__dict__['DenseNet']
[input]:densenet
[output]: torchvision.models.densenet.DenseNet

有一點要注意:

python 中的所有東西都是物件,這裡說的所有指的是函式,類,物件,變數,等等

參考:https://stackoverflow.com/questions/19907442/python-explain-dict-attribute