

Python เป็นภาษาเขียนโปรแกรมระดับสูงที่ใช้กันอย่างกว้างขวางในการเขียนโปรแกรมสำหรับวัตถุประสงค์ทั่วไป ภาษา Python นั้นสร้างโดย Guido van Rossum และถูกเผยแพร่ครั้งแรกในปี 1991 Python นั้นเป็นภาษาแบบ interpreter ที่ถูกออกแบบโดยมีปรัชญาที่จะทำให้โค้ดอ่านได้ง่ายขึ้น และโครงสร้างของภาษานั้นจะทำให้โปรแกรมเมอร์สามารถเข้าใจแนวคิดการเขียนโค้ดโดยใช้บรรทัดที่น้อยลงกว่าภาษาอย่าง C++ และ Java ซึ่งภาษานั้นถูกกำหนดให้มีโครงสร้างที่ตั้งใจให้การเขียนโค้ดเข้าใจง่ายทั้งในโปรแกรมเล็กไปจนถึงโปรแกรมขนาดใหญ่
Python นั้นมีคุณสมบัติเป็นภาษาเขียนโปรแกรมแบบไดนามิกส์และมีระบบการจัดกาหน่วยความจำอัตโนมัติและสนับสนุน การเขียนโปรแกรมหลายรูปแบบ ที่ประกอบไปด้วย การเขียนโปรแกรมเชิงวัตถุ imperative การเขียนโปรแกรมแบบฟังก์ชัน และการเขียนโปรแกรมแบบขั้นตอน มันมีไลบรารีที่ครอบคลุมการทำงานอย่างหลากหลาย ตัวแปรในภาษา Python นั้นมีให้ใช้ในหลายระบบปฏิบัติการ ทำให้โค้ดของภาษา Python สามารถรันในระบบต่างๆ ได้อย่างกว้างขวาง C Python นั้นเป็นการพัฒนาในขั้นต้นของ Python ซึ่งเป็นโปรแกรมแบบ open source และมีชุมชนสำหรับเป็นต้นแบบในการพัฒนา เนื่องจากได้มีการนำไปพัฒนากระจายไปอย่างหลากหลาย C Python นั้นจึงถูกจัดการโดยองค์กรไม่แสวงหาผลกำไรอย่าง Python Software Foundation
ภาษา Python นั้นกำเนิดขึ้นในปลายปี 1980 และการพัฒนาของมันนั้นเริ่มต้นใน December 1989 โดย Guido van Rossum ที่ Centrum Wiskunde & Informatica (CWI) ในประเทศเนเธอร์แลนด์ เนื่องในผู้ประสบความสำเร็จในการสร้างภาษา ABC ที่มีความสามารถสำหรับการ exception handling และการติดต่อผสานกับระบบปฏิบัติการ Amoeba ซึ่ง Van Rossum นั้นเป็นผู้เขียนหลักการของภาษา Python และเขาทำหน้าเป็นกลางในการตัดสินใจสำหรับทิศทางการพัฒนาของภาษา Python
โครงสร้างของภาษา
Python ภาษา Python ในภาษาคอมพิวเตอร์นั้นก็มีโครงสร้างของภาษาเช่นเดียวกับภาษามนุษย์ ซึ่งสิ่งเหล่านี้ถูกกำหนดเพื่อเป็นรูปแบบ และวิธีในการเขียนโปรแกรมในภาษา Python ใช้สำหรับควบคุมวิธีที่จะเขียนโค้ดเพื่อให้เข้าใจโดยตัวแปรภาษาหรือคอมไพเลอร์ เริ่มต้นการเรียนรู้ในภาษา Python มาดูตัวอย่างของโปรแกรมอย่างง่าย โดยเป็นโปรแกรมที่ถามชื่อผู้ใช้และแสดงข้อความทักทายทางหน้าจอ มาเริ่มเขียนโปรแกรมแรกในภาษา Python โดยเขียนตามคำสั่งดังภาพ

ในตัวอย่างเป็นโปรแกรมในการรับชื่อและแสดงข้อความทักทายออกทางหน้าจอ ในการรันโปรแกรมสามารถรันได้หลายวิธี แต่ที่แนะนำคือการใช้ Python shell ให้เปิด Python shell ขึ้นมาแล้วกดสร้างไฟล์ใหม่โดยไปที่ File -> New File จะปรากฏกล่อง Text editor ของภาษา Python ขึ้นมา เพื่อรันโปรแกรม Run -> Run Module หรือกด F5 โปรแกรมจะเปลี่ยนกลับไปยัง Python shell และเริ่มต้นทำงาน

