Heim > Backend-Entwicklung > Python-Tutorial > Implementierung von Aufruffunktionen basierend auf Strings in Python

Implementierung von Aufruffunktionen basierend auf Strings in Python

高洛峰
Freigeben: 2017-03-03 13:54:01
Original
1380 Leute haben es durchsucht

In Python können Sie Funktionen basierend auf Zeichenfolgen aufrufen:

1. Verwenden Sie getattr, um Funktionen aus Zeichenfolgen aufzurufen

In mehreren Prozessen kann eine Zeichenfolge übergeben werden. Die Hauptfunktion besteht darin, die Funktion getattr zu verwenden, um die der Zeichenfolge entsprechende Funktion abzurufen folgt:

Im Modul gibt es zwei Funktionen:

[root@python 530]# cat attr.py
#!/usr/bin/env python

def kel():
  print 'this is a kel function'


def smile():
  print 'this is a smile function'

if __name__ == '__main__':
  kel()
  smile()
Nach dem Login kopieren

Im Attr-Modul oben gibt es zwei Funktionen definiert, eine Funktion ist kel und die andere Funktion ist smile. Wie führe ich die Funktion basierend auf den Zeichenfolgen kel und smile aus, wie unten gezeigt:

>>> import attr
>>> k = getattr(attr,'kel')
>>> k()
this is a kel function
>>> s = getattr(attr,'smile')
>>> s()
this is a smile function
>>> e = getattr(attr,'errors')
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
AttributeError: &#39;module&#39; object has no attribute &#39;errors&#39;
Nach dem Login kopieren

Im ersten Schritt wird das Modul direkt importiert, dann ist das Modul ein Objekt, sodass kel() in attr gemäß der Zeichenfolge kel in getattr erhalten wird. Die Funktion wird schließlich ausgeführt und Hier wird entsprechend den verschiedenen Zeichenfolgen die entsprechende Funktion ausgeführt.

2. Verwenden Sie ein Wörterbuch, um Funktionen aufzurufen

Die Definition des obigen Moduls bleibt unverändert, aber beim Aufruf können Sie ein Wörterbuch definieren , Die Funktion wird entsprechend dem Wert des Wörterbuchs wie folgt ausgeführt:

>>> import attr
>>> d = {&#39;kel&#39;:attr.kel,&#39;smile&#39;:attr.smile}
>>> d[&#39;kel&#39;]()
this is a kel function
>>> d[&#39;smile&#39;]()
this is a smile function
Nach dem Login kopieren

Damit der Wörterbuchwert zum Aufrufen der Funktion verwendet werden kann.

Die beiden oben genannten Methoden werden hauptsächlich verwendet, um zu erfahren, wie andere Funktionen aufgerufen werden, wenn eine Zeichenfolge übergeben wird. Dann besteht die erste Methode darin, die Funktion mit getattr auszuführen. Definieren Sie einfach ein Wörterbuch und führen Sie dann die Wörterbuchwerte aus.

Die obige Implementierungsmethode zum Aufrufen von Funktionen basierend auf Zeichenfolgen in Python ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe, dass Sie die chinesische PHP-Website unterstützen.

Weitere Artikel zur Implementierung von Aufruffunktionen basierend auf Strings in Python finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage