みなさんいろいろどうもありがとう。

enhancedString は

class EnhStr(object):
    def __init__(self, arg):
        self.__str   = arg
    def __add__(self, v): return self.__str + v
    def sets(self,v): ...
    def gets(self): return self.__str
    def dels(self): del self.__str
    ...
    __slots__ = ('__str', '__fsenc')
    string = property(gets, sets, dels, "string property.")

な感じで使ってみることに。(__add__だけオーバーロードしてもアレですが・・・)

これで

e = EnhStr("a")
e.string = "b"

とかできるようですね。

1.5.2以来あまりつかってなかったので new-style class はいろいろできて楽しいです。