ส่วนประกอบต่างๆ ของภาษา Python

ตัวแปร (Variables)

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

การตั้งชื่อตัวแปร
>>> a = 1
>>> a
1
>>> b = 2
>>> b
2
>>> a + b
3
>>> vat = 7
>>> vat
7

การตั้งชื่อตัวแปร

การตั้งชื่อตัวแปรสำหรับภาษา Python มีเงื่อนไขดังนี้

  1. ให้ขึ้นต้นด้วยอักษรตัวภาษาอังกฤษตัวใหญ่หรือตัวเล็กตั้งแต่ Aa ถึง Zz เท่านั้น

  2. ประกอบด้วยตัวอักษรหรือตัวเลข 0 ถึงเลข 9 หรือตัวขีดล่าง Underscore (_) แต่ห้ามมีช่องว่าง

  3. ตัวเลข 0-9 จะนำหน้าชื่อตัวแปรไม่ได้

  4. ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เป็นตัวแปรคนละตัวกัน (Case-Sensitive) เช่น Name ไม่ใช่ตัวแปรเดียวกันกับ name

  5. ใช้ใส่เครื่องหมาย = ในการตั้งตัวแปรหรือให้ค่าแก่ตัวแปร

  6. การตั้งชื่อตัวแปรควรตั้งอย่างสมเหตุสมผล

  7. ภาษา Python จะมีคำที่ถูกสงวนไว้ในการเขียนโปรแกรม หรือ Keywords ซึ่งห้ามนำมาใช้ในการตั้งชื่อตัวแปร ชื่อฟังก์ชัน หรือ ชื่อคลาส

การตั้งชื่อตัวแปรพร้อมกันหลายตัวแปร

ในการเขียนโปรแกรมภาษา Python ผู้เขียนโปรแกรมสามารถตั้งชื่อตัวแปรพร้อมกันได้หลายตัวแปร โดยพิมพ์ตัวแปรแต่ละตัวในบรรทัดเดียวกันและคั่นแต่ละตัวแปรด้วยเครื่องหมายคอมม่า (,) ตามด้วยเครื่องหมาย (=) และกำหนดค่าตามลงไปตามลำดับการวางตัวแปร ดังตัวอย่างต่อไปนี้

การตั้งชื่อตัวแปรพร้อมกันหลายตัวแปร
>>> a, b, c = 1, 'Jan', 2.36
>>> a
1
>>> b
'Jan'
>>> c
2.36

คำสงวน (Keywords)

คำสงวน (Keywords) ในภาษา Python จะมีการสงวนคำบางคำไว้เฉพาะเพื่อใช้เป็นคำสั่งของภาษา โดยผู้เขียนโปรแกรมไม่ควรนำมาใช้ในการตั้งชื่อตัวแปร โดยคำสงวนของภาษา Python มีดังต่อไปนี้ [Lut14]

คำสงวนในภาษา ​Python

False

class

finally

is

return

None

continue

for

lambda

try

True

def

from

nonlocal

while

and

del

global

not

with

as

elif

if

or

yield

assert

else

import

pass

break

except

in

raise

เลขประจำตัวตำแหน่งของตัวแปร

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

เลขประจำตัวตำแหน่งของตัวแปร
>>> a
1
>>> id(a)
1538021648

ชนิดของข้อมูล (Types)

