Si può modificare un modulo Python integrato?


10

Attualmente sto imparando Python e sono nel punto del libro sull'uso della biblioteca di matematica. Ho guardato sul sito web di 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 aggiungere questo alla libreria matematica di Python. In caso contrario, come posso salvarlo in modo tale da poter utilizzare quella funzione in altri programmi Python che scrivo semplicemente chiamandolo?


1
Di seguito c'è una risposta di Michael0x2a che copre i punti positivi, ma la versione semplice è: non farlo. Se sto leggendo il tuo codice e vedo una chiamata math.polynomial_roots()e il mio interprete si confonderà. È una brutta cosa.
msw

Risposte:


10

Il modulo per la matematica è un incorporato , così a corto di modificare l'interprete Python in sé, non credo che è possibile 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 mymathdentro myprogram.pye usare qualsiasi funzione o classe all'interno mymath.pycome al solito.

Quindi, se si mymath.pypresenta così:

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

Potresti fare il seguito dentro 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.pyall'interno della cartella dei pacchetti del sito, che si trova in C:\Python27\Lib\site-packagessul mio computer). Una volta fatto ciò, dovresti essere in grado di farlo import mymathsenza 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 di fatto per il calcolo numerico in Python, afaik.


1
Esattamente la risposta che avrei scritto. Python è progettato per essere modificato, letteralmente.
joshin4colours,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.