NameError: name '_Disk__name_' is not defined
时间: 2023-09-23 18:10:17 浏览: 136
This error occurs when you try to access a private attribute or method of a class in Python. In this case, it seems like you are trying to access the private attribute `__name__` of a class called `_Disk`.
In Python, any attribute or method that starts with two underscores is considered private and cannot be accessed from outside the class. However, Python does not actually prevent you from accessing these attributes or methods. Instead, it mangles the name by adding `_ClassName` before the attribute name, where `ClassName` is the name of the class.
So, in order to access the private attribute `__name__` of the `_Disk` class, you should use the mangled name `_Disk__name__`.
For example:
```
class _Disk:
def __init__(self, name):
self.__name__ = name
disk = _Disk("MyDisk")
print(disk._Disk__name__) # Output: "MyDisk"
```
Note that accessing private attributes or methods is generally not recommended as it can make your code harder to maintain and debug. If possible, you should use public attributes and methods instead.
阅读全文