È possibile modificare un modulo Python integrato?

9

Attualmente sto imparando Python e sono al punto nel libro sull'utilizzo della libreria Math. Ho guardato il sito Web Python e ho notato che la libreria era un po 'scarsa e sto scrivendo alcune funzioni più utili. Ad esempio, sono andato avanti e ho scritto una funzione per prendere i coefficienti e restituire le radici dell'equazione. Essenzialmente una funzione di formula quadratica. Mi chiedo se sia possibile aggiungerlo alla libreria Math python. Se non lo è, come faccio a salvarlo in modo tale che io possa usare quella funzione in altri programmi Python che scrivo solo chiamandolo?

    
posta qzxt 01.08.2012 - 19:47
fonte

1 risposta

10

Il modulo matematico è un integrato , quindi non è in grado di modificare l'interprete Python stesso, non lo faccio Penso che tu possa modificarlo. Tuttavia, scrivere un modulo è sicuramente qualcosa che puoi fare.

Se strutturi i tuoi file in questo modo:

somefolder
    mymath.py
    myprogram.py

... potresti semplicemente fare import mymath all'interno di myprogram.py , e usare qualsiasi funzione o classe all'interno di mymath.py come normale.

Quindi se mymath.py assomiglia a questo:

def quadratic(a, b, c):
    # blah blah blah

Potresti fare il seguente all'interno di myprogram.py

import mymath

print mymath.quadratic(1, 2, 3)

Se desideri che il modulo che hai scritto sia disponibile per qualsiasi programma, puoi copiarlo e incollarlo nella cartella di qualsiasi progetto su cui stai lavorando o aggiungerlo al tuo PERCORSO. (Ad esempio, potresti includere mymath.py nella cartella dei pacchetti del sito, che si trova in C:\Python27\Lib\site-packages sul mio computer). Una volta fatto ciò, dovresti essere in grado di fare import mymath senza dover copiare e incollare nulla.

Come nota a margine, numpy ha una serie piuttosto completa di funzioni matematiche e scientifiche che è possibile verificare. È praticamente lo standard de facto per il calcolo numerico in Python, afaik.

    
risposta data 01.08.2012 - 20:35
fonte

Leggi altre domande sui tag