[PYTHON] Machen Sie let und lassen Sie uns einzeilig programmieren

Es gibt Zeiten, in denen Sie in eine Zeile schreiben möchten, aber Variablen mithilfe der Listeneinschlussmethode definieren möchten, oder? Ja, ich würde mich freuen, wenn ich es so schreiben könnte.

homu.let(lambda mami: (mami[0], mami[1] if len(mami) > 1 else None))

Es ist eine Geschichte, sie in zwei Hälften zu verwirklichen.

Referenz: Implementieren einer LINQ-ähnlichen Listenverarbeitungsbibliothek in Python --TIM Labs

Es scheint, dass Sie so etwas wie eine Erweiterungsmethode ausführen können, indem Sie den Operator überladen. Sie können auch mit der gleichen Methode lassen!

class let:
	def __init__(self, action):
		self.action = action
	
	def __ror__(self, source):
		return self.action(source)

Dann

homu | let(lambda mami: (mami[0], mami[1] if len(mami) > 1 else None))

Ich kann schreiben! Nett!

Recommended Posts

Machen Sie let und lassen Sie uns einzeilig programmieren
Versuchen Sie, ein einfaches Spiel mit Python 3 und iPhone zu erstellen
Lassen Sie uns eine Mac-App mit Tkinter und py2app erstellen
Machen wir einen Discord Bot.
Koordinator und ganzzahliger linearer Plan
Lassen Sie uns ein Errbot-Plugin erstellen