ผลลัพธ์การทำงานในการรันโปรแกรม test1.py จาก Python shell ในตัวอย่างเราได้กรอกชื่อเป็น "lerdmanee" และหลังจากนั้น โปรแกรมได้แสดงข้อความทักทายและจบการทำงาน
โมดูล (Module)
ในตัวอย่างโปรแกรมรับชื่อ เป็นโปรแกรมในบทเรียน Python และเราได้บันทึกเป็นไฟล์ที่ชื่อว่า test1.py ซึ่งไฟล์ของภาษา Python นั้นจะเรียกว่า Module ซึ่ง Module จะประกอบไปด้วยคลาส ฟังก์ชัน และ ตัวแปรต่างๆ และนอกจากนี้เรายังสามารถ import โมดูลอื่นเข้ามาในโปรแกรมได้ ซึ่งโมดูลอาจจะอยู่ภายใน package ซึ่งเป็นเหมือน directory ของ Module ในตัวอย่าง test1.py จึงเป็นโมดูลของโปรแกรมนั้น
คอมเมนต์ (Comment)
คอมเมนต์ในภาษา Python นั้นเริ่มต้นด้วยเครื่องหมาย # คอมเมนต์สามารถเริ่มต้นที่ตำแหน่งแรกของบรรทัด และหลังจากนั้น จะประกอบไปด้วย While space หรือโค้ดของโปรแกรม หรือคำอธิบาย ซึ่งโดยทั่วไปแล้วคอมเมนต์มักจะใช้ สำหรับอธิบายซอสโค้ดที่เราเขียนขึ้นและไม่มีผลต่อการทำงานของโปรแกรม
Statement
Statement คือคำสั่งการทำงานของโปรแกรม แต่ละคำสั่งในภาษา Python นั้นจะแบ่งแยกด้วยการขึ้นบรรทัดใหม่ ซึ่งจะแตกต่างจากภาษา C และ Java ซึ่งใช้เครื่องหมายเซมิโคลอน สำหรับการจบคำสั่งการทำงาน แต่อย่างไรก็ตามในภาษา Python นั้น สามารถมีหลายคำสั่งในบรรทัดเดียวกันได้โดยการใช้เครื่องหมายเซมิโคลอน ;

ในตัวอย่าง มี 4 คำสั่งในโปรแกรม สองบรรทัดแรกเป็นคำสั่งที่ใช้บรรทัดใหม่ในการจบคำสั่ง ซึ่งเป็นแบบปกติในภาษา Python และบรรทัดสุดท้ายมีสองคำสั่งในบรรทัดเดียวที่คั่นด้วยเครื่องหมาย ; สำหรับการจบคำสั่ง
Indentation and while space
ในภาษา Python นั้นใช้ While space และ Tab สำหรับกำหนดบล็อกของโปรแกรม เช่น คำสั่ง If Else For หรือการประกาศฟังก์ชัน ซึ่งคำสั่งเหล่านี้นั้นเป็นคำสั่งแบบบล็อก โดยจำนวนช่องว่างที่ใช้นั้นต้องเท่ากัน มาดูตัวอย่างของบล็อกคำสั่งในภาษา Python

ในตัวอย่าง เป็นบล็อกของโปรแกรมจาก 3 คำสั่ง ในคำสั่งแรกคือ If ในบล็อกนี้มีสองคำสั่งย่อยอยู่ภายใน ที่หัวของบล็อกนั้นจะต้องมีเครื่องหมาย : กำหนดหลังคำสั่งในการเริ่มต้นบล็อกเสมอ อีกสองบล็อกสุดท้ายนั้นเป็นคำสั่ง Else และ For ซึ่งมีหนึ่งคำสั่งย่อยอยู่ภายใน ในภาษา Python นี้เข้มงวดกับช่องว่างภายในบล็อกมาก นั้นหมายความว่าทุกคำสั่งย่อยภายในบล็อกนั้น ต้องมีจำนวนช่องว่างเท่ากันเสมอ
Literals
ในการเขียนโปรแกรม Literal คือเครื่องหมายที่ใช้แสดงค่าของค่าคงที่ในโปรแกรม ในภาษา Python นั้นมี Literal ของข้อมูลประเภทต่างๆ เช่น Integer Floating-point number และ String หรือแม้กระทั่งตัวอักษรและ Boolean ตัวอย่างของการกำหนด Literal ให้กับตัวแปรในภาษา Python

ในตัวอย่าง เป็นการกำหนด Literal ประเภทต่างๆ ให้กับตัวแปร ในค่าที่เป็นแบบตัวเลขนั้นสามารถกำหนดค่าลงไปโดยตรงได้ทันที และสามารถกำหนดในรูปแบบสั้นได้อย่างในตัวแปร b และสำหรับ Boolean นั้นจะเป็น True ส่วน String หรือ Character นั้นจะต้องอยู่ภายในเครื่องหมาย double quote หรือ single quote เสมอ
Expressions
Expression คือการทำงานร่วมกันระหว่างค่าตั้งแต่หนึ่งไปจนถึงหลายค่า โดยค่าเหล่านี้จะมีตัวดำเนินการสำหรับควบคุมการทำงาน ในภาษา Python นั้น Expression จะมีสองแบบคือ Boolean expression เป็นการกระทำกันของตัวแปรและตัวดำเนินการ และจะได้ผลลัพธ์เป็นค่า Boolean โดยทั่วไปแล้วมักจะเป็นตัวดำเนินการเปรียบเทียบค่าและตัวดำเนินการตรรกศาสตร์ และ Expression ทางคณิตศาสตร์ คือการกระทำกันกับตัวดำเนินการและได้ค่าใหม่ที่ไม่ใช้ Boolean นี่เป็นตัวอย่างของ Expressions ในภาษา Python

ในตัวอย่าง เรามีตัวแปร a และ b และกำหนดค่าให้กับตัวแปรเหล่านี้และทำงานกับตัวดำเนินการประเภทต่างๆ ที่แสดง Expression ในรูปแบบของ Boolean expression ที่จะได้ผลลัพธ์สุดท้ายเป็นเพียงค่า True และ False เท่านั้น ส่วน Non-Boolean expression นั้นสามารถเป็นค่าใดๆ ที่ไม่ใช่ Boolean
Keywords
Keyword เป็นคำที่ถูกสงวนไว้ในการเขียนโปรแกรมภาษา Python เราไม่สามารถใช้คำสั่งเหล่านี้ในการตั้งชื่อตัวแปร ชื่อฟังก์ชัน คลาส หรือ identifier ใดๆ ที่กำหนดขึ้นโดยโปรแกรมเมอร์ นี่เป็นรายการของ Keyword ในภาษา Python
False |
None |
True |
and |
as |
assert |
break |
class |
continue |
def |
del |
el if |
else |
except |
finally |
for |
from |
global |
if |
import |
in |
is |
lambda |
nonlocal |
not |
or |
pass |
raise |
return |
try |
while |
with |
yield |
|
|
|


