การรับค่าและการแสดงผล
ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับการรับค่าและการแสดงผลพื้นฐานในภาษา Python ซึ่งเป็นสิ่งสำคัญที่โปรแกรมต้องมีสำหรับการติดต่อกับผู้ใช้ การรับค่าคือการรับข้อมูลจากภายนอกโดยทั่วไปแล้วมักจะเป็นการรับค่าทางคีย์บอร์ด ส่วนการแสดงผลนั้นจะเป็นบน Console ถ้าหากคุณรัน Python บนเว็บเซิฟเวอร์ การแสดงผลจะเป็นทางเว็บบราวน์เซอร์แทน และการรับค่าจะเป็นทาง URI หรือเว็บฟอร์ม
การแสดงผลด้วยฟังก์ชัน print()
ในการแสดงผลในภาษา Python นั้นจะใช้ฟังก์ชัน print()
เพื่อแสดงผลข้อความ ตัวเลข หรือข้อมูลประเภทอื่นๆ ออกทางหน้าจอหรือสร้าง Http response นี่เป็นรูปแบบของการใช้งานฟังก์ชัน print()
ในภาษา Python
print(value, ..., sep = ' ', end = '\n');
ในรูปแบบการใช้งาน ฟังก์ชัน print()
เราสามารถส่งอาร์กิวเมนต์ได้ตั้งแต่หนึ่งถึงหลายตัวเข้าไปในฟังก์ชัน นอกจากนี้ฟังก์ชันยังมี keyword อาร์กิวเมนต์ sep
ซึ่งเป็นตัวแบ่งหากอาร์กิวเมนต์ที่ส่งเข้าไปนั้นมากกว่า 1 ตัว ซึ่งมีค่า default เป็น whitespace และ keyword อาร์กิวเมนต์ end
เป็นการแสดงผลในตอนท้ายของฟังก์ชัน ซึ่งมีค่า default เป็น \n
หมายถึงการขึ้นบรรทัดใหม่ มาดูตัวอย่างการใช้งานฟังก์ชัน
print("Hello Python")
print("My name is Mateo")
print("Mercury", "Venus", "Earth")
name = "marcuscode.com"
year = 2017
print(name)
print(year)
ในตัวอย่าง เป็นการแสดงผลในภาษา Python โดยในคำสั่งแรกและคำสั่งที่สองนั้นเป็นการแสดงข้อความ และในคำสั่งที่สามเป็นการส่งค่าแบบหลายอาร์กิวเมนต์ และในสองคำสั่งสุดท้ายเป็นการแสดงผลข้อมูลจากตัวแปร name
และตัวแปร year
Hello Python
My name is Mateo
Mercury Venus Earth
marcuscode.com
2017
นี่เป็นผลลัพธ์การทำงานของโปรแกรม
นอกจากนี้ เรายังสามารถใช้ keyword อาร์กิวเมนต์สำหรับกำหนดการแสดงผลเพื่อแบ่งแต่ละอาร์กิวเมนต์ และการแสดงผลในตอนท้ายของฟังก์ชัน นี่เป็นตัวอย่างการใช้งาน
print("Mercury", "Venus", "Earth", sep=', ')
print("One", end=' ')
print("Two", end=' ')
print("Three", end=' ')
ในตัวอย่าง เป็นการใช้งาน keyword อาร์กิวเมนต์ในการจัดรูปแบบการแสดงผล โดยอาร์กิวเมนต์sep
เป็นตัวแบ่งการแสดงในแต่ละอาร์กิวเมนต์ และ end
เป็นตัวแบ่งการแสดงผลในแต่ละบรรทัด โดยปกติฟังก์ชัน print()
จะขึ้นบรรทัดใหม่ทุกครั้ง เราสามารถใช้อาร์กิวเมนต์นี้เพื่อเปลี่ยนเป็นอย่างอื่นได้
Mercury, Venus, Earth
One Two Three
นี่เป็นผลลัพธ์การทำงานของโปรแกรม
นอกจากนี้ฟังก์ชัน print()
นั้นยังสามารถส่งพารามิเตอร์ในรูปแบบของ String Formatting ได้โดยการใช้รูปแบบการแปลงข้อมูล ที่คล้ายกับการจัดรูปแบบการแสดงผลในภาษา C นี่เป็นตัวอย่างการใช้งาน
lang = "Python"
version = 3.6
print("%s language" % lang)
print("Version %f" % version)
print("%d" % 123)
print("%s %f %d" % (lang, version, 123))
ในตัวอย่าง เป็นการจัดรูปแบบการแสดงผลของ String โดยการแทรกรูปแบบของการแสดงผลใน String literal ได้ เช่น %s
สำหรับการแสดงผล String %f
สำหรับการแสดงผล Float และ %d
สำหรับการแสดงผล Integer
Python language
Version 3.600000
123
Python 3.600000 123
นี่เป็นผลลัพธ์การทำงานของโปรแกรม สำหรับข้อมูลเพิ่มเติมเกี่ยวกับประเภทของการจัดรูปแบบ String คุณสามารถเรียนรู้เพิ่มเติมได้ที่เว็บไซต์ของ Python
เพราะว่าภาษา Python นั้นสามารถใช้กับการพัฒนาเว็บโดยสร้าง response ในรูปแบบ HTML หรือกำหนด Content type ประเภทต่างๆ ได้ ดังนั้นเราจึงสามารถใช้ฟังก์ชันนี้สำหรับการแสดงผลได้ อย่างไรก็ตามคุณต้องรันโค้ดนี้บนเว็บบราวน์เซอร์เพื่อดูผลลัพธ์ ไม่เช่นนั้นคำสั่งจะแสดงผลโค้ดของ HTML เหมือนที่เราเขียนลงในฟังก์ชันหากใช้แสดงบน Console นี่เป็นตัวอย่างการสร้างหน้าเว็บอย่างง่ายด้วยภาษา Python
print('<!DOCTYPE html>');
print('<html>');
print('<body>');
print('<h1>Welcome to Python tutorial on marcuscode.com</h1>');
print('</body>');
print('</html>');
การรับค่าจาก Keyboard ด้วยฟังก์ชัน input()
นอกจากการแสดงผลแล้วนั้น การติดต่อกับผู้ใช้ในอีกรูปแบบหนึ่งคือการรับค่า โดยทั่วไปแล้วมักจะเป็นการรับค่าทางคีย์บอร์ด ในภาษา Python เราใช้ฟังก์ชัน input()
สำหรับการรับค่า String จากทางคีย์บอร์ด มาดูตัวอย่างการรับค่าจากผู้ใช้ในภาษา Python
name = input("Enter your name: ")
print("Hello " + name)
ในตัวอย่าง เป็นสำหรับการรับค่าชื่อจากคีย์บอร์ดและแสดงข้อความทักทายชื่อดังกล่าว ฟังก์ชัน input()
เราได้ส่งอาร์กิวเมนต์เข้าไปในฟังก์ชันเพื่อเป็นข้อความบอกวิธีการใส่ค่ากับผู้ใช้ ฟังก์ชันจะส่งค่ากลับเป็น String ที่ผู้ใช้กรอกเข้ามาและจบการรับค่าด้วยการขึ้นบรรทัดใหม่ โดยที่ \n
จะถูกตัดออกไป
Enter your name: Mateo
Hello Mateo
นี่เป็นผลลัพธ์การทำงานของโปรแกรม โดยเราได้กรอกชื่อ "Mateo" และโปรแกรมแสดงข้อความทักทายทางหน้าจอ
อย่างไรก็ตาม ในการรับค่าด้วยฟังก์ชัน input()
นั้นจะใช้กับการรับค่าที่เป็น String เท่านั้น และในการที่จะรับข้อมูลประเภทอื่นๆ เช่น ตัวเลข เราสามารถใช้ฟังก์ชันที่มากับภาษา Python ในการแปลงข้อมูลจาก String ไปเป็นข้อมูลประเภทอื่นได้ ต่อไปมาดูตัวอย่างการรับค่าตัวเลขในภาษา Python
a = int(input("Enter first number: "))
b = int(input("Enter second number: "))
print("a + b = %d" % (a + b))
ในตัวอย่าง เป็นโปรแกรมในการรับค่าตัวเลขสองตัวจากคีย์บอร์ด เราใช้ฟังก์ชัน int()
เพื่อแปลงข้อมูลแบบ String ให้เป็น Integer และนำมาใส่ในตัวแปร a
และ b
ตามลำดับ หลังจากนั้นเราแสดงผลบวกของตัวเลขทั้งสอง
Enter first number: 5
Enter second number: 3
a + b = 8
นี่เป็นผลลัพธ์การทำงานของโปรแกรม เราได้กรอกตัวเลขสองตัวและโปรแกรมแสดงผลรวมออกมา ในตัวอย่างคุณเห็นว่าเราสามารถใช้ฟังก์ชัน input()
ในการรับค่าตัวเลขโดยการใช้ฟังก์ชัน int()
ในการแปลง คุณสามารถรับค่าตัวเลขแบบอื่นได้เช่นกัน เช่น การใช้ฟังก์ชัน float()
สำหรับแปลงข้อมูลแบบทศนิยม
Note: ถ้าคุณเคยเขียนภาษา Python ในเวอร์ชัน 2 มาก่อนคุณจะคุ้นเคยกับการรับค่าด้วยฟังก์ชัน
raw_input()
แทน ซึ่งถูกแทนที่ด้วยฟังก์ชันinput()
ในเวอร์ชัน 3
ในบทนี้ คุณได้เรียนรู้เกี่ยวกับการรับค่าและการแสดงผลในภาษา Python เบื้องต้น เราได้พูดถึงการแสดงผลด้วยการใช้งานฟังก์ชัน print()
ในรูปแบบต่างๆ และการรับค่าด้วยฟังก์ชัน input()
และการรับค่าข้อมูลประเภทตัวเลขด้วย อย่างไรก็ตาม การรับค่านั้นสามารถเป็นได้ในรูปแบบอื่นที่ไม่ใช่เพียงแค่จากคีย์บอร์ด เช่น การอ่านข้อมูลจากไฟล์ เน็ตเวิร์ค หรือจากฐานข้อมูล เป็นต้น