สามารถแก้ไขโมดูล Python ในตัวได้หรือไม่


10

ขณะนี้ฉันเรียนรู้ Python และฉันเป็นจุดสำคัญในหนังสือเกี่ยวกับการใช้ห้องสมุดคณิตศาสตร์ ฉันดูเว็บไซต์ Python และสังเกตว่าห้องสมุดค่อนข้างหายากและฉันกำลังเขียนฟังก์ชันที่มีประโยชน์มากกว่านี้ ตัวอย่างเช่นฉันไปข้างหน้าและเขียนฟังก์ชันเพื่อหาค่าสัมประสิทธิ์และคืนค่ารากของสมการ เป็นฟังก์ชั่นสูตรสมการกำลังสอง ฉันสงสัยว่ามันเป็นไปได้ที่จะเพิ่มสิ่งนี้ไปยังห้องสมุดคณิตศาสตร์หลาม หากไม่เป็นเช่นนั้นฉันจะบันทึกได้อย่างไรฉันสามารถใช้ฟังก์ชั่นนั้นในโปรแกรม Python อื่น ๆ ที่ฉันเขียนเพียงแค่เรียกมัน


1
มีคำตอบด้านล่างโดย Michael0x2a ที่ครอบคลุมจุดปรับ แต่รุ่นง่าย ๆ คือ: อย่าทำอย่างนั้น หากฉันกำลังอ่านรหัสของคุณและเห็นการโทรหาmath.polynomial_roots()ฉันและล่ามของฉันจะสับสน นั่นเป็นสิ่งที่ไม่ดี
msw

คำตอบ:


10

โมดูลทางคณิตศาสตร์เป็นbuiltinดังนั้นการแก้ไขตัวแปล 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.