Python Tutorial
เกริ่นนำ
บทความนี้เขียนขึ้นเพื่ออำนวยความสะดวกแก่ผู้ที่ไม่ค่อยถนัดภาษาอังกฤษ หรืออยากอ่านบทความภาษาไทยเกี่ยวกับไพธอนมากกว่า สำหรับผู้ที่ต้องการหาข้อมูลเพิ่มเติม มีบทความ หนังสือ และเรื่องราวต่าง ๆ เกี่ยวกับภาษาไพธอนอยู่มากมาย รวมทั้งในส่วนของบทเรียนการสอน (Tutorial) ที่มาพร้อมกับโปรแกรมไพธอนเอง ก็เขียนได้ดีมากเช่นกัน
ชิมลาง 15 นาที
หนังสือหลายเล่มมักจะเริ่มต้นด้วยประวัติของไพธอน แต่ในที่นี้ ผมขอเริ่มต้นด้วยการพาคุณเข้าไปสัมผัสกับภาษาไพธอนก่อนเลย เราจะใช้เวลาสัก 15 นาที เพื่อให้คุณได้เห็นและรู้จักกับไพธอนด้วยตัวคุณเอง แล้วลองดูสิว่า "ไพธอน"ใช่ภาษาที่คุณชอบหรือไม่
ก่อนอื่น คุณต้องติดตั้งโปรแกรมภาษาไพธอนก่อน ซึ่งทำได้ไม่ยาก หากคุณยังไม่ทราบว่าจะทำอย่างไร ให้ข้ามไปดูที่บทการติดตั้ง ในที่นี้ผมจะเน้นไปที่ภาษาไพธอนบนระบบปฏิบัตการวินโดว์ แต่ว่าภาษาไพธอนสามารถนำไปใช้งานได้แทบจะทุกระบบปฎิบัตการ ไม่ว่าจะเป็นวินโดว์ ลินุกซ์ หรือแมคโอเอส (cross-platform)
ในช่วงชิมลาง เราจะลองเล่นกับ interpreter กันก่อน ซึ่งจะให้ผลตอบสนองกับผู้ใช้เริ่มต้นได้อย่างรวดเร็ว แล้วเราค่อยย้ายไปเขียนโปรแกรมในเอดิเตอร์ (editor) เมื่อโปรแกรมมีความซับซ้อนมากขึ้นในภายหลัง
เราเริ่มต้นด้วยการสั่งรัน python ใน Dos box ถ้าคุณติดตั้งตามปกติ คุณสามารถทำได้ง่าย ๆ ด้วยการกดปุ่ม
และ R จะมีไดอะล็อกบ๊อก Run ขึ้นมาถามว่าต้องการจะรันโปรแกรมอะไร ให้พิมพ์ python แล้วกด OK เราก็จะได้ python interpreter พร้อมใช้งานดังรูป