ตัวแปรและประเภทข้อมูล
ตัวแปร
ตัวแปร (variable) คือชื่อหรือเครื่องหมายที่กำหนดขึ้นสำหรับใช้เก็บค่าในหน่วยความจำ ตัวแปรจะมีชื่อ (identifier) สำหรับใช้ในการอ้างถึงข้อมูลของมัน ในการเขียนโปรแกรม ค่าของตัวแปรสามารถที่จะกำหนดได้ใน run-time หรือเปลี่ยนแปลงอยู่ตลอดเวลา ในขณะที่โปรแกรมทำงาน (executing)
ในการเขียนโปรแกรมคอมพิวเตอร์นั้น ตัวแปรจะแตกต่างจากตัวแปรในทางคณิตศาสตร์ ค่าของตัวแปรนั้น ไม่จำเป็นต้องประกอบไปด้วยสูตร หรือสมการที่สมบูรณ์เหมือนกับในคณิตศาสตร์ ในคอมพิวเตอร์ ตัวแปรนั้นอาจจะมีการทำงานซ้ำๆ เช่น การกำหนดค่าในที่หนึ่ง และนำไปใช้อีกที่หนึ่งในโปรแกรม และนอกจากนี้ยังสามารถกำหนดค่าใหม่ให้กับตัวแปรได้ตลอดเวลา ต่อไปเป็นตัวอย่างของการประกาศตัวแปรในภาษา Python

ในตัวอย่าง เราได้ทำการประกาศ 3 ตัวแปร ในการประกาศตัวแปรในภาษา Python คุณไม่จำเป็นต้องระบุประเภทของตัวแปร ในตอนที่ประกาศเหมือนในภาษา C ในตัวแปร a มีค่าเป็น 3 และเป็นประเภทเป็น Integer ตัวแปร b มีค่าเป็น 4.92 และเป็นประเภทเป็น Float และตัวแปร c มีค่าเป็น "marcuscode.com" และเป็นประเภท String ภายหลังเราได้เปลี่ยนค่าของตัวแปร c เป็น 10.5 ตัวแปรกลายเป็นประเภท Float
Numbers
ในภาษา Python นั้นสนับสนุนข้อมูลแบบตัวเลข ซึ่งข้อมูลประเภทนี้จะแบ่งออกเป็น Integer Float Decimal และ Complex อย่างไรก็ตามเราจะเน้นย้ำใน Integer ซึ่งเป็นการเก็บข้อมูลแบบจำนวนเต็ม และ Float เป็นข้อมูลแบบจำนวนจริง สำหรับประเภทแบบ Decimal นั้นแตกต่างไปจาก Float คือสามารถเก็บความละเอียดของจุดทศนิยมได้มากกว่า นอกจากนี้ Python ยังสนับสนุนตัวเลขในรูปแบบ Complex ที่แสดงในแบบ a +bj ต่อไปเป็นตัวอย่างในการประกาศและใช้งานตัวแปรแบบตัวเลขในภาษา Python
ในตัวอย่าง เป็นการประกาศและใช้งานตัวแปรประเภท Integer เราได้ทำการประกาศตัวแปรและกำหนดค่าให้กับ a และ b ในการแสดงผลในรูปแบบของ String format กับฟังก์ชัน print() นั้นจะใช้ specifier เป็น %d เราสามารถกำหนดค่าให้กับตัวแปรได้โดย Literal หรือ Expression และการหารตัวเลขในภาษา Python นั้นจะได้ค่าเป็น Float เสมอ ถึงแม้ตัวเลขทั้งสองจะเป็น Integer ก็ตาม เช่นในตัวแปร d
String
String นั้นเป็นประเภทข้อมูลที่สำคัญและใช้งานทั่วไปในการเขียนโปรแกรม ในภาษาเขียนโปรแกรมส่วนมากแล้ว จะมีประเภทข้อมูลแบบ String และในภาษา Python เช่นกัน String เป็นลำดับของตัวอักษรหลายตัวเรียงต่อกัน ซึ่งในภาษา Python นั้น String จะอยู่ในเครื่องหมาย Double quote หรือ Single quote เท่านั้น นอกจากนี้ในภาษา Python ยังมีฟังก์ชันในการจัดการกับ String มากมายซึ่งเราจะพูดอีกครั้งในบทของ String ในบทนี้มาทำความรู้จักกับ String เบื้องต้นกันก่อน

ในตัวอย่าง เป็นการประกาศตัวแปรประเภท String สองตัวแปรแรกเป็นการประโดยการใช้ Double quote และสองตัวแปรต่อมาเป็นการใช้ Single quote ซึ่งคุณสามารถใช้แบบไหนก็ได้ แต่มีสิ่งที่แตกต่างกันเล็กน้อยคือเกี่ยวกับการกำหนดตัวอักพิเศษ หรือเรียกว่า Escape character
List
List เป็นประเภทข้อมูลที่เก็บข้อมูลแบบเป็นชุดและลำดับ กล่าวคือมันสามารถเก็บข้อมูลได้หลายค่าในตัวแปรเดียว และมี Index สำหรับเข้าถึงข้อมูล ในภาษา Python นั้น List จะเป็นเหมือนอาเรย์ในภาษา C มันสามารถเก็บข้อมูลได้หลายตัว และยังสามารถเป็นประเภทข้อมูลที่แตกต่างกันได้อีกด้วย มาดูการประกาศและใช้งาน List ในเบื้องต้น