สิ่งที่อยู่ในหน่วยความจำมีชนิดของข้อมูลหรือ Type อยู่ด้วย โดยใช้คำสั่ง type() เพื่อดูประเภทของข้อมูล ในภาษา Python มีประเภทของข้อมูลหลายๆ แบบ [Ram15] ทั้งแบบที่เป็นตัวเลขแบบจำนวนเต็ม ตัวเลขแบบมีจุดทศนิยม ตัวเลขที่มีค่าเป็นบวกหรือลบ ตัวอักษร ข้อความ และตรรกศาสตร์

  1. None คือไม่มีอะไร แทนความหมายว่าไม่มีค่าในตัวแปร

  2. int หรือ Integer คือตัวเลข เช่น 50 หรือ 630 เป็นต้น

  3. bool หรือ Boolean คือค่าถูกผิด เช่น True หรือ False เป็นต้น

  4. float หรือ Floating Point คือจำนวนทศนิยม เช่น 5.6 หรือ 4.23 เป็นต้น

  5. str หรือ String หรือข้อความ ซึ่งจะอยู่ภายใต้เครื่องหมาย ฟันหนู ("-") หรือ ฝนทอง ('-') เช่น "This is my dog." หรือ 'Jantawan'

ตัวอย่างการแสดงประเภทของข้อมูลมีดังต่อไปนี้

ประเภทของข้อมูล
>>> a = 1
>>> a
1
>>> type(a)
<class 'int'>
>>> firstname = 'Jantawan'
>>> firstname
'Jantawan'
>>> lastname = 'Piyawat'
>>> lastname
'Piyawat'
>>> id(firstname)
67626832
>>> type(firstname)
<class 'str'>
ประเภทของข้อมูล
>>> n = None
>>> n
>>> id(n)
263420692
>>> type(n)
<class 'NoneType'>
>>> yes = True
>>> no = False
>>> type(yes)
<class 'bool'>
>>> degree = 1.1
>>> id(degree)
72213072
>>> type(degree)
<class 'float'>

เครื่องหมายสำหรับการคำนวณทางคณิตศาสตร์

การคำนวณทางคณิตศาสตร์ (Arithmetic Operators)

เครื่องหมายสำหรับการคำนวณเรียกว่า Arithmetic Operators เช่น เครื่องหมายบวก ลบ คูณ หาร การยกกำลัง การหารเอาเศษ การหารเอาจำนวนเต็ม เป็นต้น การคำนวณทางคณิตศาสตร์แบบซับซ้อนจะต้องมีลำดับในการคำนวณซึ่งเหมือนกับการคำนวณคณิตศาสตร์ทั่วไป คือ ในการแก้สมการทางคณิตศาสตร์จะต้องทำในวงเล็บก่อน ตามด้วยเลขยกกำลัง แล้วจึงตามด้วย คูณหรือหารโดยคำนวณจากซ้ายไปขวา แล้วตามด้วยบวกหรือลบโดยคำนวณจากซ้ายไปขวาเช่นกัน โดยให้จำคำว่า PEMDAS ซึ่งเป็นตัวอักษรภาษาอังกฤษตัวแรกของคำว่า Parentheses (วงเล็บ), Exponents (ยกกำลัง), Multiply (คูณ), Divide (หาร), Add (บวก), และ Subtract (ลบ) โดยภาษา Python ใช้สัญลักษณ์คำนวณทางคณิตศาสตร์ดังตารางต่อไปนี้ [Lub15]

../_images/pemdas.PNG

ลำดับในการคำนวณ

สัญลักษณ์คำนวณทางคณิตศาสตร์

สัญลักษณ์คำนวณ

ชื่อการคำนวณ

ตัวอย่าง

+

บวก

a + b

-

ลบ

a - b

*

คูณ

a * b

/

หาร

a / b

//

หารปัดเศษทิ้ง

a // b

%

เศษของการหาร

a % b

**

ยกกำลัง

a ** b

ตัวอย่างคำนวณทางคณิตศาสตร์ในภาษา Python มีดังต่อไปนี้

ตัวอย่างคำนวณทางคณิตศาสตร์
>>> a = 1
>>> b = 2
>>> a + b
3
>>> a - b
-1
>>> c = b - a
>>> c
1

รูปแบบการเขียนการคำนวณทางคณิตศาสตร์แบบย่อ

