Comment puis-je passer une variable par référence?

La documentation Python semble pas clair quant à savoir si les paramètres sont passés par référence ou la valeur, et le code suivant donne la valeur inchangée "Original"

class PassByReference:
    def __init__(self):
        self.variable = 'Original'
        self.change(self.variable)
        print(self.variable)

    def change(self, var):
        var = 'Changed'

Est-il quelque chose que je peux faire pour passer la variable par référence?

Pour un court, des explications, des précisions, voir la première réponse de ce stackoverflow question. Comme les chaînes sont immuables, ils ne seront pas modifiées et une nouvelle variable sera créé, ainsi l ' "extérieur" de la variable a toujours la même valeur.
Le code de la BlairConrad la réponse est bonne, mais l'explication fournie par DavidCournapeau et DarenThomas est correct.
Avant de lire la réponse sélectionnée, veuillez tenir compte de la lecture de ce court texte d'Autres langues ont "variables", Python a "nom". Pense à propos de "noms" et les "objets" au lieu de "variables" et "références" et vous devriez éviter beaucoup de problèmes similaires.
Pourquoi cette inutilement de l'utiliser en classe? Ce n'est pas Java 😛
une autre solution consiste à créer un wrapper "référence" comme ceci: ref = type(", (), {'n':1}) stackoverflow.com/a/1123054/409638

OriginalL'auteur David Sykes | 2009-06-12