ในตัวอย่าง เราได้ทำการประกาศ 3 Lists โดยตัวแปรแรกนั้นเป็น List ของตัวเลข และตัวแปรที่สองเป็น List ของ String และตัวแปรสุดท้ายเป็น List แบบรวมกันของประเภทข้อมูล เราใช้ฟังก์ชัน print() ในการแสดงผลข้อมูลใน List และใช้คำสั่ง For loop ในการอ่านค่าในลิสต์และนำมาแสดงผลเช่นกัน

ฟังก์ชันที่ใช้กับตัวแปร
ในภาษา Python นั้นมีฟังก์ชันที่สร้างมาเพื่อให้ใช้งานกับตัวแปร เช่น ฟังก์ชันสำหรับหาขนาดของตัวแปร ฟังก์ชันในการหาประเภทของตัวแปร ฟังก์ชันลบตัวแปรออกไปในหน่วยความจำ และฟังก์ชันในการตรวจสอบว่าตัวแปรมีอยู่หรือไม่ ซึ่งในบางครั้งการเขียนโปรแกรมก็จำเป็นที่คุณอาจจะต้องมีการตรวจสอบสิ่งเหล่านี้ในขณะที่โปรแกรมทำงาน นี่เป็นตัวอย่างการใช้งาน

ในตัวอย่าง เราได้ประกาศตัวแปรกับประเภทต่างๆ เราได้ฟังก์ชัน getsizeof() สำหรับหาขนาดของตัวแปรที่มีหน่วยเป็น Byte และฟังก์ชัน type() สำหรับประเภทของตัวแปรว่าอยู่ในคลาสไหน ฟังก์ชัน del() สำหรับยกเลิก หรือลบการประกาศตัวแปรออกไป จากหน่วยความจำ และสุดท้ายเป็นการตรวจสอบว่าตัวแปรถูกประกาศและหรือยังในฟังก์ชัน locals() สำหรับตรวจสอบตัวแปร ในโมดูลปัจจุบัน หรือ globals() สำหรับตรวจสอบตัวแปรในโปรแกรมทั้งหมด

การรับค่าและการแสดงผล
การรับค่าและการแสดงผลพื้นฐานในภาษา 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 หมายถึงการขึ้นบรรทัดใหม่ มาดูตัวอย่างการใช้งานฟังก์ชัน

ในตัวอย่าง เป็นการแสดงผลในภาษา Python โดยในคำสั่งแรกและคำสั่งที่สองนั้นเป็นการแสดงข้อความ และในคำสั่งที่สามเป็นการส่งค่าแบบหลายอาร์กิวเมนต์ และในสองคำสั่งสุดท้ายเป็นการแสดงผลข้อมูลจากตัวแปร name และตัวแปร year

การรับค่าจาก Keyboard ด้วยฟังก์ชัน input()
นอกจากการแสดงผลแล้วนั้น การติดต่อกับผู้ใช้ในอีกรูปแบบหนึ่งคือการรับค่า โดยทั่วไปแล้วมักจะเป็นการรับค่าทางคีย์บอร์ด ในภาษา Python เราใช้ฟังก์ชัน input() สำหรับการรับค่า String จากทางคีย์บอร์ด มาดูตัวอย่างการรับค่าจากผู้ใช้ในภาษา Python

ในตัวอย่าง เป็นสำหรับการรับค่าชื่อจากคีย์บอร์ดและแสดงข้อความทักทายชื่อดังกล่าว ฟังก์ชัน input() เราได้ส่งอาร์กิวเมนต์เข้าไป ในฟังก์ชันเพื่อเป็นข้อความบอกวิธีการใส่ค่ากับผู้ใช้ ฟังก์ชันจะส่งค่ากลับเป็น String ที่ผู้ใช้กรอกเข้ามาและจบการรับค่าด้วย การขึ้นบรรทัดใหม่ โดยที่ \n จะถูกตัดออกไป

ผลลัพธ์การทำงานของโปรแกรม โดยเราได้กรอกชื่อ "Malee" และโปรแกรมแสดงข้อความทักทายทางหน้าจอ
ในการรับค่าด้วยฟังก์ชัน input() นั้นจะใช้กับการรับค่าที่เป็น String เท่านั้น และในการที่จะรับข้อมูลประเภทอื่นๆ เช่น ตัวเลข เราสามารถใช้ฟังก์ชันที่มากับภาษา Python ในการแปลงข้อมูลจาก String ไปเป็นข้อมูลประเภทอื่นได้ ต่อไปมาดูตัวอย่างการรับค่าตัวเลขในภาษา Python

ในตัวอย่าง เป็นโปรแกรมในการรับค่าตัวเลขสองตัวจากคีย์บอร์ด เราใช้ฟังก์ชัน int() เพื่อแปลงข้อมูลแบบ String ให้เป็น Integer และนำมาใส่ในตัวแปร a และ b ตามลำดับ หลังจากนั้นเราแสดงผลบวกของตัวเลขทั้งสอง

