def
เช่นนี้ครับด้วยความที่เป็น dynamic type ทำให้เราไม่ต้องบอกประเภทของตัวแปรที่รับ/คืนจากฟังก์ชัน แต่ก็ทำให้เสียความสามารถของ method overloading ไป (ซึ่งถ้าอยากได้จริงๆ อาจลงมือเช็คเองโดยใช้คำสั่ง
type()
ก็ได้)และเช่นกันกับตอนแรกๆ ที่เราวน
for
แทบทุกอย่างที่ตามหลังเครื่องหมาย :
ต้องขึ้นย่อหน้าใหม่พร้อม indent เพิ่ม และต้องมีคำสั่งด้วย ... ถ้ายังคิดไม่ออก อย่าลืม pass ไปก่อนนะครับอนึ่ง การแทรก string ไว้ทันทีหลัง
def
ฟังก์ชัน Python จะเก็บมันไว้เป็น docs ด้วยครับซึ่งเราสามารถอ่าน docs ประจำ function ได้ในโหมด interactive shell โดยใช้คำสั่ง
help()
และถ้าเราต้องการรู้ว่าเราได้สร้างฟังก์ชันอะไรขึ้นมาใช้แล้วบ้าง ก็สามารถเรียกดูได้โดยคำสั่ง
dir()
การสร้างฟังก์ชันเพื่อ import มาใช้งาน ต้องเขียนไฟล์เก็บไว้เป็น
filename.py
ครับโดยเมื่อตอนใช้งาน เราสามารถเรียกได้จาก
import
เช่น สมมติเราเซฟงานด้านบนไว้ในชื่อ test.py
หรือถ้าเรารู้สึกว่าชื่อเหล่านี้ยาวไป
หรือจะทำอย่างนี้ก็ได้ (แต่ไม่แนะนำ เพราะอาจเกิดการ lost ของ docs ประจำไฟล์)
ทั้งนี้ มีข้อควรจำไว้อย่างหนึ่งว่า เมื่อเรา
import
สำเร็จ การแก้ไข code ที่ไฟล์ต้นฉบับจะไม่ส่งผลต่อ code ที่ได้ import
เข้ามาแล้วนะครับ ถ้าอยากได้ใหม่ต้อง restart Python shell เองถึงแม้ Python จะไม่รองรับ method overloading แต่ก็ได้จุดแข็งที่สามารถ init ตัวแปรได้นะครับ
และเรายังมี *args และ **kwargs ให้ใช้ด้วย
"print(add(5,5)) # 10" อันนี้ได้ 6 นะครับ
ReplyDeleteขอบคุณครับ T T
ReplyDeleteprint(add(5,5)) เป็น 10 ถูกแล้วหนิครับ = =
ReplyDeleteที่คอมเมนท์ไว้เป็นของเก่า ตอนนี้แก้ไขเรียบร้อยแล้วครับ :)
Delete