ASIX-M3-UF2-A2

De wikiserver
Dreceres ràpides: navegació, cerca

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__