ผลลัพธ์การทำงานของโปรแกรม เราได้กรอกตัวเลขสองตัวและโปรแกรมแสดงผลรวมออกมา ในตัวอย่างคุณเห็นว่าเราสามารถใช้ฟังก์ชัน input() ในการรับค่าตัวเลขโดยการใช้ฟังก์ชัน int() ในการแปลง คุณสามารถรับค่าตัวเลขแบบอื่นได้เช่นกัน เช่น การใช้ฟังก์ชัน float() สำหรับแปลงข้อมูลแบบทศนิยม
ตัวดำเนินการ
ตัวดำเนินการ (Operators) คือกลุ่มของเครื่องหมายหรือสัญลักษณ์ที่ใช้ทำงานเหมือนกับฟังก์ชัน แต่แตกต่างกันตรงไวยากรณ์หรือความหมายในการใช้งาน ในภาษา Python นั้นสนับสนุนตัวดำเนินการประเภทต่างๆ สำหรับการเขียนโปรแกรม เช่น ตัวดำเนินการ + เป็นตัวดำเนินการทางคณิตศาสตร์ที่ใช้สำหรับการบวกตัวเลขเข้าด้วยกัน หรือตัวดำเนินการ > เป็นตัวดำเนินการเพื่อให้เปรียบเทียบค่าสองค่า
ตัวดำเนินการในภาษา Python
- ตัวดำเนินการกำหนดค่า Assignment operators
- ตัวดำเนินการทางคณิตศาสตร์ Arithmetic operators
- ตัวดำเนินการเปรียบเทียบ Comparison operators
- ตัวดำเนินการตรรกศาสตร์ Logical operators
- ตัวดำเนินการระดับบิต Bitwise operators
- ตัวดำเนินการแบบลำดับ Sequence Operators
- การตรวจสอบค่าความจริง Truth Value Testing
ตัวดำเนินการกำหนดค่า Assignment operator
ตัวดำเนินการที่เป็นพื้นฐานที่สุดสำหรับการเขียนโปรแกรมในทุกๆ ภาษาก็คือ ตัวดำเนินการกำหนดค่า (Assignment operator) ตัวดำเนินการนี้แสดงโดยใช้เครื่องหมายเท่ากับ (=) มันใช้สำหรับกำหนดค่าให้กับตัวแปร มาดูตัวอย่างการใช้งานในภาษา Python

ในตัวอย่าง เป็นการใช้งานตัวดำเนินการกำหนดค่าสำหรับกำหนดค่าให้กับตัวแปรประเภทต่างๆ โดยทั่วไปแล้ว ตัวดำเนินการกำหนดค่านั้นเกือบจะใช้ในทุกๆ ที่ในโปรแกรมและเป็นตัวดำเนินการที่ใช้บ่อยที่สุดของในบรรดาตัวดำเนินการทั้งหมด
ตัวดำเนินการทางคณิตศาสตร์ Arithmetic operators
ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic operators) คือตัวดำเนินการที่ใช้สำหรับการคำนวณทางคณิตศาสตร์ในพื้นฐาน เช่น การบวก การลบ การคูณ และการหาร มากไปกว่านั้น ในภาษา Python ยังมีตัวดำเนินการทางคณิตศาสตร์เพิ่มเติม เช่น การหารเอาเศษ (Modulo) การหารแบบเลขจำนวนเต็ม และการยกกำลัง เป็นต้น
Operator |
Name |
Example |
+ |
Addition |
a + b |
- |
Subtraction |
a - b |
* |
Multiplication |
a * b |
/ |
Division |
a / b |
// |
Division and floor |
a // b |
% |
Modulo |
a % b |
** |
Power |
a ** b |
ในตารางข้างบน เรามีตัวดำเนินการทางคณิตศาสตร์ประเภทต่างๆ สำหรับการคำนวณเกี่ยวกับคณิตศาสตร์เบื้องต้น อาจจะคุ้นเคยกับตัวดำเนินการบวก ลบ คูณ หาร ในการเรียนระดับมัธยมศึกษามาบ้างแล้ว ในภาษา Python นั้นสนับสนุนตัวดำเนินการสำหรับการหารเอาเศษเช่นเดียวกับภาษาอื่นๆ และนอกจากนี้ ยังมีตัวดำเนินการแบบการหารที่ได้ผลลัพธ์เป็นจำนวนเต็ม และการหารเลขยกกำลังเพิ่มเข้ามา
ตัวอย่างการใช้ตัวดำเนินการประเภทต่างๆ ในภาษา Python

ในตัวอย่าง ได้ประกาศตัวแปร a และ b และกำหนดค่าให้กับตัวแปรทั้งสองเป็น 5 และ 3 ตามลำดับ ในสี่ตัวดำเนินการแรกเป็นการดำเนินการทางคณิตศาสตร์พื้นฐาน สำหรับตัวดำเนินการ // เป็นการหารเช่นเดียวกัน แต่ผลลัพธ์ของการหารนั้นจะตัดส่วนที่เป็นทศนิยมทิ้งไป ส่วนตัวดำเนินการ % นั้นเป็นการหารโดยผลลัพธ์จะเป็นเศษของการหารแทน ส่วนสุดท้าย ** นั้นแทนการยกกำลัง

ตัวดำเนินการเปรียบเทียบ Comparison operators
ตัวดำเนินการเปรียบเทียบ (Comparison operators) คือตัวดำเนินการที่ใช้สำหรับเปรียบเทียบค่าหรือค่าในตัวแปร ซึ่งผลลัพธ์ของการเปรียบเทียบนั้นจะเป็น True หากเงื่อนไขเป็นจริง และเป็น False หากเงื่อนไขไม่เป็นจริง ตัวดำเนินการเปรียบเทียบมักจะใช้กับคำสั่งตรวจสอบเงื่อนไข if และคำสั่งวนซ้ำ for while เพื่อควบคุมการทำงานของโปรแกรม
Operator |
Name |
Example |
< |
Less than |
a < b |
<= |
Less than or equal |
a <= b |
> |
Greater than |
a > b |
>= |
Greater than or equal |
a >= b |
== |
Equal |
a == b |
!= |
Not equal |
a != b |
is |
Object identity |
a is b |
is not |
Negated object identity |
a is not b |
แสดงให้เห็นถึงตัวดำเนินการเปรียบเทียบประเภทต่างๆ เช่น การเปรียบเทียบความเท่ากัน โดยคุณสามารถใช้ตัวดำเนินการเปรียบเทียบ เพื่อเปรียบเทียบว่าค่าในตัวแปรนั้นเท่ากันหรือไม่ หรือการเปรียบเทียบค่ามากกว่าหรือน้อยกว่า ต่อไปมาดูตัวอย่างการใช้งาน ตัวดำเนินการเปรียบเทียบในภาษา Python

