เริ่มต้นเขียน Python

Python คือภาษาโปรแกรมที่เน้นความสะอาด เรียบง่าย และเป็นหนึ่งเดียวกันของ syntax ทำให้โปรแกรมเมอร์คนหนึ่งๆ สามารถอ่านโปรแกรม Python คนอื่นแล้วเข้าใจได้อย่างรวดเร็ว มันจึงได้รับความนิยมอย่างมากในวงการศึกษา จนบางคนเปรียบเปรยว่ามันคือ pseudocode ที่บังเอิญทำงานได้

ประวัติโดยย่อ

  • 1956 กำเนิด Guido van Rossum
  • 1991 Guido ให้กำเนิด Python
  • 2000 Python เดินทางมาถึงเวอร์ชัน 2
  • 2005 Guido เข้าทำงานที่ Google
  • 2008 Python เดินทางมาถึงเวอร์ชัน 3

ที่มาของชื่อ Python นั้นมาจากรายการโทรทัศน์ Monty Python’s Flying Circus ครับ และถึงแม้ว่าทางผู้สร้างจะออกมายืนยันว่าชื่อนี้ไม่ได้มาจากงูอย่างแน่นอน แต่โลโก้ของมันดันเป็นรูปงู 2 ตัวซะหนิ

ความสามารถของภาษา

  • เป็น OOP เต็มรูปแบบ ขนาดที่ว่า class ยังเป็น object จาก metaclass อีกทีเลย
  • แต่ก็ได้รับอิทธิพลจากสาย functional พอสมควร เช่น list comprehension
  • ระบบตัวแปรเป็นแบบ dynamic-strong
  • ทำงานแบบ interpreter เพียงอย่างเดียว

ติดตั้งโปรแกรม

เราจะใช้ Python 3 เป็นหลักนะครับ

Windows

  1. ดาวน์โหลดโปรแกรมได้จากหน้า Download Python
  2. เปิดตัว installer แล้วก็กด next รัวๆ
  3. เรียบร้อยแล้ว เรียกโปรแกรม cmd.exe มาสั่ง set path=%path%;C:\python32

Linux

  1. สั่ง apt-get install python3 ถ้าใช้ Ubuntu (หรือ OS อื่นในสาย Debian)
  2. เพิ่ม alias python='python3'; alias python2='python2.7' ลงในไฟล์ ~/.bashrc

สวัสดีโลก

เรียบร้อยแล้ว? งั้นก็ต้องลองเรียกโปรแกรมมาทักทายกันซักหน่อย

เรียก interactive shell ด้วยคำสั่ง python ผ่านทาง Terminal กันเลย หลังจากเจอข้อความต้อนรับประมาณนี้

Python 3.2.2 (default, Sep  5 2011, 21:17:14) 
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

ลองพิมพ์คำสั่ง

    >>> print('Hello, world!')
    Hello, world!

แล้วกด [Enter] ก็เป็นอันเสร็จสิ้นพิธี

เมื่อต้องการออกจาก interactive shell สามารถป้อน EOF ได้เช่นเดียวกับการออกโปรแกรมอื่นๆ หรือจะสั่ง

    >>> exit()

ก็ย่อมได้ (คำสั่งนี้สามารถนำไปใช้ในโปรแกรม เพื่อบังคับให้จบการทำงานได้ด้วยเช่นกัน)


ส่วนการเขียนโปรแกรมเก็บไว้เรียกใช้ภายหลัง ให้ตั้งชื่อไฟล์ลงท้ายด้วย .py เช่นไฟล์ hello.py ที่มีคำสั่งข้างในดังนี้

    print('Hello, world!')

และเรียกทดสอบโปรแกรมโดย

    $ python hello.py
    Hello, world!

ข้อแตกต่างของ interactive shell กับเขียนเก็บเป็นไฟล์ คือการเขียนหลายๆ บรรทัดใน interactive shell จะไม่สามารถมีบรรทัดว่างๆ ได้ และการเขียนหลายบรรทัดต้องจบด้วย 2 newline เท่านั้น

เราจะเลือกใช้ interactive shell สำหรับการทดสอบสั้นๆ โดยแต่ละบรรทัดที่เป็นคำสั่ง จะขึ้นต้นด้วยสัญลักษ์ >>> (หรือ ... ในกรณีมีหลายบรรทัด) และส่วนที่เป็นผลลัพท์จะไม่มีสัญลักษ์เหล่านี้ขึ้นต้นครับ (เช่นเดียวกับการทดสอบบน interactive shell)

นอกเหนือจากนั้นแล้ว จะใช้การเขียนเก็บเป็นไฟล์เมื่อโปรแกรมเริ่มซับซ้อนมากขึ้น มีรายละเอียดหลายบรรทัด โดยเราจะแนบ output ที่ควรได้รับไว้ใน comment ครับ

ข้อควรรู้

comment ใน Python จะใช้เครื่องหมาย # นำหน้าข้อความที่ต้องการ comment ไปจนจบบรรทัด (ไม่มีระบบ comment หลายบรรทัด หรือ comment แบบไม่จบบรรทัดนะครับ)

    # this is a comment.
    x = 1 # this is also a comment.
    print("hello # world")
    # but this above sentence is not.

อย่างไรก็ตาม เครื่องหมาย # ที่ปรากฏอยู่ภายใต้เครื่องหมาย quote นั้น ไม่นับเป็นการ comment ครับ


การ indent ใน Python ถือเป็นหัวใจสำคัญอันหนึ่ง (เพราะไม่มีระบบปีกกาเพื่อจบชุดคำสั่ง) แต่เนื่องจาก Windows และ Linux กำหนดขนาดของ tab กว้างไม่เท่ากัน เราจะใช้ 1 indent = 4 space ครับ (ตั้งค่าได้ใน editor)

อย่างไรก็ตาม ถ้าคุณทำงานคนเดียวหรือไม่ซีเรียสตรงนี้มาก จะใช้เครื่องหมาย tab เพื่อความสะดวกก็ได้ครับ แต่ พึงระลึก ไว้ว่า การใช้ space และ tab ปนกันเพื่อ indent จะทำให้ code ชุดนั้นเกิด error อย่างเช่น

IndentationError: unindent does not match any outer indentation level

Nattawut Phetmak

Jack of all Trades

blog comments powered by Disqus