diff --git a/Python-moduler.md b/Python-moduler.md index 908a752..a5b90da 100644 --- a/Python-moduler.md +++ b/Python-moduler.md @@ -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: \ No newline at end of file