ในภาษา Python ผู้เขียนโปรแกรมสามารถเขียนการคำนวณทางคณิตศาสตร์แบบลดรูปหรือแบบย่อได้ ดังตารางสัญลักษณ์การคำนวณทางคณิตศาสตร์แบบย่อต่อไปนี้

สัญลักษณ์การคำนวนทางคณิตศาสตร์แบบย่อ

สัญลักษณ์การคำนวณทางคณิตศาสตร์แบบย่อ

ชื่อการคำนวณ

ตัวอย่าง

+=

บวกและเก็บค่า

a += b

-=

ลบและเก็บค่า

a -= b

*=

คูณและเก็บค่า

a *= b

/=

หารและเก็บค่า

a /= b

//=

หารปัดเศษทิ้งและเก็บค่า

a //= b

%=

เศษของการหารและเก็บค่า

a %= b

**=

ยกกำลังและเก็บค่า

a **= b

การจัดการข้อความด้วยเครื่องหมายทางคณิตศาสตร์

เครื่องหมายที่เป็นการคำนวณทางคณิตศาสตร์เมื่อถูกนำมาใช้กับข้อความ (String) จะเป็นอีกความหมายหนึ่ง เช่น การใช้เครื่องหมายบวกเชื่อมต่อระหว่างสตริง 2 ตัว หรือ การใช้เครื่องหมายดอกจันเป็นการเพิ่มสตริงเดียวกันตามจำนวนครั้งของการคูณ

การจัดการข้อความด้วยเครื่องหมายทางคณิตศาสตร์
>>> firstname
'Jantawan'
>>> lastname
'Piyawat'
>>> firstname + lastname
'JantawanPiyawat'
>>> firstname + ' ' + lastname
'Jantawan Piyawat'
>>> firstname \* 3
'JantawanJantawanJantawan'

Expressions และ Statements

Expression หมายถึงการใช้เครื่องหมายคำนวณและการใช้ตัวแปรและค่าของตัวแปรเพื่อหาผลลัพธ์ออกมา เอา Expression มาประกอบกันจะเรียกว่า Statement ดังนั้น Statement ก็คือคำสั่งเรียงต่อกันนั่นเองเพื่อใช้ในการสั่งงานคอมพิวเตอร์ด้วยภาษาคอมพิวเตอร์

ตัวอย่าง Expression เป็นดังต่อไปนี้

Expression
>>> 1+2
3

ตัวอย่าง Statement เป็นดังต่อไปนี้

Statement
>>> c = a + b
>>> c
3
>>> print('hello world.')
hello world.

การเขียนข้อความอธิบายโปรแกรมโดยการใช้ Comment

