Latest web development tutorials

Python-Module

Modul ermöglicht es Ihnen, logisch Ihr Python-Code zu organisieren.

den entsprechenden Code in ein Modul zuweisen, um Ihren Code einfacher zu bedienen, verständlicher.

Python-Module sind Objekte mit zufälligen Namen Attribut verwendet wird, zu binden oder Referenz.

Einfach ausgedrückt, ist das Modul ein Python-Code, um die Datei zu speichern. Die Module können Funktionen, Klassen und Variablen definieren. Module können ausführbaren Code enthalten.

Beispiel

Genannt aname Modul in Python-Code kann im allgemeinen in einer Datei namens aname.py gefunden werden. Das folgende Beispiel ist ein einfaches Modul support.py.

def print_func( par ):
   print "Hello : ", par
   return


Import-Anweisung

Wollen Sie Python-Source-Datei zu verwenden, einfach eine andere Import-Anweisung in der Quelldatei ausführen, ist die Syntax wie folgt:

import module1[, module2[,... moduleN]

Wenn der Dolmetscher trifft auf die Import-Anweisung, wenn das Modul im aktuellen Suchpfad nicht importiert werden.

Der Suchpfad ist ein Dolmetscher wird zunächst eine Liste aller Verzeichnisse zu suchen. Wie Sie Modul support.py importieren möchten, müssen Sie den Befehl an den Anfang des Skripts zu setzen:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 导入模块
import support
 
# 现在可以调用模块里包含的函数了
support.print_func("Zara")

Beispiele für die obigen Ausgangs:

Hello : Zara

Ein Modul wird nur einmal importiert werden, egal wie viele Male Sie Import auszuführen. Dies verhindert das Importmodul wird ausgeführt, immer und immer wieder.



Von ... import-Anweisung

Python ermöglicht es Ihnen, aus dem Modul in den aktuellen Namensraum eine Erklärung von einem bestimmten Teil zu importieren. Die Syntax lautet wie folgt:

from modname import name1[, name2[, ... nameN]]

Um zum Beispiel das Modul fib Fibonacci-Funktion zu importieren, verwenden Sie die folgende Erklärung ab:

from fib import fibonacci

Diese Aussage nicht das gesamte Modul in den aktuellen Namensraum fib, wird es nur Lane Fibonacci in einem einzigen globalen Symboltabelle Umsetzung dieser Erklärung Modul eingeführt fib.



Von ... import * Erklärung

Alle Inhalte eines Moduls sind alle in den aktuellen Namensraum möglich sind, einfach die folgende Anweisung:

from modname import *

Dies bietet eine einfache Möglichkeit, ein Modul in allen Projekten zu importieren. Allerdings sollte diese Aussage nicht zu viel zu verwenden.



Positionierungsmodul

Wenn Sie ein Modul zu importieren, ist Suchauftrag Python-Parser Modulposition:

  • Aktuelles Verzeichnis
  • Wenn nicht im aktuellen Verzeichnis, Python wird jedes Verzeichnis in der Shell-Variablen PYTHONPATH suchen.
  • Wenn Sie nicht finden können, werden Python auf dem Standardpfad zu suchen. Unter UNIX ist der Standardpfad in der Regel / usr / local / lib / python /.

Modulsuchpfad in sys.path variablen Systemmodule gespeichert. Variable enthält das aktuelle Verzeichnis, PYTHONPATH und das Standardinstallationsverzeichnis von der Entscheidungsprozess.



Variable PYTHONPATH

Als Umgebungsvariable PYTHONPATH durch die in einer Liste montiert vieler der Verzeichnisse. PYTHONPATH Shell-Variable PATH Syntax und die gleichen.

Auf Windows-Systemen wie folgt die typische PYTHONPATH:

set PYTHONPATH=c:\python20\lib;

Auf UNIX-Systemen wie folgt die typische PYTHONPATH:

set PYTHONPATH=/usr/local/lib/python


Namensräume und Bereiche

Variable ist der Name des Objekts hat einen passenden (Identifier). Namespace ist eine Variable, die den Namen ihres (key) enthält und ihre jeweiligen Objekte (Wert) von Wörterbüchern.

Ein Ausdruck Python können lokale und globale Namespace Namespace Variable zugreifen. Wenn eine lokale Variable mit dem gleichen Namen wie eine globale Variable, wird die lokale Variable die globale Variable außer Kraft setzen.

Jede Funktion hat einen eigenen Namensraum. Scope-Regeln als Klassenmethoden und Funktionen, die normalerweise.

Python intelligent eine Variable ist lokal oder global erraten, wird davon ausgegangen, dass jede Variable innerhalb einer Funktionszuordnung lokal ist.

Deshalb, wenn Sie eine globale Variablenzuweisungen in einer Funktion geben, müssen Sie die globale Anweisung verwenden.

globale VarName Ausdruck sagt Python, VarName eine globale Variable ist, so Python nicht über diese Variable im lokalen Namensraum finden.

Zum Beispiel definieren wir eine Variable Geld in den globalen Namespace. Wir haben dann innerhalb der Funktion auf die Variable Geld zugewiesen, dann wird Python davon ausgehen, dass Geld eine lokale Variable ist. Wir haben jedoch nicht eine lokale Variable deklarieren, bevor das Geld zugreifen, ist das Ergebnis, dass es einen UnboundLocalError Fehler. Stornierung globale Aussage Kommentare können dieses Problem lösen.

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
Money = 2000
def AddMoney():
   # 想改正代码就取消以下注释:
   # global Money
   Money = Money + 1
 
print Money
AddMoney()
print Money


dir () Funktion

dir () Funktion ist eine Liste von Strings gute Sequenz Zeile, deren Inhalt ein Modul definiert Name ist.

Gibt eine Liste aller Module aufzunehmen, Variablen und Funktionen in einem Modul definiert. Ein einfaches Beispiel ist wie folgt:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 导入内置math模块
import math
 
content = dir(math)
 
print content;

Beispiele für die obigen Ausgangs:

['__doc__', '__file__', '__name__', 'acos', 'asin', 'atan', 
'atan2', 'ceil', 'cos', 'cosh', 'degrees', 'e', 'exp', 
'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp', 'log',
'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 
'sqrt', 'tan', 'tanh']

Hier spezielle String-Variable __name__ Punktname des Moduls __ FILE__ auf Importieren Dateiname des Moduls.



Globals () und Einheimische () Funktion

Je nach Ortsgespräche, Globals () und Einheimische () Funktion kann verwendet werden, um die globalen und lokalen Namespace-Namen zurück.

Wenn man die Einheimischen in der Funktion () aufrufen, können kehrt alle Zugriff auf die Funktionen im Namen.

Wenn Sie Globals () innerhalb der Funktion gibt alle Funktionsnamen in der globalen Energiezugang nennen.

Beide Funktionen geben Typ das Wörterbuch. So ist der Name, den wir verwenden Tasten () Funktion Entfernung.



reload () Funktion

Wenn ein Modul in ein Skriptmoduloberteil des Codes eingeführt wird nur einmal ausgeführt.

Also, wenn Sie das Modul in den oberen Teil des Codes erneut ausführen möchten, können Sie den Reload () Funktion verwenden. Diese Funktion wird vor dem importierten Modul wieder importiert werden. Die Syntax lautet wie folgt:

reload(module_name)

Hier zu module_name Namen des Moduls platziert werden direkt, anstelle einer Zeichenfolge. Zum Beispiel wollen Sie die hallo-Modul außer Kraft zu setzen, wie folgt:

reload(hello)


Python Packs

Paket ist eine hierarchische Verzeichnisstruktur, die eine untergeordnete Paket von den Modulen und Sub-Pakete und Unterpakete unter anderen Komponenten der Python-Anwendungsumgebung definiert.

Betrachten wir eine pots.py Datei im Telefonverzeichnis. Diese Datei hat die folgenden Quelltext:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
def Pots():
   print "I'm Pots Phone"
   

In ähnlicher Weise haben wir zwei verschiedene Funktionen, um die Datei zu speichern:

  • Telefon / Isdn.py enthält Funktion ISDN- ()
  • Telefon / G3.py enthält Funktion G3 ()

Erstellen Sie nun eine Datei __init__.py in Telefonbuch:

  • Telefon / __ init__.py

Wenn Sie das Telefon importieren zu können, alle Funktionen müssen Sie verwenden, um eine explizite Import-Anweisungen in __init__.py Jahren zu verwenden, wie folgt:

from Pots import Pots
from Isdn import Isdn
from G3 import G3

Wenn Sie den Code zu __init__.py, importierte Telefon Paket hinzufügen, wenn diese Klassen auf der alle zur Verfügung.

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 导入 Phone 包
import Phone
 
Phone.Pots()
Phone.Isdn()
Phone.G3()

Beispiele für die obigen Ausgangs:

I'm Pots Phone
I'm 3G Phone
I'm ISDN Phone

Wie, zum Beispiel, haben wir nur eine Funktion in jeder Datei, sondern in der Tat kann man viele Funktionen setzen. Sie können auch eine Python-Klasse in diesen Dateien zu definieren, und dann ein Paket für diese Klassen bauen.