Heim >Backend-Entwicklung >Python-Tutorial >Ausführliche Erklärung und Lösung für das Problem „str is not callable' in Python

Ausführliche Erklärung und Lösung für das Problem „str is not callable' in Python

高洛峰
高洛峰Original
2017-02-13 16:14:101772Durchsuche

Detaillierte Erklärung und Lösung des Problems von str ist in Python nicht aufrufbar

Aufgeworfene Frage:

Im Python-Code wurde während des laufenden Prozesses eine Fehlermeldung angezeigt:

Python-Code:

def check_province_code(province, country):
  num = len(province)
    
  while num <3:
    province = &#39;&#39;.join([str(0),province])
    num = num +1
    
  return country + province

Fehlermeldung wird ausgeführt:

check_province_code(&#39;ab&#39;, &#39;001&#39;)
---------------------------------------------------------------------------
TypeError                 Traceback (most recent call last)
<ipython-input-44-02ec8a351cce> in <module>()
----> 1 check_province_code(&#39;ab&#39;, &#39;001&#39;)
  
<ipython-input-43-12db968aa80a> in check_province_code(province, country)
   3 
   4   while num <3:
----> 5     province = &#39;&#39;.join([str(0),province])
   6     num = num +1
   7 
  
TypeError: &#39;str&#39; object is not callable

Problemanalyse und Fehlerbehebung:

Aus der Analyse der Fehlermeldung geht hervor, dass str kein aufrufbares Objekt ist, aber es könnte tatsächlich vorher aufgerufen werden, und im Python-API-Dokument ist es eine integrierte Funktion von Python. Warum kann es nicht verwendet werden?

Lassen Sie uns die Überprüfung fortsetzen.

Führen Sie str(123) in der Befehlszeile aus, um die Zahl in einen String umzuwandeln:

>>> str(1233)
---------------------------------------------------------------------------
TypeError                 Traceback (most recent call last)
<ipython-input-45-afcef5460e92> in <module>()
----> 1 str(1233)
  
TypeError: &#39;str&#39; object is not callable

Jetzt ist das Problem klar definiert str. Nach sorgfältiger Überlegung stellte sich heraus, dass bei der Definition der Variablen str zufällig verwendet wurde, sodass die str-Funktion überschrieben wurde. Es wurden Vorgänge wie die folgenden ausgeführt:

str = &#39;123&#39;

Standard-Str-Funktion wiederherstellen

Starten Sie die Python-Anwendung neu und entfernen Sie den Codeteil, in dem str überschrieben wird.

Zusammenfassung

Es gibt viele in Python integrierte Funktionen und Klassen. Denken Sie beim Definieren von Variablen daran, deren Namen nicht zu überschreiben oder zu wiederholen.

Vielen Dank fürs Lesen, ich hoffe, es kann Ihnen helfen, vielen Dank für Ihre Unterstützung dieser Website!

Ausführlichere Erklärungen und Lösungen für das Problem, dass str in Python nicht aufrufbar ist, finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
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