ในตัวอย่าง เป็นการเปรียบเทียบค่าประเภทต่างๆ ในคำสั่งกลุ่มแรกนั้นเป็นการใช้ตัวดำเนินการเปรียบเทียบกับค่าคงที่ ในกลุ่มที่สองเป็นการใช้งานกับตัวแปร ซึ่งถ้าหากเงื่อนไขเป็นจริงจะได้ผลลัพธ์เป็น True และถ้าหากไม่จริงจะได้ผลลัพธ์เป็น False

ตัวดำเนินการตรรกศาสตร์ Logical operators
ตัวดำเนินการตรรกศาสตร์ (Logical operators) คือตัวดำเนินการที่ใช้สำหรับประเมินค่าทางตรรกศาสตร์ ซึ่งเป็นค่าที่มีเพียงจริง (True) และเท็จ (False) เท่านั้น โดยทั่วไปแล้วเรามักใช้ตัวดำเนินการตรรกศาสตร์ในการเชื่อม Boolean expression ตั้งแต่หนึ่ง expression ขึ้นไปและผลลัพธ์สุดท้ายที่ได้นั้นจะเป็น Boolean
ตารางของตัวดำเนินการตรรกศาสตร์ในภาษา Python
Operator |
Example |
Result |
and |
a and b |
True if a and b are true, else False |
or |
a or b |
True if a or b are true, else False |
not |
not a |
True if a is False, else True |
ในภาษา Python นั้นมีตัวดำเนินการทางตรรกศาสตร์ 3 ชนิด คือ ตัวดำเนินการ and เป็นตัวดำเนินการที่ใช้เชื่อมสอง Expression และได้ผลลัพธ์เป็น True หาก Expression ทั้งสองเป็น True ไม่เช่นนั้นจะได้ผลลัพธ์เป็น False ตัวดำเนินการ or เป็นตัวดำเนินการที่ใช้เชื่อมสอง Expression และได้ผลลัพธ์เป็น True หากมีอย่างน้อยหนึ่ง Expression ที่เป็น True ไม่เช่นนั้นได้ผลลัพธ์เป็น False และตัวดำเนินการ not ใช้ในการกลับค่าจาก True เป็น False และในทางกลับกัน มาดูตัวอย่างการใช้งาน

ในตัวอย่าง เราได้สร้างโปรแกรมจำลองในการเข้าสู่ระบบของหน้าเว็บไซต์ ในการที่จะเข้าสู่ระบบ ผู้ใช้ต้องกรอกชื่อผู้ใช้และรหัสผ่านให้ถูกต้อง ดังนั้นเราจึงใช้ตัวดำเนินการ and เพื่อตรวจสอบว่าทั้งชื่อผู้ใช้และรหัสผ่านนั้นถูกต้อง ทำให้เงื่อนไขเป็นจริงและในบล็อกคำสั่ง if จะทำงาน

ผลลัพธ์การทำงานของโปรแกรม เมื่อเรากรอกชื่อผู้ใช้เป็น "admin" และรหัสผ่านเป็น "3456" ซึ่งถูกต้องทั้งสองอย่างทำให้สามารถเข้าสู่ระบบได้สำเร็จ
ตัวดำเนินการระดับบิต Bitwise operators
ตัวดำเนินการระดับบิต (Bitwise operators) เป็นตัวดำเนินการที่ทำงานในระดับบิตของข้อมูล หรือจัดการข้อมูลในระบบเลขฐานสอง โดยทั่วไปแล้วตัวดำเนินการระดับบิตมักจะใช้กับการเขียนโปรแกรมระดับต่ำ เช่น การเขียนโปรแกรมเพื่อควบคุมฮาร์ดแวร์ อย่างไรก็ตาม ในภาษา Python นั้นสนับสนุนตัวดำเนินการเพื่อให้เราสามารถจัดการกับบิตของข้อมูลโดยตรงได้
Operator |
Name |
Result |
& |
Bitwise and |
a & b |
| |
Bitwise or |
a | b |
^ |
Bitwise exclusive or |
a ^ b |
<< |
Bitwise shifted left |
a << b |
>> |
Bitwise shifted right |
a >> b |
~ |
Bitwise invert |
~a |
ตัวดำเนินการระดับบิตใช้จัดการกับบิตของข้อมูลที่เป็นตัวเลข โดยปกติแล้วเมื่อเรากำหนดค่าให้กับตัวแปรนั้น คอมพิวเตอร์จะเก็บค่าเหล่านี้ในหน่วยความจำในรูปแบบของตัวเลขฐานสอง (binary form) ซึ่งประกอบไปด้วยเพียง 1 และ 0 เท่านั้น ดังนั้นเราใช้ตัวดำเนินการเหล่านี้ในการจัดการกับข้อมูลได้โดยตรง

ในตัวอย่าง เป็นการใช้ตัวดำเนินการระดับบิตประเภทต่างๆ ในภาษา Python เรามีตัวแปร a และตัวแปร b และกำหนดค่า 3 และ 5 ให้กับตัวแปรตามลำดับ เราได้คอมเมนต์ค่าในฐานสองไว้ด้วย ในการทำงานนั้นโปรแกรมจะทำงานทีละคู่ของบิต

