Python intern hace cuerdas?

En Java, las cadenas declaradas explícitamente son internadas por la JVM, de modo que las declaraciones posteriores de la misma cadena dan como resultado dos punteros a la misma instancia de cadena, en lugar de dos cadenas separadas (pero idénticas).

Por ejemplo:

public String baz() {
    String a = "astring";
    return a;
}

public String bar() {
    String b = "astring"
    return b;
}

public void main() {
    String a = baz()
    String b = bar()
    assert(a == b) // passes
}

Mi pregunta es, ¿CPython (o cualquier otro tiempo de ejecución de Python) hace lo mismo con las cadenas? Por ejemplo, si tengo alguna clase:

class example():
    def __init__():
        self._inst = 'instance' 

Y cree 10 instancias de esta clase, ¿cada una de ellas tendrá una variable de instancia que se refiera a la misma cadena en la memoria, o terminaré con 10 cadenas separadas?

Respuestas a la pregunta(3)

Su respuesta a la pregunta