Comment คือสิ่งที่เราเขียนใน Source Code ของโปรแกรมแต่คอมพิวเตอร์ไม่ต้องแปลผล เพื่อใช้ในการเขียนข้อความประกอบคำอธิบายในการสื่อสารระหว่างผู้เขียนโปรแกรมด้วยกัน หรือเป็นการเตือนความจำของผู้เขียนโปรแกรมเอง โดย Comment ในภาษา Python นำหน้าด้วยเครื่องหมายชาร์ป (#) แล้วหลังจากนั้นตามด้วยข้อความอะไรก็ได้ ถ้าจะเขียน Comment หลายๆ บรรทัดจะต้องใช้เครื่องหมายฟันหนู ("-") หรือฝนทอง ('-') 3 ชุด ข้างในใส่ค่า ผลที่ได้จะมีเครื่องหมาย Backslash n (\n) หมายถึงการขึ้นบรรทัดใหม่

ตัวอย่างการใช้ Comment ในบรรทัดเดียว เป็นดังต่อไปนี้

การใช้ Comment ในบรรทัดเดียว
>>> print('Hello world!')
Hello world!
>>> # Hello how are you doing?

ตัวอย่างการใช้ Comment ในหลายบรรทัด เป็นดังต่อไปนี้

การใช้ Comment ในหลายบรรทัด
>>> x = '''
hello
1
2
3
'''
>>> x
'\nhello\n1\n2\n3\n'
>>> print(x)
hello
1
2
3

Source Code

ที่ผ่านมาเป็นการเขียนโปรแกรมแบบ Interactive คือเขียนบน Python Shell แล้วโปรแกรมจะแสดงผลออกมาได้เลย ซึ่งเรียกว่าการทำงานแบบ Interpreter เป็นการใส่คำสั่งไปที่ Prompt และ Python จะแสดงผลของคำสั่งนั้นออกมาเลย แต่ในความเป็นจริงแล้วจะเขียนโปรแกรมหลายๆ บรรทัดแล้วสั่งโปรแกรมทำงานทีเดียวพร้อมกัน เราจะเขียนไว้ในไฟล์นั้นเรียกว่า Source Code โดยที่ Source Code ของภาษา Python นามสกุลจะเป็น .py เวลาใช้ที่โปรแกรม Idle ให้กดที่เมนู File เลือก New เขียน Source Code แล้วให้กด Run ถ้าหากจะกดรันโปรแกรมอีกสักครั้งให้กด F5

ตัวอย่าง Python Source Code เป็นดังต่อไปนี้

ตัวอย่าง Python Source Code
x = 7
y = 6
if x == y:
   print('x and y are equal.')
else:
   if x < y:
      print('x is less than y.')
   else:
      print('x is greater than y.')

ตัวอย่างผลลัพธ์ที่ได้จากการประมวลผล Source Code เป็นดังต่อไปนี้

ตัวอย่างผลลัพธ์ที่ได้จากการประมวลผล Source Code
x is greater than y.

คำสั่ง print (ตัวแปรหรือข้อมูล)

print() เป็นฟังก์ชันที่ใช้ในการแสดงผลตัวแปรหรือข้อมูลออกทางหน้าจอ ดังตัวอย่างต่อไปนี้

คำสั่ง print()
>>> print('Hello world!')
Hello world!

การใช้คำสั่ง input() รับค่าจากแป้นพิมพ์

คำสั่ง input(ข้อความ Prompt) เป็นคำสั่งสำหรับรับข้อมูลจากผู้ใช้ด้วยการพิมพ์ผ่านแป้นพิมพ์ ดังตัวอย่างต่อไปนี้

คำสั่ง input()
>>> name=input('What is your name? ')
What is your name? Jantawan
>>> print('Hello, ', name, end='.')
Hello, Jantawan.

แบบฝึกหัด

  1. จงหาเลขประจำตำแหน่งของข้อมูลต่อไปนี้

    • love = 2

    • mom = "Jan"

    • wed = True

    • fah = 39.2

  2. จงหาประเภทของข้อมูลต่อไปนี้

    • love = 2

    • mom = "Jan"

    • wed = True

    • fah = 39.2

    • money = '22'

  3. จงแสดงผลต่อไปนี้

    • ตั้งค่าตัวแปร dog, cat

    • แสดงข้อความ I have 3 dogs and 2 cats.

  4. จงรับค่าจากผู้ใช้และแสดงผลต่อไปนี้

    • ตั้งตัวแปร name

    • รับค่าด้วยข้อความว่า กรุณาใส่ชื่อของคุณ

    • แสดงข้อความ สวัสดีค่ะคุณ ตามด้วยชื่อที่ผู้ใช้กรอกเข้ามา

  5. จงคำนวณหาค่าตัวเลขต่อไปนี้

    • หาค่าพื้นที่สี่เหลี่ยม กว้าง 5 เมตร ยาว 3 เมตร

    • หาค่าพื้นที่สามเหลี่ยม สูง 5 เมตร ฐาน 3 เมตร

  6. ให้ a = 3, b = 4, c = 5 จงหาค่าต่อไปนี้

    • a == a * 1

    • a != b

    • a > b

    • b < c

    • a + 1 >= c

    • c <= a + b