J'ai une classe:python: accès var la suppression d'un
class A:
s = 'some string'
b = <SOME OTHER INSTANCE>
maintenant je veux cette classe d'avoir la fonctionnalité d'une chaîne à chaque fois qu'il le peut. C'est-à-dire:
a = A()
print a.b
affichera la valeur de b
. Mais je veux des fonctions qui attendent une chaîne (par exemple replace
) pour fonctionner. Par exemple:
'aaaa'.replace('a', a)
faire réellement:
'aaa'.replace('a', a.s)
J'ai essayé overidding __get__
mais ce n'est pas correct.
Je vois que vous pouvez le faire en sous-classant str
, mais est-il un moyen sans cela?
Y at-il une raison que vous voulez _don't_ hériter de 'str'? Ce serait la bonne façon de faire cela. – katrielalex
bien, comme le dit le titre de la question, c'est une question plus générale. Cette solution est bonne mais je pense que "access a var" sera utile. – Guy