Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen Python-Modulen und -Klassen

Der Unterschied zwischen Python-Modulen und -Klassen

(*-*)浩
(*-*)浩Original
2019-06-28 15:46:343548Durchsuche

In Python können Klassen Namespaces unterhalb der Modulebene bereitstellen.

Der Unterschied zwischen Python-Modulen und -Klassen

Wenn ein Modul viele Funktionen schreibt und einige Funktionen gemeinsam eine Reihe von Funktionen vervollständigen, sieht die Verwendung von Klassen klarer aus und ist besser, wenn die ID-Vervollständigung einen kleineren Bereich hat von begrenzten Eingabeaufforderungen. (Empfohlenes Lernen: Python-Video-Tutorial)

Klasse bietet Vererbung, Kombination, mehrere Instanzen, Anpassung durch Vererbung, Operatorüberladung (d. h. die doppelte Unterstreichungsmethode __del__ __call__ __str__ __iter__ der Klasse. .......).

Sowohl Klassen als auch Module können Namespace-Bäume erstellen. Die Funktionen in Modulen werden als Funktionen bezeichnet, und die Funktionen in Klassen werden im Allgemeinen als Methoden bezeichnet.

Die Methoden von Modulen in Python können wie Klassen auch vererbt und angepasst werden.

Unten sind zwei Dateien.

modulea.py

# coding=utf8

x = 1

def fun1():
    print 'modulea',x

def fun2():
    print 'modulea',x*2

moduleb.py

# coding=utf8

import modulea

print modulea.__dict__
modulea.fun1()
modulea.fun2()

def fun1():
    print 'moduleb',modulea.x*10

modulea.x = 11
modulea.fun1 = fun1

print '替换后'


modulea.fun1()
modulea.fun2()

moduleas fun1-Funktion wurde geändert, ähnlich wie bei der Klassenvererbung.

Weitere technische Artikel zum Thema Python finden Sie in der Spalte Python-Tutorial, um mehr darüber zu erfahren!

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen Python-Modulen und -Klassen. 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