import ใน python
อันนี้มันอดไม่ได้ที่จะเขียนเลยขอซักหน่อยละกันเกี่ยวกับ technical
เนื่องจากต้องเตรียมตัวสำหรับงานพรุ่งนี้ วันนี้ เลยนั่งทดลอง python ทั้งวันแล้วก็เจอความแปลกอย่างหนึ่งเกี่ยวกับระบบ import(หรือ include ในภาษาซี) ของมันเข้า หรือจริงๆ เพราะอาจจะไม่เคยชินเองก็ได้เลยรู้สึกแปลก
ปกติหลังจากเรียก include/import/require/… อะไรก็ตามที่ไว้เชื่อม code ไฟล์สองไฟล์เข้าด้วยกัน เวลาจะเรียก code เราจะเรียกได้ตรงๆ เลย แต่สำหรับ python แล้วมันต่างออกไปนิดนึง นั่นคือ หลังจาก import จะถือว่า ไฟล์นั้นรู้ว่ามี module ที่ import เข้ามาอยู่แต่ถ้าจะเรียก ต้องเรียกตาม path ทั้งหมดไม่ได้เรียกแค่ชื่อ function หรือ class เหมือนภาษาอื่นๆ เช่น
ไฟล์ package/sub-package/a.py
class Hello:
def roll(self):
print "hello"
ไฟล์ package/b.py
import package.sub-package.a
a = package.sub-package.a.Hello()
a.roll()
แต่จะให้เรียกแค่ Hello() เหมือนภาษาอื่นๆ ก็ทำได้เหมือนกันคือ
from package.sub-package.a import Hello
a = Hello()
a.roll()
ซึ่งก็ยังงงๆ ว่าทำไม python ต้องทำ import ไว้สองแบบ จริงๆ ยังมีอีกเรื่อง แต่อันนั้นไว้แยกเขียนอีกวันละกัน ;p เดี๊ยวไม่มีอะไรจะเขียน
- Spring Framework MVC application step-by-step part2
- DWR Wrapper
- for each in
- Flex abstract class
- SVN Apache Trac




Add Yours
YOU