ASIX-M3-UF2-A2
De wikiserver
La revisió el 10:50, 6 abr 2021 per Rsort (Discussió | contribucions) (Es crea la pàgina amb «==Paquets== :* S'utilitza per organitzar els mòduls. :* Pot contenir mòduls i altres paquets. :* Per tractar un directori com a paquet cal que contingui el fitxer _...».)
Paquets
- S'utilitza per organitzar els mòduls.
- Pot contenir mòduls i altres paquets.
- Per tractar un directori com a paquet cal que contingui el fitxer __init.py__
- __init.py__ pot:
- estar buit.
- contenir codi d'inicialització del paquet.
- contenir el conjunt de variables __ALL__.
jocCombat / |-__init__.py |-regles / |-__init__.py |-monedes.py |-lluitador.py |-bestiari.py |-combat.py |-interficie / |-__init__.py |-entradaTeclat.py |-sortidaPantalla.py
- Es poden importar submòduls individualment:
>>>import jocCombat.regles.lluitador # Càrrega el mòdul lluitador
>>>jocCombat.regles.lluitador.danyar(lluitador, 2) # Cal fer referència al nom complert
- Es pot importar el submòul:
>>>from jocCombat.regles import lluitador # Càrrega el mòdul lluitador
>>>lluitador.danyar(lluitador, 2) # No cal utilitzar el prefix del paquet
- Es poden només les funcions que necessitem:
- Es pot importar el submòul:
>>>from jocCombat.regles.lluitador import danyar # Càrrega la funció lluitador
>>>danyar(lluitador, 2) # Utilitzem directament la funció
- La forma from jocCombat import * importaria tots els submòduls:
- En general, no és recomanable.
- Pot ser massa lent.
- Pot tenir efectes no desitjats.
- Es pot definir una llista anomenada __all__ amb els mòduls que s'importaran quan s'utilitzi import *-
- Per exemple, si l'arxiu jocCombat/regles/__init__.py conté el codi:
__all__ = ["llluitador", "bestiari"]
- Aleshores:
>>>from jocCombat.regles import * # només s'importaran els mòduls de la llista __all__