Python - Comment enregistrer des fonctions
Im de départ en python. J'ai quatre fonctions et de travail sont OK. Ce que je veux faire est de les sauver. J'ai envie de les appeler à chaque fois que je veux en python.
Voici le code de mes quatre fonctions:
import numpy as ui
def simulate_prizedoor(nsim):
sim=ui.random.choice(3,nsim)
return sims
def simulate_guess(nsim):
guesses=ui.random.choice(3,nsim)
return guesses
def goat_door(prizedoors, guesses):
result = ui.random.randint(0, 3, prizedoors.size)
while True:
bad = (result == prizedoors) | (result == guesses)
if not bad.any():
return result
result[bad] = ui.random.randint(0, 3, bad.sum())
def switch_guesses(guesses, goatdoors):
result = ui.random.randint(0, 3, guesses.size)
while True:
bad = (result == guesses) | (result == goatdoors)
if not bad.any():
return result
result[bad] = ui.random.randint(0, 3, bad.sum())
- Décrire
I want to call them whenever I want in python.
. - Vous pouvez déjà utiliser quand vous le voulez
- Même si je ferme ma session?
- - Je faire de ces fonctions dans la ligne de commande. Je veux utiliser les fonctions chaque fois que j'ouvre la ligne de commande.
- Les enregistrer dans un fichier et placez le fichier quelque part dans le PYTHONPATH et importer ce module.
Vous devez vous connecter pour publier un commentaire.
Ce que vous voulez faire est de prendre votre fichier Python, et l'utiliser comme un module ou un bibliothèque.
Il n'y a pas moyen de faire de ces quatre fonctions automatiquement disponible, n'importe quoi, 100% pour cent du temps, mais vous pouvez faire quelque chose de très proche.
Par exemple, en haut de votre fichier, vous avez importé
numpy
.numpy
est un module ou d'une bibliothèque qui a été mis en place de sorte qu'il est disponible à tout moment vous exécuter python, aussi longtemps que vous importation il.Vous voulez faire la même chose -- enregistrer ces 4 fonctions dans un fichier, et de les importer à chaque fois que vous le souhaitez.
Par exemple, si vous copiez et collez ces quatre fonctions dans un fichier nommé
foobar.py
, alors vous pouvez simplement fairefrom foobar import *
. Toutefois, cela ne fonctionnera que si vous êtes en cours d'exécution Python dans le même dossier où vous avez enregistré votre code.Si vous voulez faire de votre module disponible à l'échelle du système, vous devez l'enregistrer quelque part sur le PYTHONPATH. Généralement, l'enregistrement dans
C:\Python27\Lib\site-packages
travailler (en supposant que vous êtes sous Windows).Si vous décidez de les mettre n'importe où dans votre dossier de projet, n'oubliez pas de créer un vide init.py fichier afin de python, il est possible de les voir. Une meilleure solution peut être fourni ici : http://docs.python.org/2/tutorial/modules.html
De les enregistrer dans un fichier, ce qui les rend un module.
Si vous les mettez dans un fichier appelé mymod.py en python, vous pouvez les charger comme suit
Solution rapide, sans avoir à créer explicitement un fichier - repose sur l'IPython et ses storemagic
Une fois que vous aviez stocké à toutes vos fonctions une fois seulement, puis vous pouvez les restaurer tous avec
store -r
, puisexec func
une fois pour chaque fonction, dans chaque nouvelle session.(Suis tombé sur cette question, en cherchant une solution pour "la sauvegarde rapide" des fonctions (le plus pratique), tandis que dans un cours interactif de python session - ajout de ma meilleure solution actuelle pour les futurs lecteurs)