Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Algemeen Python-sleutelwoord

Globaal Python-zoekwoord

In dit artikel leert u over het algemene zoekwoord, de algemene variabele en wanneer u algemene zoekwoorden moet gebruiken.

Voordat je dit artikel leest, moet je ervoor zorgen dat je de basis hebt van de algemene, lokale en niet-lokale variabelen van Python.


Wat is het algemene zoekwoord

In Python, global trefwoord kunt u de variabele buiten het huidige bereik wijzigen. Het wordt gebruikt om een ​​globale variabele te maken en wijzigingen aan te brengen in de variabele in een lokale context.


Regels voor algemeen zoekwoord

De basisregels voor global trefwoord in Python zijn:

  • Als we een variabele binnen een functie maken, is deze standaard lokaal.
  • Als we een variabele buiten een functie definiëren, is deze standaard globaal. U hoeft global niet te gebruiken zoekwoord.
  • We gebruiken global trefwoord om een ​​globale variabele in een functie te lezen en te schrijven.
  • Gebruik van global zoekwoord buiten een functie heeft geen effect.

Gebruik van algemeen zoekwoord

Laten we een voorbeeld nemen.

Voorbeeld 1:Toegang tot globale variabele vanuit een functie

c = 1 # global variable

def add():
    print(c)

add()

Wanneer we het bovenstaande programma uitvoeren, is de uitvoer:

1

We kunnen echter enkele scenario's hebben waarin we de globale variabele vanuit een functie moeten wijzigen.


Voorbeeld 2:Globale variabele wijzigen vanuit de functie

c = 1 # global variable
    
def add():
    c = c + 2 # increment c by 2
    print(c)

add()

Wanneer we het bovenstaande programma uitvoeren, toont de uitvoer een fout:

UnboundLocalError: local variable 'c' referenced before assignment

Dit komt omdat we alleen toegang hebben tot de globale variabele, maar deze niet kunnen wijzigen vanuit de functie.

De oplossing hiervoor is om de global . te gebruiken zoekwoord.


Voorbeeld 3:Globale variabele wijzigen vanuit een functie met behulp van global

c = 0 # global variable

def add():
    global c
    c = c + 2 # increment by 2
    print("Inside add():", c)

add()
print("In main:", c)

Wanneer we het bovenstaande programma uitvoeren, is de uitvoer:

Inside add(): 2
In main: 2

In het bovenstaande programma definiëren we c als een algemeen zoekwoord binnen de add() functie.

Vervolgens verhogen we de variabele c door 2 , d.w.z. c = c + 2 . Daarna noemen we de add() functie. Ten slotte printen we de globale variabele c .

Zoals we kunnen zien, vond er ook verandering plaats op de globale variabele buiten de functie, c = 2 .


Globale variabelen in Python-modules

In Python maken we een enkele module config.py om globale variabelen te bewaren en informatie te delen tussen Python-modules binnen hetzelfde programma.

Hier is hoe we globale variabelen kunnen delen over de python-modules.

Voorbeeld 4:Deel een globale variabele over Python-modules

Maak een config.py bestand, om globale variabelen op te slaan

a = 0
b = "empty"

Maak een update.py bestand, om globale variabelen te wijzigen

import config

config.a = 10
config.b = "alphabet"

Maak een main.py bestand, om veranderingen in waarde te testen

import config
import update

print(config.a)
print(config.b)

Wanneer we de main.py . uitvoeren bestand, is de uitvoer

10
alphabet

In het bovenstaande hebben we drie bestanden gemaakt:config.py , update.py , en main.py .

De module config.py slaat globale variabelen op van a en b . In de update.py bestand, importeren we de config.py module en wijzig de waarden van a en b . Evenzo, in de main.py bestand importeren we beide config.py en update.py module. Ten slotte printen en testen we de waarden van globale variabelen, of ze nu gewijzigd zijn of niet.


Globaal in geneste functies

Hier ziet u hoe u een globale variabele in een geneste functie kunt gebruiken.

Voorbeeld 5:Een globale variabele gebruiken in geneste functie

def foo():
    x = 20

    def bar():
        global x
        x = 25
    
    print("Before calling bar: ", x)
    print("Calling bar now")
    bar()
    print("After calling bar: ", x)

foo()
print("x in main: ", x)

De uitvoer is:

Before calling bar: 20
Calling bar now
After calling bar: 20
x in main: 25

In het bovenstaande programma hebben we een globale variabele gedeclareerd in de geneste functie bar() . Binnen foo() functie, x heeft geen effect op het algemene zoekwoord.

Voor en na het bellen met bar() , de variabele x neemt de waarde van de lokale variabele, d.w.z. x = 20 . Buiten de foo() functie, de variabele x zal de waarde aannemen die is gedefinieerd in de bar() functie d.w.z. x = 25 . Dit komt omdat we global . hebben gebruikt zoekwoord in x om een ​​globale variabele te creëren binnen de bar() functie (lokale scope).

Als we wijzigingen aanbrengen in de bar() functie, verschijnen de wijzigingen buiten het lokale bereik, d.w.z. foo() .


Python

  1. Python-gegevenstypen
  2. Python-operators
  3. Python pass-instructie
  4. Python-functieargumenten
  5. Python globale, lokale en niet-lokale variabelen
  6. Python-woordenboek
  7. Python-iterators
  8. Python-sluitingen
  9. Python datetime
  10. Python - Overzicht
  11. Python - Variabele Types