Na criação do nome de atributos, por convenção, se usa apenas um underscore( "nome") para sinalizar que o atributo não deve ser acessado diretamente, porém quando o atributo é criado com dois underscores ("_nome") a própria linguagem dificulta o acesso direto ao atributo, o deixando mais "encapsulado". Qual o motivo da existência desses dois modelos de criação e em qual condição devo usá-los?