Je voudrais créer un objet tranche à partir d'une chaîne; en ce moment le seul moyen semble par une déclaration eval hacky lourdepython créer un objet tranche à partir de la chaîne
class getslice:
def __getitem__(self, idx): return idx[0]
eval("getslice()[%s, 1]" %(":-1"))
merci à l'avance.
Édition: Désolé si l'invite d'origine n'était pas claire, l'entrée dans ce cas était ": -1". Le but était d'analyser la chaîne. La réponse d'Ignacio Vazquez-Abrams a au moins résolu le problème (et semble aussi fonctionner avec l'indexation inversée), mais je pense que ma solution ci-dessus est encore plus claire sinon conceptuelle (et fonctionnera correctement si Python change la syntaxe de découpage).
Pouvez-vous être un peu plus clair sur quel comportement vous recherchez? –
-1: Pourquoi créer un objet tranche autonome? Les tranches sont des morceaux de syntaxe de première classe? Sans aucune raison de savoir pourquoi vous feriez cela, la question est très étrange. –
Jaffe: question mise à jour. Lott: Je fais un peu de travail de langage, et je voudrais aussi utiliser des tranches Python. L'objet réel est très utile: il a une fonction indices (len) qui donnera un (start, stop, increment) donné une longueur de tableau – gatoatigrado