Print: A Useful Output Command
ประพัฒน์ สุริยผล
ทั้งนี้ ผม assume ว่าคุณได้ติดตั้ง python และสามารถเรียก python IDLE ขึ้นมาทำงานได้แล้ว เราจะเริ่มต้นเรียนรู้การเขียนโปรแกรมด้วยคำสั่ง print ที่เลือก print เป็นคำสั่งแรก เพราะเป็นคำสั่งที่มีความสำคัญ print เป็นคำสั่งที่เราใช้แสดงผลในสิ่งที่เราต้องการ โปรแกรมส่วนใหญ่จะไม่มีประโยชน์ถ้าเราไม่สามารถสั่งให้เครื่องแสดงผลได้ คำสั่ง printสามารถนำไปใช้ในการสร้าง file ก็ได้ โดยที่เรายังไม่ต้องเรียนรู้วิธีสร้าง file ใน python เลย (จะกล่าวถึงวิธีนี้ในหัวข้อ pipe ในภายหลัง) เราจะเริ่มต้นง่ายๆ ด้วยคำสั่ง
>>> print 1
1
ซึ่งเครื่องก็จะแสดงผลลัพธ์ เป็นเลข 1 ออกมา
>>> print 1+2
3
3
เราก็จะได้ เลข 3 เพราะฉะนั้น เราสามารถใช้ python เป็นเครื่องคิดเลขอย่างง่ายๆ แล้ว ถ้าหากเราเปิด python อยู่แล้วต้องการใช้เครื่องคิดเลข ก็ไม่ต้องมองหาไปที่อื่น สามารถพิมพ์คำสั่งใน python ได้เลย ถ้าหากเราต้องการพิมพ์ตัวอักษร เราก็สามารถทำได้ดังนี้
>>> print 'hello world'
hello world
เครื่องก็จะพิมพ์ hello world ออกมาให้ ให้สังเกตว่า สำหรับตัวอักษร เราจะต้องปิดหัวท้ายส่วนที่เป็นตัวอักษรด้วยสัญลักษณ์ (') ขีดเดียว หรือ (") ขีดคู่ เพื่อให้ python ทราบว่าให้จัดการกับสิ่งที่อยู่ด้านในนั้นแบบตัวอักษร และถ้าเราใส่เลขลงไป จะเกิดอะไรขึ้น
>>> print '1'
1
เราก็จะได้เลข 1 เหมือนเดิม เพราะตัวอักษร 1 กับเลข 1 เมื่อพิมพ์ออกมาก็ไม่มีอะไรต่างกัน แต่เมื่อเราพิมพ์
>>> print '1'+'2'
12
เราจะได้ 12 แทนที่จะเป็น 3 ตามตัวอย่างข้างต้น เพราะสำหรับ python แล้ว การที่เอาตัวอักษรมาบวกกัน ก็คือการเอาตัวอักษรมาต่อกันตามลำดับนั่นเอง
ถ้าหากเราต้องการพิมพ์ขีดเดียว เราสามารถคร่อมตัวอักษรด้วยขีดคู่ และในทางกลับกัน เราสามารถคร่อมขีดคู่ด้วยขีดเดียวได้เช่นกัน เช่น
>>> print 'I say "Hello" to you.'
I say "Hello" to you.
พิมพ์ตัวอักษรที่พิมพ์ด้วยวิธีปกติไม่ได้
1. ตัวขึ้นบรรทัดใหม่ (new line)
มีตัวอักษรหรือบางสิ่งบางอย่างที่เราไม่สามารถพิมพ์ได้ ยกตัวอย่างเช่น การขึ้นบรรทัดใหม่ เพราะถ้าหากเราต้องการพิมพ์ตัวขึ้นบรรทัดใหม่ด้วยการกดปุ่ม ก็จะกลายเป็นว่า เราสั่งให้ python ทำงานที่บรรทัดนั้นทันที เราจึงไม่สามารถกดปุ่มได้ python แก้ปัญหานี้ด้วยการใช้ตัวอักษรพิเศษ เช่น \n แทนการขึ้นบรรทัดใหม่ เช่นถ้าหากเราต้องการพิมพ์ 1 ขึ้นบรรทัดใหม่ แล้วพิมพ์ 2 แล้วขึ้นบรรทัดใหม่ เราสามารถใช้คำสั่ง
print 1
print 2
ที่เราสามารถใช้คำสั่งแบบนี้ได้ เพราะเมื่อจบคำสั่ง print แล้ว python จะส่งรหัสขึ้นบรรทัดใหม่ให้เราโดยอัตโนมัติ ถ้าหากเราต้องการพิมพ์อย่างข้างบนโดยใช้บรรทัดเดียว เราสามารถทำได้ โดยใช้คำสั่ง
print '1\n2'
เราไม่ต้องปิดท้ายเลข 2 ด้วย \n เพราะว่า เมื่อจบคำสั่ง print เราจะได้บรรทัดใหม่โดยอัตโนมัติ ถ้าเราใส่ \n ลงไป เราจะได้ขึ้นบรรทัดใหม่มา 2 บรรทัด วิธีจำง่ายๆ คือ n มาจากคำว่า newline
2. ตัวแท็ป (tab)
ตัวอักษรอีกตัวหนึ่งที่เรามักจะต้องใช้พิมพ์บ่อยๆ คือตัวแท็ป (tab) ใน python เราสามารถแทนด้วยสัญลักษณ์ \t วิธีจำง่ายๆ คือ t มาจากคำว่า tab
3. สัญลักษณ์ backslash
เมื่อเราใช้ \ (backslash) ในการพิมพ์ตัวอักษรพิเศษ เราจึงไม่สามารถพิมพ์ \ ได้ด้วยการใช้คำสั่ง
print '\' # อันนี้ ไม่ถูกต้อง
note: เราต้องใส่สัญลักษณ์ ' คร่อมไว้ เพราะตัว \ เป็นตัวอักษร วิธีพิมพ์ \ ที่ถูกต้องคือใช้สัญลักษณ์ '\\'
สัญลักษณ์ # หมายถึง comment สิ่งที่อยู่ต่อจากสัญลักษณ์นี้ไปจนกระทั่งสุดบรรทัด จะไม่มีผลต่อการทำงานของ python จะพิมพ์หรือไม่พิมพ์ก็ได้ ที่ใส่ไว้เพื่อเตือนใจว่า บรรทัดนี้ทำงานไม่ถูกต้อง
print '\\' # ถูกต้อง
เราจะได้สัญลักษณ์ \ หนึ่งตัว
พิมพ์มากกว่าหนึ่งชนิด
เราสามารถพิมพ์ผสมกันมากกว่าหนึ่งชนิดได้ ด้วยการคั่นแต่ละชนิดด้วย comma (,) เช่น
print '1+2=', 1+2
เราจะได้ผลลัพธ์ออกมาเป็น
1+2= 3
ให้สังเกตว่าหลังเครืองหมาย = จะมีเว้นวรรคมาหนึ่งตัวโดยอัตโนมัติ
เรื่องของ print ยังมีอีกไว้ต่อคราวหน้า
แบบฝึกหัด
เขียนคำสั่ง print ให้พิมพ์ดังนี้ โดยใช้คำสั่งบรรทัดเดียว (มีคำสั่ง print คำสั่งเดียว)
2. Don't say No!
3. Header1 Header2 Header3
<-tab-> <-tab->
4. บรรทัดแรกให้พิมพ์ 234*22.43 = (ใส่คำตอบที่คำนวณได้ตรงนี้)
บรรทัดที่สองพิมพ์ this is backslash -> \
คิดว่าคงจะไม่ยากสำหรับคุณนะครับ
แวะมาเฉลยการบ้านครับ ^^
ReplyDelete(ข้อ 1)
print 'Hello, How are you?'
(ข้อ 2)
print "Don't say No!"
(ข้อ 3)
print 'Header1\tHeader2\tHeader3'
(ข้อ 4)
print '234*22.43 = ', 234*22.43
print 'this is backslash -> \\'
ทำไมผมพิมพ์
ReplyDeleteprint 1 แล้วโปรแกรมไม่แสดงผลลัพธ์อัตโนมัติอ่าครับ