Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einleitung
2 Überblick über Python
3 Die Arbeit mit Python
4 Der interaktive Modus
5 Grundlegendes zu Python-Programmen
6 Kontrollstrukturen
7 Das Laufzeitmodell
8 Basisdatentypen
9 Benutzerinteraktion und Dateizugriff
10 Funktionen
11 Modularisierung
12 Objektorientierung
13 Weitere Spracheigenschaften
14 Mathematik
15 Strings
16 Datum und Zeit
17 Schnittstelle zum Betriebssystem
18 Parallele Programmierung
19 Datenspeicherung
20 Netzwerkkommunikation
21 Debugging
22 Distribution von Python-Projekten
23 Optimierung
24 Grafische Benutzeroberflächen
25 Python als serverseitige Programmiersprache im WWW mit Django
26 Anbindung an andere Programmiersprachen
27 Insiderwissen
28 Zukunft von Python
A Anhang
Stichwort

Download:
- ZIP, ca. 4,8 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Python von Peter Kaiser, Johannes Ernesti
Das umfassende Handbuch - Aktuell zu Python 2.5
Buch: Python

Python
gebunden, mit CD
819 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1110-9
Pfeil 10 Funktionen
  Pfeil 10.1 Schreiben einer Funktion
  Pfeil 10.2 Funktionsparameter
    Pfeil 10.2.1 Optionale Parameter
    Pfeil 10.2.2 Schlüsselwortparameter
    Pfeil 10.2.3 Beliebige Anzahl von Parametern
    Pfeil 10.2.4 Seiteneffekte
  Pfeil 10.3 Zugriff auf globale Variablen
  Pfeil 10.4 Lokale Funktionen
  Pfeil 10.5 Anonyme Funktionen
  Pfeil 10.6 Rekursion
  Pfeil 10.7 Vordefinierte Funktionen


Galileo Computing - Zum Seitenanfang

10.3 Zugriff auf globale Variablen  topZur vorigen Überschrift

Bisher wurde ein Funktionskörper als abgekapselter Bereich betrachtet, der ausschließlich über Parameter bzw. den Rückgabewert Informationen mit dem Hauptprogramm austauschen kann. Das ist zunächst auch gar keine schlechte Sichtweise, denn so hält man seine Schnittstelle »sauber«.

Zunächst einmal müssen zwei Begriffe unterschieden werden. Wenn wir uns im Kontext einer Funktion, also im Funktionskörper befinden, dann können dort selbstverständlich Referenzen und Instanzen erzeugt und verwendet werden. Diese haben jedoch nur unmittelbar in der Funktion selbst Gültigkeit. Sie existieren im sogenannten lokalen Namensraum. Im Gegensatz dazu existieren Referenzen des Hauptprogramms im globalen Namensraum. Begrifflich wird auch zwischen globalen Referenzen und lokalen Referenzen unterschieden. Dazu folgendes Beispiel:

def f(): 
    a = "lokaler String" 
b = "globaler String"

Wie stark zwischen globalem und lokalem Namensraum unterschieden wird, zeigt das folgende Beispiel:

def f(a): 
    print a 
 
a = 10 
f(100)

In diesem Beispiel existiert sowohl im globalen als auch im lokalen Namensraum eine Referenz namens a. Im globalen Namensraum referenziert sie die ganze Zahl 10 und im lokalen Namensraum der Funktion den übergebenen Parameter, in diesem Fall die ganze Zahl 100. Es ist wichtig zu verstehen, dass diese beiden Referenzen nichts miteinander zu tun haben, da sie in verschiedenen Namensräumen existieren.

Im lokalen Namensraum des Funktionskörpers kann jederzeit lesend auf eine globale Referenz zugegriffen werden, solange keine lokale Referenz gleichen Namens existiert:

def f(): 
    print s 
 
s = "globaler String" 
f()

Sobald versucht wird, schreibend auf eine globale Referenz zuzugreifen, wird stattdessen eine entsprechende lokale Referenz erzeugt:

def f(): 
    s = "lokaler String" 
    print s 
 
s = "globaler String" 
f() 
print s

Die Ausgabe dieses Beispiels lautet:

lokaler String 
globaler String

Eine Funktion kann dennoch, mithilfe der global-Anweisung, schreibend auf eine globale Referenz zugreifen. Dazu muss im Funktionskörper das Schlüsselwort global, gefolgt von einer oder mehreren globalen Referenzen, geschrieben werden:

def f(): 
    global s 
    s = "lokaler String" 
    print s 
 
s = "globaler String" 
f() 
print s

Die Ausgabe des Beispiels lautet:

lokaler String 
lokaler String

Im Funktionskörper von f wird s explizit als globale Referenz gekennzeichnet und kann fortan als solche verwendet werden.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  
  Zum Katalog
Zum Katalog: Python






Python
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Linux






 Linux


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


Zum Katalog: Praxisbuch Web 2.0






 Praxisbuch Web 2.0


Zum Katalog: UML 2.0






 UML 2.0


Zum Katalog: Praxisbuch Objektorientierung






 Praxisbuch Objektorientierung


Zum Katalog: Einstieg in SQL






 Einstieg in SQL


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für Fachinformatiker


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de