ตัวแปร (Variable) ใน Python จัดเก็บค่าในโปรแกรม ตัวแปรมีสองส่วน: ป้ายกำกับ (label) และค่า (value) สองส่วนนี้แยกกันด้วยเครื่องหมายเท่ากับ (=) คุณสามารถใช้ป้ายกำกับเพื่ออ้างอิงค่าที่กำหนดให้กับตัวแปรตลอดโปรแกรมของคุณ ตัวแปรสามารถเปลี่ยนค่าได้
ตัวแปรฝังอยู่ในการเขียนโปรแกรม ตัวแปรช่วยให้คุณจัดเก็บข้อมูลในโปรแกรมที่เชื่อมโยงกับชื่อเฉพาะ
ตัวอย่างเช่น คุณอาจมีตัวแปรชื่อ chocolate ซึ่งจัดเก็บรายการช็อกโกแลตที่ขายที่ร้านค้าปลีกท้องถิ่น หรือ คุณอาจมีตัวแปรชื่อ username ซึ่งจัดเก็บชื่อผู้ใช้สำหรับแอปพลิเคชันเกม
บทช่วยสอนนี้จะอภิปราย พร้อมตัวอย่าง พื้นฐานของตัวแปร และวิธีที่คุณสามารถใช้พวกเขาในโค้ด Python ของคุณ
Python Variable คืออะไร? (What is a Python Variable?)
ตัวแปร Python เป็นตัวระบุเฉพาะ (unique identifier) สำหรับค่า ชื่อที่กำหนดให้กับตัวแปรสามารถใช้เพื่ออ้างอิงค่าที่กำหนดให้กับตัวแปรนั้น คุณสามารถเปลี่ยนค่าของตัวแปรได้หลายครั้งในโปรแกรมของคุณ
วิธีหนึ่งในการคิดเรื่องนี้คือ ตัวแปรคือป้ายกำกับ ซึ่งผูกกับค่าเฉพาะในโปรแกรม Python ของคุณ
ไวยากรณ์สำหรับตัวแปร Python คือ:
chocolate = "Hazelnut"
ตัวแปรของเรามีสามส่วน:
- chocolate คือชื่อของตัวแปรของเรา
- = คือตัวดำเนินการกำหนดค่า (assignment operator) ตัวดำเนินการนี้บอกโปรแกรมของเราว่าเราต้องการกำหนดค่าให้กับป้ายกำกับ "chocolate"
- "Hazelnut" คือค่าที่เราต้องการกำหนดให้กับตัวแปรของเรา ในกรณีนี้ ค่าเป็นออบเจ็กต์สตริง Python เครื่องหมายอ้างอิงคู่แสดงถึงสตริง สตริงสามารถประกาศระหว่างเครื่องหมายอ้างอิงเดี่ยวได้เช่นกัน
ประเภทตัวแปรรวมถึง Python Booleans, Python dictionaries, integers, และ floating-point numbers
Python: ประกาศตัวแปร (Declare Variable)
สมมติว่าเรากำลังสร้างแอปคณิตศาสตร์ และเราจะใช้หมายเลข 3652 หลายครั้งในโค้ดของเรา แทนที่จะเขียนมันด้วยตนเองทุกครั้ง เราสามารถจัดเก็บมันในตัวแปรได้ เช่นนี้:
big_number = 3652
เราได้ประกาศตัวแปรชื่อ big_number ตัวแปรนี้มีค่า 3652 ดังนั้น เมื่อเราอ้างอิงตัวแปร big_number ในโค้ดของเรา เราสามารถเข้าถึงค่า 3652 ได้
เราได้ "ประกาศ" (declared) ตัวแปร
ตอนนี้ที่เรามีตัวแปรประกาศในโค้ดของเราแล้ว เราสามารถใช้มันตลอดโปรแกรมของเราได้ ดังนั้น หากเราต้องการดูว่ามีอะไรจัดเก็บในตัวแปรของเรา เราสามารถทำได้โดยใช้โค้ดนี้:
print(big_number)
Python Variables: ตัวอย่าง String (String Example)
ตัวแปรสามารถจัดเก็บประเภทข้อมูลใดๆ ได้ ไม่ใช่แค่ตัวเลข สมมติว่าเราต้องการจัดเก็บที่อยู่อีเมลของผู้ใช้ในตัวแปร เราสามารถทำได้โดยใช้แนวทางเดียวกับที่เราใช้ประกาศตัวแปร big_number จากก่อนหน้านี้ นี่คือตัวอย่างของตัวแปรที่จัดเก็บสตริง:
email = "user.email@gmail.com"
ในโค้ดของเรา เราสร้างตัวแปรชื่อ email ซึ่งจัดเก็บค่า user.email@gmail.com หากเราต้องการดูค่าที่กำหนดให้ตัวแปรของเรา เราสามารถทำได้โดยการพิมพ์มันไปที่คอนโซล Python:
print(email)
โค้ดของเราคืนค่า:
user.email@gmail.com
การกำหนดค่าใหม่ให้ตัวแปร (Reassign a Variable)
จนถึงตอนนี้ เราได้พูดถึงวิธีประกาศตัวแปร นี่คือกระบวนการกำหนดค่าเริ่มต้นให้กับตัวแปร
ตัวแปรสามารถเปลี่ยนแปลงได้ใน Python นี่หมายความว่าหลังจากที่คุณประกาศตัวแปรแล้ว คุณสามารถเปลี่ยนค่าที่มันจัดเก็บได้
การเปลี่ยนค่าที่จัดเก็บในตัวแปรเป็นฟังก์ชันที่มีประโยชน์อย่างยิ่ง ตัวอย่างเช่น สมมติว่าคุณกำลังรับข้อมูลจากผู้ใช้ในโค้ดของคุณ คุณอาจต้องการเปลี่ยนค่าเริ่มต้นเป็นค่าที่ป้อนโดยผู้ใช้
พิจารณาตัวแปรต่อไปนี้:
username = "lassiter202" print(username)
ตัวแปรของเราชื่อ "username" โค้ดของเราคืนค่า: lassiter202 ตอนนี้ สมมติว่าเราต้องการเปลี่ยนชื่อผู้ใช้ของผู้ใช้เป็น lassiter303 เราสามารถทำได้โดยใช้โค้ดนี้:
username = "lassiter202" print(username) username = "lassiter303" print(username)
โค้ดของเราคืนค่า: lassiter303 ในตอนต้นของโปรแกรมของเรา ตัวแปร username จัดเก็บค่า lassiter202 ดังนั้น เมื่อเราไปพิมพ์ตัวแปรออกไปที่คอนโซล ค่า lassiter202 จะถูกคืนค่า
ภายหลังในโค้ดของเรา เรากำหนดค่าใหม่ให้ตัวแปร username เป็น lassiter303 นี่เปลี่ยนค่าของตัวแปรของเรา ดังนั้น เมื่อเราพิมพ์ตัวแปร username อีกครั้ง ค่า lassiter303 จะถูกคืนค่า เนื่องจากเรากำหนดค่าใหม่ให้ตัวแปรของเรา
กำหนดค่าให้หลายตัวแปร (Assign Values to Multiple Variables)
ในโค้ดของเราข้างต้น เรากำหนดค่าหนึ่งต่อตัวแปรต่อบรรทัดโค้ด
อย่างไรก็ตาม เป็นไปได้ที่จะกำหนดค่าให้หลายตัวแปรบนบรรทัดโค้ดเดียว เพื่อทำเช่นนั้น เราสามารถใช้เทคนิคที่เรียกว่าการกำหนดค่าหลายค่า (multiple assignment) ได้
สมมติว่าเราต้องการกำหนดค่าต่อไปนี้ให้กับตัวแปรเหล่านี้:
- espresso ควรเท่ากับ 2.10
- latte ควรเท่ากับ 2.75
- cappuccino ควรเท่ากับ 2.60
เราสามารถใช้โค้ดต่อไปนี้เพื่อกำหนดค่าเหล่านี้ให้กับตัวแปรที่สอดคล้องกัน:
espresso, latte, cappuccino = 2.10, 2.75, 2.60 print(espresso) print(latte) print(cappuccino)
โค้ดของเราคืนค่า:
2.10 2.75 2.60
เราสามารถกำหนดค่าให้ตัวแปรสามตัวของเราบนบรรทัดเดียว เราทำได้โดยแยกชื่อตัวแปรของเรา และค่าที่เราต้องการกำหนดให้ตัวแปรเหล่านั้น ด้วยเครื่องหมายจุลภาค
เช่นเดียวกัน คุณสามารถกำหนดค่าเดียวกันให้หลายตัวแปรบนบรรทัดเดียวได้
สมมติว่าเราต้องการกำหนดค่า 1 ให้กับตัวแปร count1, count2, และ count3 เราสามารถทำได้โดยใช้โค้ดนี้:
count1 = count2 = count3 = 1 print(count1) print(count2) print(count3)
โค้ดของเราคืนค่า:
1 1 1
ตัวแปรแต่ละตัวของเราถูกกำหนดค่า 1
แนวทางเหล่านี้ในการกำหนดตัวแปรมีประโยชน์เพราะพวกเขาช่วยให้คุณลดความยาวของโค้ดของคุณลง อย่างไรก็ตาม คุณควรใช้วิธีการกำหนดค่าให้ตัวแปรเหล่านี้ด้วยความระมัดระวัง
หากโค้ดของคุณดูสับสนด้วยคำสั่งการกำหนดค่าหลายค่ามากเกินไป คุณอาจต้องการลบบางส่วนออก นี่จะช่วยคุณรักษาความอ่านง่ายของงานของคุณ
จำนวนค่าที่คุณระบุควรเท่ากับจำนวนป้ายกำกับที่คุณระบุ หรือ คุณควรระบุหลายป้ายกำกับและค่าหนึ่งค่า คุณไม่ควร ตัวอย่างเช่น ระบุสองป้ายกำกับและเจ็ดค่า Python จะไม่รู้ว่าค่าใดควรกำหนดให้กับป้ายกำกับใด
ลบตัวแปร Python (Delete a Python Variable)
อาจมีสถานการณ์ที่คุณต้องการลบตัวแปรใน Python
เพื่อทำเช่นนั้น คุณสามารถใช้คำสั่ง del ของ Python คำสั่ง del keyword ช่วยให้คุณลบออบเจ็กต์ใน Python ได้ เช่น รายการ รายการในรายการ และตัวแปร
สมมติว่าเรามีตัวแปรชื่อ username ที่เราต้องการลบ เราสามารถลบตัวแปรได้โดยใช้โค้ดต่อไปนี้:
username = "linda101" del username print(username)
โค้ดของเราคืนค่า:
NameError: name 'username' is not defined
โค้ดของเราคืนค่าข้อผิดพลาดเมื่อเราพยายามพิมพ์ค่าของตัวแปร username นี่เป็นเพราะเราลบตัวแปรของเราโดยใช้คีย์เวิร์ด del ทันทีที่ del username ถูกรัน ตัวแปรของเราถูกลบและไม่จัดเก็บค่าใดๆ ในโค้ดของเราแล้ว
วิธีตั้งชื่อตัวแปร Python (How to Name a Python Variable)
ทุกภาษาโปรแกรมมิ่งมีแนวปฏิบัติที่ดีที่สุดของตัวเองเกี่ยวกับการตั้งชื่อตัวแปร
กฎสไตล์ (Style Rules)
นี่คือกฎหลักที่คุณควรระลึกไว้เมื่อตั้งชื่อตัวแปรใน Python:
- พวกเขาควรมีเฉพาะตัวเลข ตัวอักษร และอักขระ underscore
- ตัวแปรไม่สามารถเริ่มต้นด้วยตัวเลขได้
- พวกเขาไม่สามารถรวมช่องว่างได้
ดังนั้น หากคุณจัดเก็บที่อยู่อีเมลของผู้ใช้ ชื่อตัวแปร email หรือ email_address จะยอมรับได้ อย่างไรก็ตาม ชื่อตัวแปร email address หรือ &email_address จะไม่ทำงาน
สไตล์ตัวแปร (Variable Style)
ใน Python มีกฎสไตล์บางอย่างที่คุณควรระลึกไว้ นี่คือ:
- ตัวแปรไม่ควรเริ่มต้นด้วยตัวอักษรพิมพ์ใหญ่
- การใช้ camel case ไม่ได้รับการชอบ โปรดใช้การแยกคำด้วย underscore แทน
ดังนั้น ตัวแปร EmailAddress ไม่ถูกพิจารณาเป็น best practice เนื่องจากตัวแปรเริ่มต้นด้วยตัวอักษรพิมพ์ใหญ่ ทางเทคนิค ชื่อตัวแปรนี้ถูกต้อง แต่นักพัฒนาส่วนใหญ่ชอบเริ่มชื่อตัวแปรของพวกเขาด้วยตัวอักษรพิมพ์เล็ก
ตัวแปร emailAddress แม้จะยังถูกต้อง ก็ไม่ได้รับการชอบเช่นกัน เนื่องจากตัวแปรใช้ camel case (คำที่สองเริ่มด้วยตัวพิมพ์ใหญ่) ตัวแปรของเราไม่แยกแต่ละคำในตัวแปรโดยใช้ underscore
ความไวต่อตัวพิมพ์เล็ก/ใหญ่ (Case Sensitivity)
ยังคุ้มค่าที่จะบันทึกไว้ว่าตัวแปรคำนึงถึงตัวพิมพ์เล็ก/ใหญ่ (case-sensitive) ใน Python ตัวอย่างเช่น ตัวแปร email_address และ emailAddress จะถูกพิจารณาเป็นค่าที่แตกต่างกัน เนื่องจากตัวแปรทั้งสองใช้ case ต่างกัน อย่างไรก็ตาม คุณควรระมัดระวังและหลีกเลี่ยงการเขียนตัวแปรที่คล้ายกันเกินไป มิฉะนั้นคุณอาจสับสนพวกเขา
การเลือกชื่อที่ถูกต้อง (Choosing the Right Name)
สมมติว่าคุณปฏิบัติตามกฎข้างต้น ชื่อตัวแปรของคุณจะถูกยอมรับใน Python อย่างไรก็ตาม คุณควรยังคงแน่ใจว่าคุณเลือกชื่อที่ถูกต้องสำหรับตัวแปร ชื่อที่คุณเลือกควรเข้าใจง่ายและสะท้อนวัตถุประสงค์ของตัวแปร
หากคุณต้องการจัดเก็บที่อยู่อีเมลของผู้ใช้ email เป็นชื่อตัวแปรที่ดี user_identifier ไม่ชัดเจนเท่าไหร่ เกือบอะไรก็สามารถใช้ระบุผู้ใช้ได้ นี่จะไม่ทำให้เป็นชื่อตัวแปรที่ดีสำหรับจัดเก็บที่อยู่อีเมลของผู้ใช้
สรุป
ตัวแปร Python จัดเก็บค่าในโปรแกรม คุณสามารถอ้างอิงชื่อของตัวแปรเพื่อเข้าถึงค่าของมัน ค่าของตัวแปรสามารถเปลี่ยนแปลงได้ตลอดโปรแกรมของคุณ ตัวแปรถูกประกาศโดยใช้ไวยากรณ์นี้: name = value
ตัวแปร Python มีประโยชน์เพราะพวกเขาช่วยให้คุณลดความจำเป็นในการทำซ้ำค่าเดียวกันในโค้ดของคุณ
บทช่วยสอนนี้อภิปรายวิธีที่คุณสามารถใช้ตัวแปรในโค้ด Python ของคุณ ตอนนี้คุณพร้อมที่จะเริ่มทำงานกับตัวแปรอย่างมืออาชีพ Python.
การท้าทาย (Challenge)
ในฐานะการท้าทาย ให้ประกาศตัวแปรด้วยแอตทริบิวต์ต่อไปนี้:
- ชื่อควรเป็น "score"
- ค่าควรเป็น 9
จากนั้น ใช้ตัวดำเนินการคณิตศาสตร์เพื่อคูณค่าของ "score" ด้วยสอง คุณควรพิมพ์ค่าไปที่คอนโซลเมื่อคุณเสร็จสิ้น
ต่อไป ลองประกาศตัวแปรสามตัวชื่อ:
- student1grade
- student2grade
- student3grade
ตัวแปรเหล่านี้ควรมีค่า "A" ทั้งหมด คุณควรประกาศตัวแปรทั้งหมดบนบรรทัดเดียวกันเพราะพวกเขาใช้ค่าเดียวกัน
สำหรับคำแนะนำเกี่ยวกับหนังสือ Python ออนไลน์อันดับหนึ่ง หลักสูตร และทรัพยากรการเรียนรู้อื่นๆ โปรดอ่านคู่มือ How to Learn Python ที่สมบูรณ์ของเรา