Чи можна редагувати вбудований модуль Python?


10

В даний час я вивчаю Python, і я перебуваю в точці книги про використання бібліотеки Math. Я заглянув на веб-сайт Python і помітив, що бібліотека трохи дефіцитна і я записую ще кілька корисних функцій. Наприклад, я пішов вперед і написав функцію взяти коефіцієнти і повернути корені рівняння. По суті, квадратична формула. Мені цікаво, чи можна додати це до бібліотеки python Math. Якщо це не так, як я можу його зберегти таким чином, щоб я міг використовувати цю функцію в інших програмах Python, які я пишу, просто зателефонувавши?


1
Нижче є відповідь від Michael0x2a, яка висвітлює точні моменти, але проста версія: не робіть цього. Якщо я прочитаю ваш код і побачу дзвінок до math.polynomial_roots()мене, і мій перекладач заплутається. Це погана річ.
msw

Відповіді:


10

Математичний модуль є вбудованим , тому не вистачає модифікації самого інтерпретатора Python, я не думаю, що ви можете це змінити. Однак написати модуль, безумовно, можна зробити щось.

Якщо ви структуруєте свої файли так:

somefolder
    mymath.py
    myprogram.py

... ви можете просто робити import mymathвсередині myprogram.py, а також використовувати будь-які функції або класи всередині, mymath.pyяк звичайно.

Тож якщо це mymath.pyвиглядає так:

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

Ви можете зробити всередині нижче myprogram.py

import mymath

print mymath.quadratic(1, 2, 3)

Якщо ви хочете, щоб написаний вами модуль був доступний для будь-якої програми, ви можете його скопіювати та вставити у папку будь-якого проекту, над яким ви працюєте, або додати його у свій PATH. (Наприклад, ви можете включити mymath.pyвсередину папки пакетів сайтів, яка знаходиться C:\Python27\Lib\site-packagesна моєму комп’ютері). Як тільки ви це зробите, ви зможете зробити це, import mymathне маючи необхідності копіювати та вставляти що-небудь.

В якості побічної записки, numpy має досить вичерпний набір математичних та наукових функцій, які ви можете перевірити. Це майже фактичний стандарт для чисельних обчислень в Python, afaik.


1
Саме відповідь я написав би. Python розроблений так, щоб бути модифікованим, досить буквально.
joshin4colours
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.