ผลต่างระหว่างรุ่นของ "Python Programming"
Cardcaptor (คุย | มีส่วนร่วม) |
Cardcaptor (คุย | มีส่วนร่วม) |
||
แถว 114: | แถว 114: | ||
</pre> | </pre> | ||
− | นอกจากนี้ ไพทอนยังมีเครื่องหมายยกกำลัง (**) | + | นอกจากนี้ ไพทอนยังมีเครื่องหมายยกกำลัง (**) ซึ่งมีความสำคัญ (precedence) มากกว่าเครื่องเครื่องหมายคูณ |
<pre title="interpreter"> | <pre title="interpreter"> | ||
>>> 4**2 | >>> 4**2 | ||
แถว 122: | แถว 122: | ||
>>> 2**0.5 | >>> 2**0.5 | ||
1.4142135623730951 | 1.4142135623730951 | ||
+ | >>> 4*3**2 | ||
+ | 36 | ||
+ | >>> (4*3)**2 | ||
+ | 144 | ||
</pre> | </pre> | ||
รุ่นแก้ไขเมื่อ 11:08, 15 ตุลาคม 2551
เอกสารนี้เขียนขึ้นเพื่อให้ความรู้เกี่ยวกับไวยากรณ์และการเขียนโปรแกรมภาษาไพทอนเบื้องต้น ผู้เขียนสมมติว่าผู้อ่านสามารถเขียนโปรแกรมด้วยภาษาเชิงวัตถุอย่าง C++ หรือ Java ได้อยู่แล้ว เอกสารนี้ไม่ใช่เอกสารสอนเขียนโปรแกรม
หากท่านต้องการอ่านเอกสารนี้ให้ได้อรรถรสมากที่สุด กรุณาใช้ Crunchy คุณสามารถอ่านวิธีการติดตั้งและใช้ Crunchy ได้ที่นี่: การติดตั้งและใช้ Crunchy
เนื้อหา
ติดตั้งภาษาไพทอน
คุณสามารถดาวน์โหลดภาษาไพทอนได้จากเวบไซต์อย่างเป็นทางการ http://www.python.org/ ขณะนี้ (15 ตุลาคม 2551) เราแนะนำใหัคุณดาวน์โหลดไพทอนเวอร์ชัน 2.5 เนื่องจาก Crunchy ไม่สามารถใช้ได้กับไพทอนเวอร์ชันต่ำกว่า 2.4 หรือไพทอนเวอร์ชัน 3.0 ขึ้นไปได้ (เราไม่แน่ใจว่ามันใช้กับเวอร์ชัน 2.6 ได้หรือไม่เนื่องจากเรายังไม่ได้ทดสอบ) นอกจากนี้โค้ดไพทอนอื่นๆ ในเอกสารอื่นๆ ในเวบไซต์นี้ล้วนเขียนขึ้นด้วยไพทอนเวอร์ชัน 2.5 ทั้งสิ้น กรุณาดาวน์โหลดโปรแกรมติดตั้งที่เหมาะสมกับระบบปฏิบัติการที่คอมพิวเตอร์คุณใช้อยู่และติดตั้งภาษาไพทอนตามคำแนะำนำของโปรแกรมแล้ว
ตัวแปรภาษาไพทอน (Python Interpreter)
ตัวแปรภาษาไพทอนเป็นโปรแกรมที่ติดมากับภาษาไพทอนที่คุณได้ดาวน์โหลดมาเมื่อตะกี้นี้ มันมีหน้าที่สองอย่าง
- อ่านซอร์สโค้ดภาษาไพทอนแล้วแปรความหมายคำสั่งต่างๆ หรือ
- เป็นโปรแกรมที่อนุญาตให้ผู้ใช้ป้อนคำสั่งหรือนิพจน์ภาษาไพทอน แล้วพิมพ์ผลลัพท์ออกทางหน้าจอ (กล่าวคือเป็น read-eval-print loop) พูดได้อีกอย่างหนึ่งคือมันอนุญาตให้ผู้ใช้เขียนโปรแกรมได้โดยไม่ต้องเซฟเก็บไว้ในไฟล์ก่อน
เราจะใช้ตัวแปรภาษาไพทอนในรูปแบบ read-eval-print loop การทำความคุ้นเคยกับภาษาในขั้นแรก แล้วจะพูดเรื่องการเขียนซอร์สโค้ดเก็บไว้ในไฟล์ทีำหลัง
การใช้ตัวแปรภาษาไพทอนเป็น read-eval-print loop
คุณสามารถเรียกให้ตัวแปรภาษาไพทอนทำงานได้็ด้วยการสั่งคำสั่ง
python
ใน shell ในระบบปฏิบัติการของคุณ ผู้ใช้ระบบปฏิบัติการ Windows อาจจะเจอ shell บ่นว่าไม่มีโปรแกรมชื่อ python ในกรณีให้แก้ไขโดยการสั่ง
set PATH=%PATH%;C:\Python25
หรือการไปแก้ไข Environment ชื่อ Path ใน Control Panel -> System -> Advanced -> Environment Variables ให้มี C:\Python25 รวมอยู่ด้วย (อนึ่ง ไดเรคทอรี C:\Python25 นี้อาจเปลี่ยนไปตามเวอร์ชันของภาษาไพทอนที่คุณลอง กล่าวคือถ้าคุณลงเวอร์ชัน 2.6 ก็ต้องใช้ไดเรคทอรี C:\Python26 แทน นอกจากนี้คุณยังสามารถเลือกลงภาษาไพทอนที่ไดเรคทอรีอื่นๆ ก็ได้ ซึ่งในกรณีนี้คุณจะต้องใช้ไดเรคทอรีที่คุณลงภาษาไพทอนไว้แทน C:\Python25)
เมื่อคุณเรียกตัวแปรภาษาไพทอนให้ทำงานแล้ว คุณจะเห็นหน้าจอคล้ายๆ หน้าจอข้า่งล่างนี้
Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
โดยคุณสามารถพิมพ์คำสั่งภาษาไพทอนหนึ่งคำสั่ง แล้วกด ENTER ตัวแปรภาษาไพทอนก็จะนำเอาคำสั่งนั้นไปปฏิบัติ ยกตัวอย่างเช่น
>>> print "Hello, world!" Hello, world! >>> 1+1 2 >>> print 2+3 5
การใช้ตัวแปรภาษาไพทอนแปลโปรแกรมที่เก็บไว้ในไฟล์
เราสามารถเรียกตัวแปรภาษาไพทอนให้แปลโปรแกรมที่เก็บไว้ในไฟล์ได้ด้วยการสั่ง
python <<ชื่อไฟล์>>
เมื่อ <<ชื่อไฟล์>> คือชื่อไฟล์ที่เก็บโปรแกรมของเราไว้ ปกติแล้วไฟล์ที่เก็บโปรแกรมภาษาไพทอนจะมีนามสกุล .py เช่น hello.py หรือ abc.py เป็นต้น
เพื่อเป็นการสร้างความคุ้นเคยกับภาษา ลองก็อปปี้โค้ดข้างล่างนี้ใส่ไฟล์ชื่อ factorial.py
def factorial(n): if n == 0: return 1 else: return n * factorial(n-1) for n in range(10): print str(n)+"! =", factorial(n)
แล้วสั่ง
python factorial.py
ใน shell ซึ่งเมื่อสั่งแล้วโปรแกรมควรจะพิมพ์ค่าของฟังก์ชันแฟกตอเรียลตั้งแต่ 0! ถึง 9! ออกทางหน้าจอดังต่อไปนี้
0! = 1 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880
นิพจน์และตัวแปร
นิพจน์ทางคณิตศาสตร์
โดยทั่วไปแล้วนิพจน์ทางคณิตศาสตร์ในภาษาไพทอนจะคล้ายๆ กับภาษา C
>>> 6*7 42 >>> 10*(30+9) + 8 398 >>> 10.0*(30+9)+8 398.0 >>> 3*10000+7564 37564 >>> 464 / 9 51 >>> 4649 / 9.0 516.55555555555554 >>> 4649.0 / 9 516.55555555555554 >>> 10%3 1
นิพจน์ข้างต้นทำให้เราได้ข้อสังเกตดังต่อไปนี้
- ภาษาไพทอนมีข้อมูลชนิดตัวเลขอย่างน้อยสองชนิด คือ เลขจำนวนเต็ม (int) และเลขทศนิยม (float) ในทางเทคนิคแล้ว float ของไพทอนมีความละเอียดเท่ากับ double ในภาษา C
- มีการทำ type coercion คล้ายภาษา C คือเมื่อนำ int ไปบวกหรือคูณกับ float แล้วก็จะได้ float
- เครื่องหมายหาร (/) ของไพทอนคล้ายภาษา C กล่าวคือ ถ้าเราเอา int ไปหาร int เราจะได้ผลหารเป็น int แต่ถ้าเอา int ไปหาร float หรือเอา float ไปหาร int จะได้ผลลัพท์เป็น float
สิ่งที่น่าสังเกตของเครื่องหมาย (/) และเครื่องหมายหารเอาเศษ (%) หารคือ ถ้าตัวหารเป็นบวกแล้ว มันจะพยายามทำให้เศษของการหารจะเป็นบวกด้วยเสมอ
>>> -11/3 -4 >>> -11%3 1
ซึ่งนี่ผิดกับภาษา C ซึ่งเมื่อคำนวณนิพจน์ -11 / 3 จะได้ผลลัพธ์เป็น -3 และเมื่อสั่ง -11 % 3 จะได้ผลเป็น -2 อย่างไรก็ดีถ้าตัวหารเป็นลบ ไพทอนจะมีพฤติกรรมเหมือนกับภาษา C
>>> -11/-3 3 >>> -11%-3 -2
นอกจากนี้ ไพทอนยังมีเครื่องหมายยกกำลัง (**) ซึ่งมีความสำคัญ (precedence) มากกว่าเครื่องเครื่องหมายคูณ
>>> 4**2 16 >>> 4.0**2 16.0 >>> 2**0.5 1.4142135623730951 >>> 4*3**2 36 >>> (4*3)**2 144
ตัวแปรและการกำหนดค่าให้ตัวแปร
เราสามารถกำหนดค่าให้ตัวแปรได้โดยใช้เครื่องหมายเท่ากับ (=)
>>> x = 20 >>> 2*x 40 >>> y = x+5 >>> y 25 >>> y**2 625
สังเกตว่าในภาษาไพทอน เราไม่จำเป็นตัองประกาศชื่อและชนิดของตัวแปรล่วงหน้าเหมือนภาษา C, C++, หรือ Java นอกจากนี้ตัวแปรในภาษาไพธอนจะเก็บข้อมูลชนิดใดก็ได้ และชนิดข้อมูลที่มันเก็บก็สามารถเปลี่ยนไปได้เรื่อยๆ ถ้ามันถูกกำหนดค่าใหม่ เช่น
>>> x = 428 >>> x/3 142 >>> x = x * 1.0 >>> x/3 142.66666666666666