SVG 05 - Modules¶
Modules¶
Tot nu toe hebben we o.a. de volgende functies gezien: print(), input(), int(), str(), type(), open(). Dit
noemt men “built-in” (ingebouwde) functies: Dit zijn functies die je altijd onmiddellijk ter beschikking
hebt in Python. In het totaal zijn er zo ongeveer 70 functies standaard beschikbaar in Python.
Hier vind je de lijst met ingebouwde functies: https://docs.python.org/3.8/library/functions.html
Buiten deze ingebouwde functies bevat Python ook veel extra functionaliteit in wat men de “standard library” noemt. Deze “standard library” bestaat uit vele modules met hierin o.a. vele functies die je kan gebruiken. Om vanuit je programma die functies te kunnen gebruiken dien je de gewenste module eerste te importeren met het import statement:
import getpass
gebruikersnaam = getpass.getuser()
print(gebruikersnaam)
Hoe werkt dit?¶
Regel 1
De module met naam getpass wordt bruikbaar gemaakt vanuit je programma.
Regel 2
De functie getuser() in de module getpass wordt opgeroepen. Deze functie geeft de huidige
gebruikersnaam terug. Deze wordt nadien opgeslagen via het assignment statement in de variabele met
naam “gebruikersnaam”.
Regel 3
De variabele met naam “gebruikersnaam” wordt op het scherm getoond.
Opgave 21¶
In opgave 20 vragen de gebruiker om zijn/haar paswoord in te geven, via de input() functie. Maar dit
werkt niet handig omdat input() de invoer toont terwijl je typt. In de module getpass zit ook een
functie getpass() die hier een oplossing voor biedt. Pas je programma aan zodanig dat je paswoord
niet meer zichtbaar is, gebruik makend van deze getpass() functie.
Opgave 22¶
Een andere nuttige module in de standard library is de random module. In de random module zit o.a.
de functie randint(). Deze functie geeft je een willekeurig getal terug tussen twee opgegeven getallen.
Dus, bij een oproep van randint(0, 1), krijg je ofwel 0 ofwel 1 terug. Als je randint(0, 100) gebruikt, krijg 1
getal in het interval [0, 100]. Dus, je getal kan 0, 1, …, 99 of 100 zijn.
Schrijf een programma dat een willekeurige PIN-code voor je GSM maakt.
Opgave 23¶
Pas je programma uit opgave 19 aan, zodanig dat de straal van je cirkels willekeurig gekozen wordt,
gebruik makend van de functie randint() uit de module random.
Pas vervolgens je programma aan zodanig dat de uitvoer niet meer op het scherm getoond wordt, maar
naar een bestand geschreven wordt met behulp van de open() functie (alsook write() en close() zoals in
het voorbeeld).
Opgave 24¶
In de module random zit verder ook een functie choice() die een willekeurige keuze maakt uit een
gegeven verzameling.
Bijvoorbeeld:
a = random.choice([10, 20, 30, 40])
print(a)
Uitvoer:
30
Maar dit werkt ook voor strings:
a = random.choice("abcdefghij")
print(a)
Uitvoer:
j
Maak een programma dat de gebruiker vraagt om een bestandsnaam, dit bestand opent, en er vervolgens een paswoord in schrijft bestaande uit 8 willekeurige letters.
Opgave 25¶
Pas je programma uit opgave 23 aan, zodanig dat de kleur van je cirkels willekeurig gekozen wordt,
gebruik makend van de functie choice() uit de module random.
Tip:
kleur = random.choice(["red", "green", "blue", "purple", "black"])
print(kleur)
Uitvoer:
green