I usually prefer to avoid any kind of replication simply because commonly sometime in the future the equal part is growing and duplicated code grows. I would write it the following way (but since it is more a preference it is your choice if you want to change it or not):

    value = self.__unicode__()
    if not py3:
        value = value.encode('ascii', 'replace')
    return value