Dahili bir Python modülünü düzenleyebilir misiniz?


10

Şu anda Python öğreniyorum ve kitabın Matematik kütüphanesini kullanma noktasındayım. Python web sitesine baktım ve kütüphanenin biraz kıt olduğunu fark ettim ve daha kullanışlı fonksiyonlar yazıyorum. Örneğin, devam ettim ve katsayıları alıp denklemin köklerini döndürmek için bir fonksiyon yazdım. Temelde ikinci dereceden formül işlevi. Bunu python Math kütüphanesine eklemenin mümkün olup olmadığını merak ediyorum. Değilse, yazdığım diğer Python programlarında bu işlevi kullanabileceğim şekilde nasıl kaydedebilirim?


1
Aşağıda Michael0x2a tarafından ince noktaları kapsayan bir cevap var , ancak basit sürüm: bunu yapma. Eğer kodunuzu okuyor ve math.polynomial_roots()bana bir çağrı görürsem tercümanım karışır. Bu Kötü Bir Şey.
msw

Yanıtlar:


10

Math modülü bir yerleşiktir , Python yorumlayıcısının kendisini değiştirmek için çok kısa, onu değiştirebileceğinizi düşünmüyorum. Ancak, bir modül yazmak kesinlikle yapabileceğiniz bir şeydir.

Dosyalarınızı şu şekilde yapılandırırsanız:

somefolder
    mymath.py
    myprogram.py

... import mymathiçerde basitçe yapabilir myprogram.pyve içerideki herhangi bir işlevi veya sınıfı mymath.pynormal şekilde kullanabilirsiniz.

Yani mymath.pyşuna benziyorsa:

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

İçinde aşağıdakileri yapabilirsiniz myprogram.py

import mymath

print mymath.quadratic(1, 2, 3)

Yazdığınız modülün herhangi bir program için kullanılabilir olmasını istiyorsanız, üzerinde çalıştığınız herhangi bir projenin klasörüne kopyalayıp yapıştırabilir veya PATH'nıza ekleyebilirsiniz. (Örneğin, bilgisayarımda mymath.pybulunan site paketleri klasörünün içine C:\Python27\Lib\site-packagesekleyebilirsiniz). Bunu yaptıktan sonra, import mymathhiçbir şeyi kopyalayıp yapıştırmak zorunda kalmadan yapabilmeniz gerekir .

Bir yan not olarak, numpy kontrol edebileceğiniz matematik ve fen ile ilgili oldukça kapsamlı fonksiyonlara sahiptir. Afaik, Python'daki sayısal hesaplama için fiili standart.


1
Tam olarak yazdığım cevap. Python, kelimenin tam anlamıyla modifiye edilecek şekilde tasarlanmıştır.
joshin4colours
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.