Python internally renames it to `_BankAccount__balance`. You *can* still access it via `account._BankAccount__balance`, but the ugly name screams "you shouldn't be doing this." The purpose is to prevent *accidental* access, not to enforce a security boundary.