Bisakah seseorang mengedit modul Python bawaan?

10

Saat ini saya sedang belajar Python dan saya pada titik dalam buku tentang menggunakan perpustakaan Matematika. Saya melihat situs web Python dan memperhatikan bahwa perpustakaan itu sedikit langka dan saya menulis beberapa fungsi yang lebih berguna. Sebagai contoh, saya pergi ke depan dan menulis fungsi untuk mengambil koefisien dan mengembalikan akar persamaan. Pada dasarnya fungsi rumus kuadratik. Saya bertanya-tanya apakah mungkin untuk menambahkan ini ke perpustakaan python Math. Jika tidak, bagaimana cara menyimpannya sehingga saya dapat menggunakan fungsi itu dalam program Python lain yang saya tulis hanya dengan memanggilnya?

qzxt
sumber
1
Ada jawaban di bawah ini oleh Michael0x2a yang mencakup poin bagus, tetapi versi sederhananya adalah: jangan lakukan itu. Jika saya membaca kode Anda dan melihat panggilan ke math.polynomial_roots()saya, juru bahasa saya akan menjadi bingung. Itu hal yang buruk.
msw

Jawaban:

10

Modul matematika adalah builtin , begitu pendek memodifikasi penerjemah Python itu sendiri, saya tidak berpikir Anda dapat memodifikasinya. Namun, menulis modul jelas merupakan sesuatu yang dapat Anda lakukan.

Jika Anda menyusun file Anda seperti ini:

somefolder
    mymath.py
    myprogram.py

... Anda bisa melakukannya import mymathdi dalam myprogram.py, dan menggunakan fungsi atau kelas di dalam mymath.pyseperti biasa.

Jadi jika mymath.pyterlihat seperti ini:

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

Anda dapat melakukan bagian dalam di bawah ini myprogram.py

import mymath

print mymath.quadratic(1, 2, 3)

Jika Anda ingin modul yang Anda tulis tersedia untuk program apa pun, Anda bisa menyalin dan menempelkannya ke folder proyek apa pun yang sedang Anda kerjakan, atau menambahkannya ke PATH Anda. (Misalnya, Anda dapat memasukkan mymath.pydi dalam folder paket situs, yang terletak di C:\Python27\Lib\site-packageskomputer saya). Setelah Anda melakukannya, Anda harus dapat melakukannya import mymathtanpa harus menyalin dan menempelkan apa pun.

Sebagai catatan tambahan, numpy memiliki serangkaian fungsi terkait matematika dan sains yang cukup komprehensif yang bisa Anda periksa. Ini cukup banyak standar de-facto untuk perhitungan numerik dengan Python, afaik.

Michael0x2a
sumber
1
Tepatnya jawaban yang akan saya tulis. Python dirancang untuk dimodifikasi, secara harfiah.
joshin4colours