ตัวดำเนินการแบบลำดับ Sequence Operators
ในภาษา Python มีตัวดำเนินการในการตรวจสอบการเป็นสมาชิกในออบเจ็คประเภท List Tuple และ Dictionary ตัวดำเนินการ in ใช้ในการตรวจสอบถ้าหากค่านั้นมีอยู่ในออบเจ็ค ถ้าหากพบจะได้ผลลัพธ์เป็น True และหากไม่พบจะได้ผลลัพธ์เป็น False และตัวดำเนินการ not in นั้นจะทำงานตรงกันข้าม หากไม่พบจะได้ผลลัพธ์เป็น True แทน
ตารางของตัวดำเนินการในการตรวจสอบการเป็นสมาชิกในออบเจ็ค ในภาษา Python
Operator |
Name |
Example |
in |
Object memberships |
a in b |
not in |
Negated object memberships |
a not in b |
ตัวอย่างการใช้งานของตัวดำเนินการเหล่านี้ เราจะใช้ในการตรวจสอบการมีอยู่ของข้อมูลใน List และ Dictionary

ในตัวอย่าง เป็นการตรวจสอบข้อมูลใน List และ Dictionary ในโปรแกรมของเรามีตัวแปร List names ซึ่งมีรายชื่ออยู่ภายใน เราใช้คำสั่ง if เพื่อตรวจสอบว่า "Mateo" นั้นมีอยู่ใน List หรือไม่ ผลลัพธ์ที่ได้นั้นจะเป็นจริงเพราะชื่อมีอยู่ และต่อมาตรวจสอบ "Jonathan" นั้นไม่พบชื่อดังกล่าวใน List ต่อมาเป็นการตรวจสอบการมีอยู่ของข้อมูลใน Dictionary เนื่องจาก Dictionary นั้นเป็นข้อมูลที่เก็บในคู่ของ Key และ Values เพื่อตรวจสอบกับ Key เราต้องใช้เมธอด keys() และเมธอด values() สำหรับ Value

การตรวจสอบค่าความจริง Truth Value Testing
เนื่องจากตัวแปรในภาษา Python นั้นเป็นประเภทข้อมูลแบบไดนามิกส์ ดังนั้นออบเจ็คต่างๆ นั้นสามารถที่จะทำมาประเมินสำหรับค่าความจริง โดยการใช้คำสั่งตรวจสอบเงื่อนไขเช่น if หรือ while หรือการกระทำเพื่อตรวจหาค่า Boolean โดยค่าข้างล่างนี้เป็นค่าที่ถูกประเมินเป็น False
- None
- False
- ค่าศูนย์ของข้อมูลประเภทตัวเลขใดๆ เช่น 0, 0L, 0.0, 0j
- ข้อมูลแบบลำดับที่ว่างเปล่า เช่น '', (), []
- ข้อมูลแบบ map ที่ว่างเปล่า {}
ตัวแปรจากคลาสที่ผู้ใช้สร้างขึ้น และคลาสดังกล่าวถูกกำหนดเมธอด __nonzero__() หรือ __len__() และเมธอดเหล่านี้ส่งค่ากลับ เป็นศูนย์หรือค่า Boolean False
ส่วนค่าอื่นๆ ที่นอกเหนือจากที่ได้กล่าวไปนั้นจะถูกประเมินเป็น True ทั้งหมด และออบเจ็คของประเภทใดๆ ก็เป็น True เช่นกัน



ความเป็นมาของโปรแกรม Scratch
โปรแกรม Scratch เป็นโปรแกรมภาษาคอมพิวเตอร์ภาษาหนึ่งที่พัฒนาขึ้นมาเพื่อให้นักเรียนได้เรียนรู้ การเขียนโปรแกรมคอมพิวเตอร์ ในรูปแบบของกราฟิก ลากแล้ววาง อาจมีการกำหนดค่าบ้างเล็กน้อย นักเรียนสามารถเรียนรู้ได้ง่าย สนุกสนานกับการเรียนรู้ ฝึกกระบวนการคิดอย่างเป็นขั้นเป็นตอนอย่างสร้างสรรค์ สามารถสร้างชิ้นงานได้หลากหลายตามความต้องการหรือตามจินตนาการ เช่น การสร้างการเคลื่อนไหว สร้างเป็นเรื่องราว สร้างเกม หรือด้านดนตรีตลอดจนงานศิลปะ ฯลฯ
เหมาะสำหรับการเริ่มต้นในการหัดเขียนโปรแกรมเป็นอย่างยิ่ง เมื่อเด็กเกิดความคิดสร้างสรรค์ขึ้นมาสักอย่าง ก็มีหลายวิธีที่จะแปรเปลี่ยน ความคิดให้เป็นผลงานที่จับต้องได้ และสะท้อนความคิดของเขาได้ ในยุคปัจจุบัน คอมพิวเตอร์เป็นอุปกรณ์ที่ใช้กันแพร่หลายแล้ว และเป็นเครื่องมือชิ้นหนึ่งที่ใช้สอนในโรงเรียน โปรแกรมสำเร็จรูปสามารถสร้างผลงานอะไร ได้มากมาย แต่ไม่ยืดหยุ่นพอที่จะให้สะท้อนความคิด ความต้องการ ของแต่ละคนได้
ส่วนประกอบหลักของโปรแกรม
หน้าต่างการทำงานของโปรแกรม Scratch มีส่วนประกอบหลักดังนี้

 
3. ข้อมูลของตัวละครที่ถูกเลือก

