Update Python moduler

2025-03-20 08:31:23 +01:00
parent dd8f40d5e9
commit 483c04fa2a

@@ -35,14 +35,55 @@ Vi kan vælge enten at importere hele modulet (alt er tilgængeligt) eller kun a
Hvis vi vil importere hele modulet, gøres det sådan.
```python
import time
...
if __name__ = "__main__":
time.sleep(1) # Kald funktionel sleep(), fra modulet 'time'. Vent 1 sekund.
print("Tiden er gået!")
```
På denne måde er alle klasser og kunktioner tilgængelig for dit program.
Hvis du kun skal bruge noget af modulets funktionalitet, gøres det bedst, sådan her.
```python
from time import sleep
...
if __name__ = "__main__":
sleep(1) # Kald funktionel sleep(). Vent 1 sekund.
print("Tiden er gået!")
```
Nu er det kun **sleep()** funktionen vi har adgang til.
Nu er det kun **sleep()** funktionen vi har adgang til. Og da vi allerede har fortalt, hvor funktionen kommer fra, kan vi kalde den uden brug af dot-notation (time.sleep()).
## Modul alias
Ligeledes kan man give moduler alias navne, i Python. Dette gøres på denne måde. [moduler/json1.py](
```python
import json as JS
if __name__ == "__main__":
file = open("data.json", "r") # Vi åbner filen "data.json"
data = JS.load(file) # Vi behandler filens indhold som json data
file.close() # Vi lukker filen, efter brug, for at undgå memory leaks (bugs)
print(data) # Vi printer json data.
```
```console
> python main.py
{'person': [{'navn': 'Shubham', 'email': 'ksingh.shubh@gmail.com', 'job_profil': 'intern'}, {'navn': 'Gaurav', 'email': 'gaurav.singh@gmail.com', 'job_profil': 'developer'}, {'navn': 'Nikhil', 'email': 'nikhil@geeksforgeeks.org', 'job_profil': 'Full Time'}]}
>
```
Dette bringer os til en anden vigtig ting. Når man åbner en fil, skal man huske at lukke den igen. Ellers risikerer man at filen bliver ødelegt, eller man introducerer bugs.
Dette åbne/lukke system har Python allerede en løsning på. Dette kaldes **context manager** og bruges sådan her.
```python
import json as JS # Vi opretter en konstant, ved navn **JS** med værdien *json*.
if __name__ = "__main__":
with open("data.json", "r") as file: # Dette er 'context manager' - Når vi forlader 'with'-blokken, lukkes filen (open() - close()) automatisk.
data = JS.load(file)
# Når programmet når hertil, er filen lukket igen!
print(data)
```
```console
> python main.py
{'person': [{'navn': 'Shubham', 'email': 'ksingh.shubh@gmail.com', 'job_profil': 'intern'}, {'navn': 'Gaurav', 'email': 'gaurav.singh@gmail.com', 'job_profil': 'developer'}, {'navn': 'Nikhil', 'email': 'nikhil@geeksforgeeks.org', 'job_profil': 'Full Time'}]}
>
```
Vi ved nu det grundlæggende omkring moduler:smiley: