Peut-on éditer un module Python intégré?


10

J'apprends actuellement Python et je suis au point dans le livre sur l'utilisation de la bibliothèque Math. J'ai regardé le site Web de Python et j'ai remarqué que la bibliothèque était un peu rare et j'écris des fonctions plus utiles. Par exemple, je suis allé de l'avant et j'ai écrit une fonction pour prendre des coefficients et retourner les racines de l'équation. Essentiellement une fonction de formule quadratique. Je me demande s'il est possible d'ajouter ceci à la bibliothèque mathématique python. Si ce n'est pas le cas, comment puis-je l'enregistrer de manière à pouvoir utiliser cette fonction dans d'autres programmes Python que j'écris simplement en l'appelant?


1
Il y a une réponse ci-dessous par Michael0x2a qui couvre les points fins, mais la version simple est: ne faites pas ça. Si je lis votre code et que math.polynomial_roots()je vois un appel , mon interprète deviendra confus. C'est une mauvaise chose.
msw

Réponses:


10

Le module mathématique est un module intégré , donc à court de modifier l'interpréteur Python lui-même, je ne pense pas que vous puissiez le modifier. Cependant, écrire un module est certainement quelque chose que vous pouvez faire.

Si vous structurez vos fichiers comme ceci:

somefolder
    mymath.py
    myprogram.py

... vous pouvez simplement faire à l' import mymathintérieur myprogram.py, et utiliser toutes les fonctions ou classes à l'intérieur mymath.pycomme d'habitude.

Donc, si mymath.pyressemble à ceci:

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

Vous pouvez faire ce qui suit à l'intérieur myprogram.py

import mymath

print mymath.quadratic(1, 2, 3)

Si vous voulez que le module que vous avez écrit soit disponible pour n'importe quel programme, vous pouvez soit le copier-coller dans le dossier de tout projet sur lequel vous travaillez, soit l'ajouter à votre PATH. (Par exemple, vous pouvez inclure mymath.pyà l'intérieur du dossier site-packages, qui se trouve C:\Python27\Lib\site-packagessur mon ordinateur). Une fois que vous avez fait cela, vous devriez pouvoir le faire import mymathsans jamais avoir à copier-coller quoi que ce soit.

En guise de remarque, numpy dispose d'un ensemble assez complet de fonctions liées aux mathématiques et aux sciences que vous pouvez consulter. C'est à peu près la norme de facto pour le calcul numérique en Python, afaik.


1
Exactement la réponse que j'aurais écrite. Python est conçu pour être modifié, littéralement.
joshin4colours
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.