4. กลุ่มบล็อก (Block Palette)
5. บล็อกในกลุ่มที่เลือก
6. พื้นที่ทำงาน (Script Area)
7. เวที (Stage)
8. รายการตัวละคร และเวทีที่ใช้ในโปรเจกต์ปัจจุบัน (Sprites Pane)
9. แถบเมนูแสดงข้อมูลสคริปต์ costumes และเสียงของตัวละครหรือเวที
10. พื้นที่การแสดงผลของการทำงานของโปรแกรมที่มีขนาดที่เปลี่ยนแปลง
รู้จักโปรเจกต์
โปรเจกต์ใน Scratch มีโครงสร้าง 3 ส่วนประกอบด้วย

1. เวที (Stage)
2. ตัวละคร (Sprite)
3. สคริปต์ (Script)
เวที เวทีมีขนาดกว้าง 480 หน่วย สูง 360 หน่วย ในแต่ละโปรเจกต์มีเวทีเดียว จึงมีชื่อเดียวและ ไม่สามารถเปลี่ยนชื่อได้ เวทีใช้แสดงผลการทำงานของสคริปต์ (script) เสียง (sound) หรือฉาก (background) ได้ และฉากที่จะแสดงบนเวทีจะต้องมีขนาดไม่เกินขนาดของเวที (480 X 360) ถ้าพื้นหลังที่ใช้มีขนาดใหญ่กว่า โปรแกรม Scratch จะลดขนาดพื้นหลังนั้นอัตโนมัติเพื่อให้พอดีกับขนาดของเวที

รายละเอียดของเวที
1. คลิก Stage เพื่อดูรายละเอียดของเวที
2. แท็บ Scripts ของเวที
3. แท็บ Backdrops
4. แท็บ Sounds
5. เพิ่มฉากใหม่ New Backdrop
6. ฉากทั้งหมดที่มีอยู่บนเวที การบอกตำแหน่งใดๆ บนเวทีจะบอกโดยใช้ค่า (x, y) โดยค่า x และ y ที่ตำแหน่ง (0, 0) จะอยู่ตรงกลาง


ตัวละคร
ตัวละครแต่ละตัวจะมีข้อมูลแตกต่างกัน โดยสามารถคลิก ที่ตัวละคร เพื่อดูข้อมูลของตัวละครนั้น เช่น ตัวละครปลา มีข้อมูลดังตาราง
1) ชื่อตัวละคร
โปรแกรมจะตั้งชื่อตัวละครให้เป็น Sprite1, Sprite2, Sprite3… ตามลำดับที่สร้างขึ้นโดยอัตโนมัติถ้าต้องการเปลี่ยนชื่อตัวละคร ให้พิมพ์ชื่อใหม่บนแถบชื่อหมายเลข 1 ตามภาพ


2) ชุดตัวละคร
ชุดตัวละคร (Costumes) เป็นภาพของตัวละคร ซึ่งสามารถเปลี่ยนแปลง ภาพเดิม หรือเพิ่มภาพใหม่ และอาจเขียนสคริปต์เพิ่มให้กับตัวละครเปลี่ยนชุด หรือให้มองเห็นเป็นการ เคลื่อนไหวใน รูปแบบต่างๆ ตามต้องการ

รายละเอียดชุดตัวละคร
1. คลิกที่ตัวละคร Monkey2
2. คลิกแท็บ Costumes
3. คลิกขวาที่ชุดตัวละครที่ต้องการ จะปรากฏเมนูคัดลอก ลบ และบันทึกชุดตัวละคร
4. ตัวละครในตัวอย่างมีชื่อว่า monkey2 ประกอบด้วยชุดตัวละคร 2 ชุด
 ชื่อชุดตัวละครที่ 1 ชื่อว่า monkey2-a มีลักษณะยกมือขึ้น 2 ข้าง
 ชื่อชุดตัวละครที่ 2 ชื่อว่า monkey2-b มีลักษณะมือลงทั้ง 2 ข้าง
5. พื้นที่ออกแบบและแก้ไขชุดตัวละครที่เลือก
สคริปต์
สคริปต์คือชุดคำสั่งสำหรับตัวละครหรือเวที เพื่อสั่งให้ตัวละครหรือเวทีทำงานตามวัตถุประสงค์ที่ต้องการโดยการเลือกสคริปต์จากกลุ่มบล็อก ซึ่งแบ่งเป็นกลุ่ม ดังนี้

เมื่อคลิกที่กลุ่มบล็อกใด จะปรากฏบล็อกในกลุ่มนั้น บล็อกสำหรับตัวละครและเวทีอาจมี ความแตกต่างกันบ้างเช่น กลุ่มบล็อก Motion ของตัวละครจะมีบล็อกดังรูปด้านซ้าย ส่วนรูปด้านขวาเป็นของเวทีซึ่งไม่มีบล็อก Motion เนื่องจากเวทีเคลื่อนที่ไม่ได้

สคริปต์หนึ่งๆ ประกอบไปด้วยบล็อกมาเรียงต่อกันเป็นกลุ่ม บางบล็อกสามารถอยู่ข้างในหรือซ้อนอยู่บนบล็อกอื่นได้
การสั่งให้โปรเจกต์เริ่มทำงานและหยุดทำงาน
การสั่งให้โปรเจกต์เริ่มทำงาน ทำได้โดยคลิก ซึ่งอยู่มุมขวาบนของเวที โดยทุกสคริปต์ของ ทุกตัวละคร และเวที ที่เริ่มต้นสคริปต์ด้วยบล็อก จะเริ่มทำงานพร้อมกันและถ้าต้องการหยุดการทำงานทั้งโปรเจกต์ ให้คลิก



|