Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in das Testen des __name__-Werts in Python

Detaillierte Einführung in das Testen des __name__-Werts in Python

高洛峰
高洛峰Original
2017-03-19 14:01:481665Durchsuche

In diesem Artikel werden hauptsächlich die Details zum Testen des __ name__-Werts in Python vorgestellt

Der im Test verwendete Code lautet wie folgt:

#test_name0.py
def test():
    return name

print name
print test()
import test_name1
test_name1.test()
#test_name1.py
def test():
    print name
    
print name

in Das Ausführungsbefehl und Ergebnis im Python Top-Level-Interpreter lauten wie folgt:

In [1]: type(name)
Out[1]: str
In [2]: print name
Out[2]: main
In [3]: import test_name0
test_name0
test_name0
test_name1
test_name1

Führen Sie python test_name0.py in cmd aus, das Ergebnis ist wie folgt:

main
main
test_name1
test_name1

Es ist daraus ersichtlich:

(1) Im Python-Top-Level-Interpreter oder einem direkt ausgeführten Skript name=='main'

(2) Im aufrufenden Modul name==module<code>name==<a href="http://www.php.cn/code/8212.html" target="_blank">module</a> name name

(3) Wenn eine unerwartete Situation gefunden wird , es läufttest_name0.py Skript und dann import test_name0, oder import test_name0 und führt dann das Skript von test_name0.py aus, das Ergebnis ist

test_name0
test_name0
test_name1

oder

main
main
test_name1

statt

test_name0
test_name0
test_name1
test_name1

oder

main
main
test_name1
test_name1

organisierte die Kernpunkte des Problems und stellte die Frage zu Segmentfehlern, um den Grund für dieses Problem zu verstehen.
Das heißt: Das Python-Modul verfügt über einen Cache. Wenn Sie es einmal importieren und dann erneut importieren, wird der Code im oberen Bereich des Moduls nicht erneut ausgeführt.

(4) Die Testfunktion in den beiden Modulen test_name0 und test_name1 hat den gleichen Namen. Dies ist kein Problem, da die beiden Testfunktionen unterschieden werden können, da die Modulnamen unterschiedlich sind. , aber vermeiden Sie doppelte Namen von Modulen.

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in das Testen des __name__-Werts in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen 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