ใช้ไพธอนเป็นเครื่องคิดเลข
เราสามารถใช้ไพธอนเป็นเครื่องคิดเลขได้ง่าย ด้วยการพิมพ์คำสั่งตามปกติ แล้วปิดท้ายด้วยการกดปุ่ม enter
เครื่องหมาย % หมายถึงเราต้องการดูเศษของการหารนั้น ๆ เช่น 5 หารด้วย 3 จะเหลือเศษ 2 เพราะฉะนั้น 5 % 3 = 2
>>> 1 + 1 2 >>> 2 - 2 0 >>> 2 * 2 4 >>> 6 / 2 3 >>> 5 * (2 - 1) 5 >>> 5 * 2 - 1 9 >>> 5 % 3 2
ลองสั่งพิมพ์
เราสามารถสั่งพิมพ์ค่าในไพธอนง่าย ๆ ด้วยการใช้คำสั่ง print
>>> print 1 1 >>> print "hello world" hello world
มีข้อสังเกตอย่างหนึ่งคือตัวอักษร (string) จะต้องถูกคร่อมไว้ด้วยเครื่องหมายฟันหนู (")
รู้จักกับตัวแปร
เราสามารถใช้ตัวแปลเก็บค่าต่าง ๆ เอาไว้ใช้ได้ โดยเราสามารถอ้างถึงค่าที่เก็บอยู่ในตัวแปร โดยใช้ชื่อของตัวแปรนั้น เช่น เรากำหนดให้ x = 2 แล้วนำค่า x ไปใช้ในภายหลัง ตัวแปรสามารถเก็บค่าตัวอักษรก็ได้ ไม่จำเป็นจะต้องเป็นตัวเลข
>>> x = 2 >>> x + 2 4 >>> x + 3 5 >>> y = "hello" >>> print y,"world" hello world
ลองเล่นวนลูป
ถ้าหากเราต้องการพิมพ์เลข 0 ถึง 4 เราสามารถใช้คำสั่ง print 5 ครั้งในการพิมพ์ออกมาได้ดังรูป
>>> print 0 0 >>> print 1 1 >>> print 2 2 >>> print 3 3 >>> print 4 4
แล้วถ้าเราต้องพิมพ์เลข 0 ถึง 100 ล่ะ ต้องพิมพ์กันจนเมื่อยเหรอ เรามีวิธีที่ดีกว่านั้น ด้วยการใช้ลูป ตามคำสั่งง่าย ๆ ดังนี้ สมมติว่าเราต้องการพิมพ์ 0 ถึง 4
>>>for i in range(5): ... print i ... บรรทัดนี้ กด enter ให้เป็นบรรทัดว่าง โปรแกรมจะเริ่มทำงาน 0 1 2 3 4
คำสั่ง for เป็นคำสั่งให้วนลูป ถ้าจะแปลคำสั่ง for i in range(5) ก็จะได้ว่า จงวนลูปในค่าที่อยู่ใน range(5) โดยค่าในแต่ละครั้งให้ใส่ไว้ในตัวแปร i คำสั่ง range(5) เป็นฟังก์ชันที่คืนค่าของตัวเลขออกมาตั้งแต่เลข 0 จนถึงเลขสุดท้ายก่อนถึงจำนวนที่ใส่ไว้ในวงเล็ก เพราะฉะนั้น range(5) เราจะได้ค่า 0,1,2,3,4 เมื่อวนลูปรอบแรก เราจะได้ค่า 0 อยู่ในตัวแปร i ซึ่งจะเข้าไปทำงานในย่อหน้าของลูป ซึ่งมีคำสั่ง print i อยู่ จึงพิมพ์เลข 0 ออกมา เป็นการจบการทำงานรอบแรก เพราะไม่มีคำสั่งถัดไป แต่เนื่องจากค่าที่ได้จากคำสั่ง range ยังไม่หมด จึง"วน"กลับมาที่บรรทัด for ใหม่ โดยครั้งนี้ ตัวแปร i จะได้ค่าถัดไปคือ 1 แล้วก็จะเข้ากระบวนการเดิมคือ ตัวแปรถูกพิมพ์ด้วยคำสั่ง print ได้เลข 1 ออกมา เป็นอย่างนี้ไปเรื่อย จนพิมพ์เลข 4 และไม่มีค่าของ range เพิ่มเติม จึงเป็นการสิ้นสุดการวนลูป
เพิ่มเติมเงื่อนไข
องค์ประกอบที่สำคัญอีกอย่างของการเขียนโปรแกรมคือการตั้งเงือนไข สมมติว่าเราต้องการให้พิมพ์ตัวเลขเฉพาะเลขคู่ในช่วงตั้งแต่ 0 ถึง 100 เราสามารถเขียนโปรแกรมได้ดังนี้
>>> for i in range(101): ... if i % 2 == 0: ... print i ... 0 2 4 .. .. .. 98 100
ผมต้องตัดการแสดงผลให้ย่อลง มิฉะนั้นจะได้เลขคู่ไล่ยาวเรื่อยมาตั้งแต่เลข 0 จนถึง 100 สังเกตว่าเราใช้ range(101) เพื่อให้ได้ค่าตั้งแต่ 0 ถึง 100 เพราะ range จะไม่คืนค่าตัวที่อยู่ในวงเล็บ จากนั้นคำสั่งที่อยู่ในลูป เราเพิ่มเงื่อนไขขึ้นมาคือ ถ้าค่าในตัวแปร i ซึ่งจะเปลี่ยนไล่ไปเรื่อย ๆ จาก 0 ถึง 100 ในการวนลูปแต่ละครั้งหารด้วย 2 เหลือเศษเท่ากับ 0 หรือไม่ ถ้าเท่ากับ 0 จะทำให้พจน์นี้ หรือเงื่อนไขนี้เป็นจริง ไพธอนจะทำงานในย่อหน้าถัดไป คือพิมพ์ค่าในตัวแปร i ซึ่งก็คือเลขคู่ที่เราต้องการนั่นเอง แต่ถ้าหากเงื่อนไขเป็นเท็จ ไพธอนก็จะไม่ทำงานในย่อหน้าถัดไปของบรรทัดคำสั่งเงือนไข จะไปทำงานที่คำสั่งถัดไปเลย ในกรณีนี้ ไม่มีคำสั่งใดที่อยู่ถัดจากคำสั่งเงือนไขแล้ว หมดย่อหน้าที่อยู่ในลูป ก็จะมีการวนลูปกลับไปที่บรรทัดคำสั่ง for จนกระทั่งครบทุกจำนวนใน range ด้วยคำสั่งสั้น ๆ นี้ เราก็จะได้เลขคู่ตั้งแต่ 0 ถึง 100 ออกมา
โจทย์ลองเล่น
ถ้าคุณตามมาได้ถึงตอนนี้ ผมคิดว่า คุณคงจะเริ่มเขียนโปรแกรมในภาษาไพธอนได้แล้ว ภายในเวลาเพียง 15 นาที อยากดูสิว่า คุณสามารถเขียนโปรแกรมให้ทำอย่างนี้ได้หรือไม่
- ใช้ไพธอนเป็นเครื่องคิดเลข คำนวณค่า 12345 คูณกับ 9 แล้วหารด้วยผลต่างระหว่าง 36 กับ 17
- เขียนโปรแกรมให้พิมพ์เลขตั้งแต่ 0 ถึง 10
- เขียนโปรแกรมให้พิมพ์เลขคี่ที่อยู่ระหว่างเลข 0 ถึง 100
คิดว่าคงจะไม่ยากสำหรับคุณ
แนะนำไพธอน (Python)
กล่าวถึงที่มาที่ไปนิดหน่อยของไพธอน
