The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by suriyan, 2022-09-17 23:25:38

139_1-Python-Book-2022-Edit_share

139_1-Python-Book-2022-Edit_share

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

ตวั อยา่ งที่ 2.4 การใช้งาน ฟังก์ชัน print()
#This is a comment
print("Hello, World!")
print("Hello, World!") #This is a comment
output
"Hello, World!"
"Hello, World!")

Comment ไมจ่ ำเปน็ ตอ้ งเป็นขอ้ ความเพ่อื อธบิ ายโคด้ แตย่ ังสามารถใช้เพอ่ื ป้องกันไพทอน
ในการเรยี กใชง้ านโคด้ :
#print("Hello, World!")
print("Cheers, Mate!")
output
Cheers, Mate!

• การเขยี นคำอธบิ ายแบบหลายบรรทัด(Multi Line Comments)
ไพทอน ไม่มีไวยากรณส์ ำหรบั Comment หลายบรรทดั ในการเพ่ิมความคดิ เหน็ หลายบรรทดั
สามารถแทรก # สำหรับแต่ละบรรทัด หรือสามารถใช้สตริงหลายบรรทัด เนือ่ งจากไพทอน จะละ
เว้นตัวอกั ษรสตรงิ ทไ่ี ม่ไดก้ ำหนดให้กับตัวแปรสามารถเพ่มิ สตรงิ หลายบรรทดั (""" …""" ) หรือ (''' ...''')

ตวั อยา่ งที่ 2.5 การเขยี นคำอธบิ ายแบบหลายบรรทัด
#This is a comment
#written in
#more than just one line
print("Hello, World!")

บี ที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 43

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

ตัวอย่างที่ 2.6 แสดงการเขียนคำอธิบายหลายบรรทัด
"""
This is a comment
written in
more than just one line
"""
print("Hello, World!")

5. การกำหนดขอบเขตของคำสงั่ (Indentation)

ภาษาไพทอน ใชก้ ารเว้นวรรค หรอื tab ในการกำหนดขอบเขตของโปรแกรม โดยการเว้นวรรค
ต้องเว้นวรรค 4 ครัง้ ดงั น้ันแนะนำให้ใช้ tab ในการกำหนดขอบเขตของคำสั่ง ระบุบล็อกของ code

โปรแกรม จากตัวอยา่ งจะเหน็ วา่ บรรทดั ท่ี 3 มี tab หน้าคำส่งั ดงั น่นั คำส่ัง print(“Five is greater
than two!”) อยู่ในขอบเขตของ if block จะทำงานต่อเมือ่ 5 > 2 เป็นจรงิ เทา่ นน่ั

ตวั อย่างท่ี 2.7 แสดงการกำหนดขอบเขตของคำสั่ง
if 5 > 2:
print("Five is greater than two!")

ไพทอนจะทำให้เกิดขอ้ ผิดพลาดหากขา้ มการเยือ้ ง ดงั ตัวอยา่ ง จำนวนช่องว่างตอ้ งมอี ยา่ ง
นอ้ ยหน่ึงชอ่ ง

44 ีบที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

ตวั อยา่ งที่ 2.8 การเยอื้ ง
if 5 > 2:
print("Five is greater than two!")
if 5 > 2:

print("Five is greater than two!")

ตอ้ งใชช้ ่องว่างจำนวนเดียวกนั ในบลอ็ กของรหสั เดียวกันมฉิ ะน้ันไพทอน จะทำใหม้ ี
ขอ้ ผดิ พลาดของไวยกรณ์

ตัวอย่างท่ี 2.9 ขอ้ ผิดพลาดของไวยกรณ์
if 5 > 2:
print("Five is greater than two!")

print("Five is greater than two!")

6. ตัวแปร (Python Variables)

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

ตัวอย่างท่ี 2.10 ตวั แปร
x=5
y = "John"
print(x)
print(y)

บี ที ีทีี2ีีพีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 45

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

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

ตวั อยา่ งที่ 2.11 การเปล่ียนชนดิ ตวั แปร
x = 4 # x is of type int
x = "Sally" # x is now of type str
print(x)

ตวั แปรสตรงิ สามารถประกาศได้โดยใช้เครอื่ งหมายคำพูดเดย่ี ว( ' ' ) หรอื คำพูดคู่ (" "):
x = "John"
# is the same as
x = 'John'

6.1 ช่อื ตวั แปร (Variable Names)

ตัวแปรสามารถมีชื่อแบบส้นั (เชน่ x และ y) หรือช่ือทสี่ ื่อความหมายได้มากขึน้ (อายุชื่อ
carname, total_volume) กฎสำหรับตัวแปรไพทอน:

- ชื่อตวั แปรจะต้องเริม่ ต้นด้วยตวั อักษรหรอื ตัวอกั ษรขดี ล่าง_(Underscore)
- ชื่อตวั แปรไม่สามารถเริม่ ต้นดว้ ยตวั เลข
- ชอื่ ตัวแปรสามารถมีได้ทงั้ ตวั อักษรตัวเลขและขีดลา่ ง (Az, 0-9 และ _)
- ชือ่ ตวั แปรตวั พมิ พเ์ ล็กและตัวพมิ พใ์ หญ่จะแตกต่างกนั เรยี กวา่ เป็น case sensitive
- หา้ มตั้งช่ือซำ้ กบั คำสงวน (Reserved word) ในภาษาไพทอน ดังน้ี

ตารางท่ี 1 คำสงวน

and def exec if not return
assert del finally import or try
break elif for in pass while
class else from is print with
continue except global lambda raise yield

46 ีบที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

6.2 กำหนดคา่ ให้กบั หลายตวั แปร (Assign Value to Multiple Variables )
ไพทอน อนุญาตใหก้ ำหนดค่าใหก้ บั ตวั แปรหลายตัวในหนง่ึ บรรทดั :
ตวั อย่างท่ี 2.12 กำหนดคา่ ให้กบั ตวั แปรหลายตัวในหน่ึงบรรทัด

x, y, z = "Orange", "Banana", "Cherry"
print(x)
print(y)
print(z)

และสามารถกำหนดคา่ เดียวกันให้กบั ตวั แปรหลายตวั ในหนึง่ บรรทดั :
x = y = z = "Orange"
print(x)
print(y)
print(z)

6.3 ตวั แปรเอาต์พุต
คำสง่ั Print มกั ถูกใช้กับตัวแปรแสดงผลลพั ธ์ เพ่ือรวมทัง้ ขอ้ ความ และตัวแปรโดยใช้ +

ขอ้ ความ:
ตวั อยา่ งท่ี 2.13 ตัวแปรเอาตพ์ ตุ

x = "awesome"
print("Python is " + x)

สามารถใช+้ อักขระเพอ่ื เพม่ิ ตัวแปรให้กบั ตัวแปรอ่นื :

ีบที ีทีี2ีีพีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 47

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

x = "Python is "
y = "awesome"
z= x+y
print(z)

สำหรับตัวเลข + เป็นตวั ดำเนินการทางคณิตศาสตร:์
x=5
y = 10
print(x + y)

หากพยายามรวมสตรงิ และตัวเลขไพทอน จะให้ข้อผิดพลาด:
x=5
y = "John"
print(x + y)

6.4 ตัวแปรโกลบอล
ตวั แปรทสี่ รา้ งขน้ึ นอกฟงั กช์ ัน (ดงั ในตวั อยา่ งด้านบนทัง้ หมด) เรียกวา่ ตัวแปรโกลบอล

ทุกคนสามารถใชต้ วั แปรสว่ นกลางได้ทั้งภายในและภายนอก
ตัวอยา่ งที่ 2.14 ตัวแปรโกลบอล

x = "awesome"
def myfunc():
print("Python is " + x)
myfunc()

48 บี ที ีทีี2ีีพีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

หากสรา้ งตัวแปรที่มีช่อื เดยี วกนั ภายในฟงั กช์ นั ตวั แปรนจ้ี ะเป็นแบบโลคลั และสามารถใชไ้ ด้
ภายในฟังก์ชนั เท่าน้ัน ตัวแปรโกลบอลทีม่ ชี อ่ื เดียวกันจะยังคงเหมอื นเดมิ และมีคา่ เดิม ดังตวั อย่าง
สร้างตวั แปรภายในฟังก์ชนั โดยใช้ชอื่ เดยี วกับตัวแปรกลาง
x = "awesome"
def myfunc():

x = "fantastic"
print("Python is " + x)
myfunc()
print("Python is " + x)

6.5 The global Keyword
โดยปกตเิ มื่อสรา้ งตัวแปรภายในฟงั กช์ ันตวั แปรนนั้ จะเป็นแบบ local สามารถใช้ได้ภายใน

ฟังกช์ ันน้นั เทา่ นน้ั เพือ่ สรา้ งตัวแปรส่วนกลางภายในฟังกช์ ันสามารถใชค้ ำว่า global
ตวั อยา่ งที่ 2.15 global Keyword

#หากใช้ global ตัวแปรจะอยู่ในขอบเขตสว่ นกลาง:
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python is " + x)

บี ที ีทีี2ีีพีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 49

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

ใช้ global Keyword หากต้องการเปล่ยี นตวั แปรโกบอลภายในฟงั กช์ นั
#เปล่ยี นคา่ ของตวั แปรกลางภายในฟงั กช์ ันใหอ้ ้างองิ กับตัวแปรโดยใช้ global คยี ์เวริ ด์ :
x = "awesome"

def myfunc():
global x
x = "fantastic"

myfunc()

print("Python is " + x)

7. ชนิดข้อมูลแบบ Built-in (Built-in Data Types)

ในการเขยี นโปรแกรมชนดิ ข้อมูลเป็นแนวคิดท่ีสำคัญ ตัวแปรสามารถเกบ็ ข้อมูลประเภทต่าง
ๆ และประเภทตา่ ง ๆ สามารถทำสง่ิ ต่าง ๆ ได้ ไพทอน มีชนดิ ข้อมูลต่อไปนี้ตามค่าเริม่ ต้นในหมวดหมู่
เหล่าน้:ี

ตารางท่ี 2 ชนดิ ข้อมลู แบบ Built-in

ประเภทข้อความ: str
ประเภทตวั เลข: int, float, complex
ประเภทลำดบั : list, tuple, range
ประเภทพจนานกุ รม: dict
ประเภทเซต: set, frozenset
ประเภทบูลีน: bool
ประเภทไบนารี: bytes, bytearray, memoryview

50 บี ที ีทีี2ีีพีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

7.1 การรับชนิดข้อมลู (Getting the Data Type)
สามารถรับชนิดข้อมูลของวัตถุใด ๆ โดยใชฟ้ ังก์ชนั type(): ดงั ตัวอย่าง พิมพป์ ระเภทข้อมลู

ของตัวแปร x:

ตัวอย่างที่ 2.16 รับชนิดข้อมูล
x=5
print(type(x))

7.2 การกำหนดคา่ ใหช้ นดิ ขอ้ มูล (Setting the Data Type)
ในไพทอน ชนดิ ข้อมูลจะถกู ตง้ั คา่ เมื่อกำหนดค่าใหก้ บั ตวั แปร:

ตารางท่ี 3 การกำหนดค่าใหชนดิ ขอ้ มูล

ตวั อย่าง ประเภทขอ้ มูล
x = "Hello World"
x = 20 str
x = 20.5 int
x = 1j float
x = ["apple", "banana", "cherry"] complex
x = ("apple", "banana", "cherry") list
x = range(6) tuple
x = {"name" : "John", "age" : 36} range
x = {"apple", "banana", "cherry"} dict
x = frozenset({"apple", "banana", set
"cherry"}) frozenset
x = True
x = b"Hello" bool
x = bytearray(5) bytes
x = memoryview(bytes(5)) bytearray
memoryview

บี ที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 51

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

7.3 การระบชุ นิดข้อมูลพรอ้ มขอ้ มลู (Setting the Specific Data Type)
ถ้าต้องการระบชุ นิดข้อมลู สามารถใชฟ้ ังกช์ นั Constructor ต่อไปน้ี:

ตารางท่ี 4 การระบชุ นิดขอ้ มูล

ตวั อย่าง ชนิดข้อมลู
x = str("Hello World")
x = int(20) str
x = float(20.5) int
x = complex(1j) float
x = list(("apple", "banana", "cherry")) complex
x = tuple(("apple", "banana", "cherry")) list
x = range(6) tuple
x = dict(name="John", age=36) range
x = set(("apple", "banana", "cherry")) dict
x = frozenset(("apple", "banana", set
"cherry")) frozenset
x = bool(5)
x = bytes(5) bool
x = bytearray(5) bytes
x = memoryview(bytes(5)) bytearray
memoryview

8. ขอ้ มลู ชนดิ ตัวเลข (Python Numbers)

ไพทอน มีประเภทตวั เลข 3 ประเภท คือ int, float และ complex ตัวแปรประเภท
ตวั เลขถูกสร้างข้ึนเมื่อกำหนดค่าให้กับตวั แปร: ในการตรวจสอบประเภทของวตั ถุใด ๆ ในไพทอน ให้
ใช้ฟงั กช์ นั type()

ตัวอย่างที่
x = 1 # int
y = 2.8 # float
z = 1j # complex

print(type(x))
print(type(y))
print(type(z))

52 ีบที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)
บี ที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 53

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

8.1 จำนวนเตม็ (int)
int หรอื integer เป็นจำนวนเต็มบวก หรือ ลบ โดยไมม่ ที ศนิยมความยาวไม่ จำกดั
ตัวอยา่ งที่

x=1
y = 35656222554887711
z = -3255522
print(type(x))
print(type(y))
print(type(z))

8.2 เลขทศนยิ ม (Float)
Float หรอื " "floating point number (เลขทศนิยม)" เปน็ ตัวเลขบวก หรือ ลบ

ประกอบด้วย ทศนิยมหนึ่งตัว หรอื มากกว่า
ตัวอย่างท่ี 2.17 ข้อมลู ชนดิ ตัวเลข

x = 1.10
y = 1.0
z = -35.59
print(type(x))
print(type(y))
print(type(z))

float สามารถเป็นตัวเลขทางวทิ ยาศาสตรด์ ว้ ย "e" เพือ่ ระบเุ ลขยกกำลังของ 10

54 บี ที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

x = 35e3
y = 12E4
z = -87.7e100

print(type(x))
print(type(y))
print(type(z))

8.3 จำนวนเชงิ ซ้อน (Complex)

Complex numbers (จำนวนเชิงซอ้ น) เขยี นด้วย "j" เปน็ ส่วนจนิ ตภาพ:

ตัวอยา่ งที่ 2.18 จำนวนเชิงซอ้ น
x = 3+5j
y = 5j
z = -5j

print(type(x))
print(type(y))
print(type(z))

8.4 การแปลงประเภทข้อมลู (Type Conversion)
สามารถแปลงจากประเภทหนงึ่ ไปยังอกี ดว้ ย int(), float() และcomplex() :

ตัวอย่างท่ี 2.19 การแปลงประเภทขอ้ มลู
x = 1 # int
y = 2.8 # float
z = 1j # complex
#convert from int to float:

ีบที ีทีี2ีีพีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 55

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

a = float(x)
#convert from float to int:
b = int(y)
#convert from int to complex:
c = complex(x)
print(a)
print(b)
print(c)
print(type(a))
print(type(b))
print(type(c))

หมายเหต:ุ ไมส่ ามารถแปลงจำนวนเชิงซอ้ นเป็นประเภทตวั เลขอื่นได้

56 ีบที ีทีี2ีีพีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

8.5. ตวั เลขสมุ่ (Random Number)
ไพทอน ไม่มฟี งั ก์ชัน random() ในการสร้างตัวเลขสมุ่ แตไ่ พทอน มีโมดลู ในตวั ทเ่ี รยี กว่า

random สามารถใช้เพ่อื สร้างตัวเลขสุ่ม:

ตวั อยา่ งที่ 2.20 นำเข้าโมดลู ส่มุ และแสดงตวั เลขสมุ่ ระหวา่ ง 1 ถึง 9:
import random
print(random.randrange(1,10))

8.6 การแปลงชนดิ ขอ้ มลู (Python Casting)
▪ ระบปุ ระเภทตวั แปร
อาจมีบางครั้งท่ีตอ้ งการระบุประเภทให้กบั ตวั แปร นีส้ ามารถทำไดด้ ว้ ยการ Casting

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

1. int () – สรา้ งตัวเลขจำนวนเตม็
2. float () – สร้างจำนวนทศนิยม
3. str () – สรา้ งสตรงิ จากประเภทขอ้ มูลท่ีหลากหลายรวมถงึ สตริงตัวอกั ษรจำนวน

เต็มและตัวอักษรลอย

ตัวอย่างที่ 2.21 โค้ดคำสั่งการแปลงชนดิ ข้อมลู จำนวนเต็ม
x = int(1)
y = int(2.8)
z = int("3")

print(x)
print(y)
print(z)
output
1
2
3

บี ที ีทีี2ีีพีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 57

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

ตวั อย่างท่ี 2.22 โค้ดคำส่ังการแปลงชนดิ ข้อมูลจำนวนทศนิยม
x = float(1)
y = float(2.8)
z = float("3")
w = float("4.2")

print(x)
print(y)
print(z)
print(w)

output
1.0
2.8
3.0
4.2

ตัวอย่างท่ี 2.23 โค้ดคำสัง่ การแปลงชนดิ ข้อมูลจำนวนสตรงิ
x = str(“s1”)
y = str(2)
z = str(3.0)

print(x)
print(y)
print(z)
output
s1
2
3.0

58 บี ที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

9. ชนดิ ขอ้ มลู สตริง (Python Strings)

9.1 Python Strings
9.2 Slicing Strings
9.3 Modify Strings
9.4 Concatenate Strings
9.5 Format Strings
9.6 Escape Characters
9.7 String Methods
9.1 ชนิดข้อมูลสตรงิ (Python Strings)
สตรงิ หรอื ตวั อักษรในไพทอน ต้องครอบด้วยเครอ่ื งหมายคำพดู เด่ียว (single quotation
marks) หรอื เครือ่ งหมายคำพดู คู่ (double quotation marks) ‘hello’ ใชไ้ ดเ้ ช่นเดยี วกับ “hello”
สามารถแสดงตวั อกั ษรดว้ ย ฟงั กช์ นั print():

ตวั อย่างท่ี 2.24 ชนดิ ขอ้ มลู สตริง
print(“Hello”)
print(‘Hello’)

▪ การกำหนดสตริงใหก้ บั ตัวแปร (Assign String to a Variable)
การกำหนดสตรงิ ใหก้ ับตัวแปรทำดว้ ยช่อื ตวั แปรตามดว้ ยเครอื่ งหมายเทา่ กับและสตรงิ :

ตัวอย่างท่ี 2.25 กำหนดสตริงให้กับตัวแปร
a = “Hello”
print(a)

บี ที ีทีี2ีีพีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 59

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

▪ การกำหนดสตริงหลายบรรทดั (Multiline Strings)
สามารถกำหนดสตริงหลายบรรทัดให้กับตัวแปรโดยใช้เครอ่ื งหมายคำพดู 3 คำ “””

(three quotes) หรือ ‘’’ (three single quotes):

ตวั อย่างที่ 2.26 กำหนดสตรงิ หลายบรรทัด
a = “”” คอมพวิ เตอร์
คณะศกึ ษาศาสตร์และนวตั กรรมการศึกษาและนวตั กรรมการศกึ ษา
มหาวิทยาลัยกาฬสนิ ธ์ุ
“””
print(a)
a = ‘’’Computer
Faculty of Education and Educational Innovation
Kalasin University
‘’’
print(a)

หมายเหต:ุ ในผลลพั ธ์การแบง่ บรรทดั จะถกู แทรกในตำแหนง่ เดียวกับในโคด้

▪ อาเรยใ์ นสตรงิ (Strings are Arrays)
เช่นเดยี วกบั ภาษาการเขยี นโปรแกรมยอดนยิ มอื่น ๆ ตัวอกั ษรในไพทอนเป็นอาร์เรยข์ อง
ไบต์ทแี่ สดงถึงอักขระ Unicode อย่างไรกต็ ามไพทอน ไมม่ ปี ระเภทขอ้ มูลตวั อักษรอักขระเดียวเปน็
เพียงสตรงิ ท่ีมคี วามยาว 1 [ ] สามารถใชเ้ พือ่ เขา้ ถงึ องค์ประกอบของสตรงิ

ตวั อยา่ งท่ี 2.27 อาเรย์ในสตริง
a = “Hello, World!”
print(a [1])
output
e

60 บี ที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

▪ วนลปู ผา่ นสตรงิ (Looping Through a String)
เน่อื งจากสตรงิ เปน็ อารเ์ รย์เราจึงสามารถวนซำ้ อกั ขระในสตริงดว้ ยการ for วนซ้ำ

ตวั อยา่ งท่ี 2.28 วนลปู ผ่านสตรงิ
for x in “banana”:
print(x)
output
b
a
n
a
n
a

▪ การนับความยาวของสตรงิ (String Length)
ในการนับความยาวของสตริงให้ใช้ len() ฟงั กช์ ัน

ตวั อยา่ งท่ี 2.29 นับความยาวของสตรงิ
a = “My name is Lawan!”
print(len(a))
Output
17

▪ ตรวจสอบสตรงิ (Check String)
เพือ่ ตรวจสอบวา่ วลีบางอย่าง หรือตัวอักษรทอี่ ย่ใู นสตรงิ เราสามารถใช้คำหลัก หรอื in

หรือ not in

ตัวอย่างที่ 2.30 ตรวจสอบวา่ วลี “ain” มีอยู่ในข้อความตอ่ ไปน้:ี
txt = “The rain in Spain stays mainly in the plain”
x = “ain” in txt
print(x)

ีบที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 61

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

ตัวอย่างท่ี 2.31 ใช้ in ใน คำสัง่ if :
txt = “The best things in life are free!”
if “free” in txt:
print(“Yes, ‘free’ is present.”)
Output
Yes, ‘free’ is present.

ตัวอย่างที่ 2.32 ใช้ not in ใน คำสัง่ if :
txt = “The best things in life are free!”
if “expensive” not in txt:
print(“Yes, ‘expensive’ is NOT present.”)
Output
Yes, ‘expensive’ is NOT present.

9.2 Slicing Strings
สามารถส่งกลบั ช่วงของอกั ขระโดยใช้ไวยากรณ์หั่นหรอื แบง่ ระบุดัชนเี ริ่มต้นและดัชนสี ิน้ สุด

คัน่ ด้วยเครือ่ งหมายโคลอน : เพอ่ื สง่ คนื สว่ นของสตริง

ตัวอย่างที่ 2.33 Slicing
b = “Hello, World!”
print(b[2:5])
Output
llo

ตัวอย่างท่ี 2.34 Slice From the Start
b = “Hello, World!”
print(b[:5])
Output
Hello

62 ีบที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

ตัวอย่างที่ 2.35 Slice To the End
b = “Hello, World!”
print(b[2:])
Output
llo, World!

ตัวอยา่ งท่ี 2.36 Negative Indexing
b = “Hello, World!”
print(b[-5:-2])
Output
orl

9.3 การแก้ไขสตริง (Modify Strings)
ไพทอน มีชดุ เมธอดในตัวที่สามารถใชก้ ับสตรงิ ได้

▪ ตวั พิมพใ์ หญ่
ตัวอย่างที่ 2.37 เมธอด upper() ส่งกลับสตริงในกรณีท่ี อกั ษรตัวพมิ พ์ใหญ่
a = “Hello, World!”
print(a.upper())

.

▪ ตัวพมิ พ์เล็ก
ตัวอย่างที่ 2.38 lower() เมธอดสง่ กลบั สตรงิ ในกรณีท่ี อกั ษรตวั พิมพ์เลก็
a = “Hello, World!”
print(a.lower())

บี ที ีทีี2ีีพีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 63

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

▪ ลบช่องวา่ ง
ตัวอย่างที่ 2.39 เมธอด strip() ขจัดชอ่ งวา่ งใด ๆ จากจดุ เริ่มต้นหรือจุดส้นิ สดุ :
a = “ Hello, World! “
print(a.strip()) # returns “Hello, World!”

▪ แทนท่สี ตริง
ตวั อย่างท่ี 2.40 replace()วิธีการแทนท่สี ตรงิ กบั สตรงิ อนื่ :
a = “Hello, World!”
print(a.replace(“H”, “J”))

▪ แยกสตรงิ
ตัวอยา่ งท่ี 2.41 split() วธิ ีการแยกสตริงเขา้ สตรงิ หากพบวา่ กรณขี องคนั่ :
a = “Hello, World!”
print(a.split(“,”)) # returns [‘Hello’, ‘ World!’]

9.4 การต่อสตรงิ (String Concatenation)
ในการเชอื่ มหรือรวมสองสตริงสามารถใช้ตวั ดำเนินการ +
ตัวอย่างท่ี 2.42 รวมตวั แปร a กบั ตัวแปร b เก็บเข้ากบั ตวั แปร c:

a = “Hello”
b = “World”
c=a+b
print©

หากต้องการเพิ่มช่องว่างระหว่างกันใหเ้ พิม่ ” “:
a = “Hello”
b = “World”

64 บี ที ีทีี2ีีพีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

c=a+““+b
print©

9.5 รปู แบบสตรงิ (Format – Strings)
รปู แบบ

Print(“Str1 : %s , Str2 : %d , Str3 : %f “ %(Argu1, Argu2, Argu3))

Print(“Str1 : {p0} , Str2 : {p1}, Str3 : {p2} “ .format(p0,p1,p2))

Print(“Str1 : {k0} , Str2 : {k1}, Str3 : {k2} “ .format(k0=v1, k1=v2, k2=v2))

ตารางท่ี 5 สัญลกั ษณก์ ารแสดงรปู แบบชนิดขอ้ มลู

สญั ลกั ษณ์ ความหมาย
%s - String แสดงผลอักขระผา่ นฟังกช์ นั str ()
%d - Integers แสดงผลเลขฐานสิบ (1, 0, -1)
%f - Floating point numbers แสดงเลขทศนยิ ม
%.<number of digits>f กำหนดตำแหน่งทศนิยม เช่น %f, %.1f, %.2f,
%x/%X แสดงผลเลขฐานสิบหกอกั ษรตัวเลก็ /ตัวใหญ่ (lowercase/uppercase)

เราไม่สามารถรวมสตรงิ และตัวเลข ด้วยตัวดำเนนิ การ + ดงั นี้:

ตัวอยา่ งท่ี 2.43 โคด้ คำสงั่ การเชอ่ื งสตรงิ กับตัวเลข

age = 36
txt = "My name is Lawan, I am " + age
print(txt)

บี ที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 65

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

แต่เราสามารถรวมสตริง และตัวเลขโดยใชเ้ มธอด format() !
เมธอด format() ใช้อารก์ วิ เมนต์ผ่านรปู แบบ และ {} คอื :

ตัวอยา่ งที่ 2.44 ใชเ้ มธอด format() แทรกตัวเลขลงในสตรงิ :
age = 36
txt = "My name is Lawan, and I am {}"
print(txt.format(age))

format () ไมจ่ ำกัดจำนวนของอากิวเม้นท์ ทวี่ างลง {} ทเ่ี กย่ี วข้อง:
quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."
print(myorder.format(quantity, itemno, price))

สามารถใชห้ มายเลขดชั นี {0} เพอื่ ใหแ้ น่ใจว่ามกี ารวางอารก์ ิวเมนตใ์ นตัวยึดตำแหนง่ ที่
ถูกต้อง:
quantity = 3
itemno = 567
price = 49.95
myorder = "I want to pay {2} dollars for {0} pieces of item {1}."
print(myorder.format(quantity, itemno, price))

9.6 การใช้อักขระพเิ ศษ (Escape Character)

▪ ในการแทรกอกั ขระท่ีผดิ กฎในสตรงิ ให้ใช้อกั ขระเลยี่ ง
▪ อกั ขระ escape เป็น แบ็กสแลช \ ตามด้วยอกั ขระท่ตี ้องการแทรก

66 บี ที ีทีี2ีีพีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

▪ ตวั อยา่ งของอักขระที่ผิดกฎ คอื เครือ่ งหมายคำพูดคู่ภายในสตริงที่ล้อมรอบด้วย
เครื่องหมายคำพดู คู่ :

ตวั อยา่ งที่ 2. 45 จะเกิดขอ้ ผิดพลาดหากใชเ้ ครื่องหมายคำพดู " " ภายในสตริง " " ซำ้ กัน

txt = "We are the so-called "Vikings" from the north."

ในการแกไ้ ขปญั หาน้ใี ห้ใช้ Escape Character \":

ตัวอยา่ งที่ 2.46 Escape Character อนญุ าตใหใ้ ชเ้ คร่อื งหมายคำพดู คู่ " " :
txt = "We are the so-called \"Vikings\" from the north."

ตารางที่ 6 อักขระ escape อนื่ ๆ ที่ใช้ในไพทอน Result

Code
\' Single Quote
\\ Backslash
\n New Line
\r Carriage Return
\t Tab
\b Backspace
\f Form Feed

\ooo Octal value
\xhh Hex value

บี ที ีทีี2ีีพีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 67

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

9.7 String Methods
ไพทอน มี built-in method ทส่ี ามารถใชก้ บั สตริงได้

ตารางที่ 7 String Methods

Method Description

capitalize() Converts the first character to upper case
casefold() Converts string into lower case
center() Returns a centered string
count() Returns the number of times a specified value occurs in a string
encode() Returns an encoded version of the string
endswith() Returns true if the string ends with the specified value
expandtabs() Sets the tab size of the string
find() Searches the string for a specified value and returns the position of where
it was found
format() Formats specified values in a string
format_map() Formats specified values in a string
index() Searches the string for a specified value and returns the position of where
it was found
isalnum() Returns True if all characters in the string are alphanumeric
isalpha() Returns True if all characters in the string are in the alphabet
isdecimal() Returns True if all characters in the string are decimals
isdigit() Returns True if all characters in the string are digits
isidentifier() Returns True if the string is an identifier
islower() Returns True if all characters in the string are lower case
isnumeric() Returns True if all characters in the string are numeric
encode() Returns an encoded version of the string
endswith() Returns true if the string ends with the specified value
expandtabs() Sets the tab size of the string
find() Searches the string for a specified value and returns the position of where
it was found
format() Formats specified values in a string
format_map() Formats specified values in a string
index() Searches the string for a specified value and returns the position of where
it was found
isalnum() Returns True if all characters in the string are alphanumeric
isalpha() Returns True if all characters in the string are in the alphabet
isdecimal() Returns True if all characters in the string are decimals
isdigit() Returns True if all characters in the string are digits
isidentifier() Returns True if the string is an identifier
islower() Returns True if all characters in the string are lower case
isnumeric() Returns True if all characters in the string are numeric

68 ีบที ีทีี2ีีพีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

Method Description

isprintable() Returns True if all characters in the string are printable
isspace() Returns True if all characters in the string are whitespaces
istitle() Returns True if the string follows the rules of a title
isupper() Returns True if all characters in the string are upper case
join() Joins the elements of an iterable to the end of the string
ljust() Returns a left justified version of the string
lower() Converts a string into lower case
lstrip() Returns a left trim version of the string
maketrans() Returns a translation table to be used in translations
partition() Returns a tuple where the string is parted into three parts
replace() Returns a string where a specified value is replaced with a specified value
rfind() Searches the string for a specified value and returns the last position of
where it was found
rindex() Searches the string for a specified value and returns the last position of
where it was found
rjust() Returns a right justified version of the string
rpartition() Returns a tuple where the string is parted into three parts
rsplit() Splits the string at the specified separator, and returns a list
rstrip() Returns a right trim version of the string
split() Splits the string at the specified separator, and returns a list
splitlines() Splits the string at line breaks and returns a list
startswith() Returns true if the string starts with the specified value
strip() Returns a trimmed version of the string
swapcase() Swaps cases, lower case becomes upper case and vice versa
title() Converts the first character of each word to upper case
translate() Returns a translated string
upper() Converts a string into upper case
zfill() Fills the string with a specified number of 0 values at the beginning
rpartition() Returns a tuple where the string is parted into three parts
rsplit() Splits the string at the specified separator, and returns a list
rstrip() Returns a right trim version of the string
split() Splits the string at the specified separator, and returns a list
splitlines() Splits the string at line breaks and returns a list
startswith() Returns true if the string starts with the specified value
strip() Returns a trimmed version of the string
swapcase() Swaps cases, lower case becomes upper case and vice versa
title() Converts the first character of each word to upper case
translate() Returns a translated string
upper() Converts a string into upper case
zfill() Fills the string with a specified number of 0 values at the beginning

บี ที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 69

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

10. บูลนี (Python Booleans)

10.1 ค่าบูลนี (Boolean Values)
ในการเขียนโปรแกรมมักจะตอ้ งทราบว่าการแสดงออกเป็น True หรอื False สามารถ

ประเมนิ และได้รับหนงึ่ ในสองคำตอบ True หรอื False เมอ่ื เปรยี บเทียบสองคา่ นพิ จนจ์ ะถกู
ประเมนิ ค่าและไพทอน จะส่งคืนคำตอบบูลีน:

ตวั อย่างท่ี 2.47 คา่ บูลีน
print(10 > 9)
print(10 == 9)
print(10 < 9)
output
True
False
False
เมื่อเรียกใช้เงอ่ื นไขในคำส่ัง if ไพทอน จะคนื ค่า True หรอื False:

ตัวอย่างท่ี 2.48 พิมพ์ขอ้ ความตามเงือ่ นไขTrueหรือ False:
a = 200
b = 33
if b > a:
print("b is greater than a")
else:
print("b is not greater than a")
output
b is not greater than a

10.2 ประเมนิ ค่าและตวั แปร (Evaluate Values and Variables)
ฟงั กช์ ัน bool() ชว่ ยใหส้ ามารถประเมนิ คา่ ใด ๆ และคนื ค่า True หรอื False

ตัวอย่างที่ 2.49 หาคา่ สตริงและตวั เลข:
print(bool("Hello"))
print(bool(15))

70 ีบที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

output
True
True

ตัวอย่างท่ี 2.51 ประเมนิ ตวั แปรสองตวั :

x = "Hello"
y = 15

print(bool(x))
print(bool(y))

output
True
True

10.3 ค่าส่วนใหญเ่ ปน็ จรงิ (Most Values are True)

• เกือบทกุ ค่าจะถูกประเมนิ True วา่ มีเนื้อหาประเภทใด
• สตรงิ ใด ๆ True ยกเว้นสตริงวา่ ง
• จำนวนใด ๆ ทเ่ี ป็นยกเว้นTrue 0
• รายการ tuple set และ dict มคี า่ เปน็ True ยกเวน้ รายการที่วา่ งเปลา่

ตวั อยา่ งที่ 2.52 ส่งคืนค่า True:
bool("abc")
bool(123)
bool(["apple", "cherry", "banana"])

output
True
True
True

10.4 คา่ บางอยา่ งเปน็ เท็จ (Some Values are False)

ในความเป็นจรงิ แลว้ มคี ่าไมม่ ากทถี่ กู ประเมินให้เป็น False ยกเว้นคา่ ทีว่ า่ งเปลา่ เชน่
(), [], {}, ""จำนวน 0, None และแน่นอนคา่ ทปี่ ระเมินตอ้ งเปน็ False

บี ที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 71

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

ตัวอยา่ งท่ี 2.42 ส่งคืนคา่ Flase
bool(False)
bool(None)
bool(0)
bool("")
bool(())
bool([])
bool({})
output
False
False
False
False
False
False
False

คา่ อื่นๆ หรอื Object ในกรณีนี้ จะถูกประเมนิ ให้มีคา่ False และถา้ Object จาก Class ท่ี
เปน็ ฟังก์ชัน่ __len__ ใหส้ ่งกลบั ค่า 0 หรอื False:

ตวั อย่างที่ 2.53 ฟังก์ช่ัน__len__
class myclass():
def __len__(self):

return 0

myobj = myclass()
print(bool(myobj))
output
False

72 ีบที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

10.5 ฟงั กช์ นั สามารถคนื คา่ บลู ีน
ไพทอน มีฟงั กช์ ันในตวั หลายตวั ท่สี ่งคืนค่าบลู นี เชน่ isinstance() ฟงั ก์ชนั ซ่ึงสามารถใชเ้ พื่อ

กำหนดว่าออบเจก็ มชี นิดข้อมลู ชนิดใด :

ตวั อยา่ งที่ 2.54 ตรวจสอบวา่ วตั ถุเป็นจำนวนเตม็ หรือไม่:

x = 200
print(isinstance(x, int))

output
True

11. สรปุ

ในบทนจี้ ะกล่าวถงึ พ้นื ฐานการเขยี นโปรแกรมภาษาไพทอน ทม่ี อี งคป์ ระกอบและ

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

ทอน การใชง้ านคำส่ังพน้ื ฐานที่สำคญั รปู แบบการเขยี นโปรแกรม คำอธิยายโปรแกรม การแสดงผล

ตัวแปร ชนิดข้อมูล และบูลีน

12. แบบฝึกหดั ทา้ ยบท

1. ให้ใชฟ้ ังก์ชัน print() เพอ่ื นำตวั อกั ขระ * มาสรา้ งเปน็ รูปสามเหล่ยี มกลบั หวั
2. ใหใ้ ชฟ้ งั กช์ นั print() เพอ่ื นำตวั เลข 1-5 มาสรา้ งเปน็ รปู สามเหล่ยี ม
3. จงเขยี นโปรแกรมเพอ่ื รับข้อมลู ของนกั ศกึ ษา ไดแ้ ก่ ชอ่ื นามสกุล สาขาวชิ า คณะ มหาวิทยาลยั

จากคยี ์บอรด์ และแสดงผลลพั ธ์

บี ที ีทีี2ีพี ีนีฐีาีนีกีาีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาไพทอน 73

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

บทที่ 3
ตวั ดำเนนิ การ

ตวั ดำเนินการ (Operators) คือ กลมุ่ ของเครอ่ื งหมาย หรอื สัญลกั ษณท์ ใ่ี ชท้ ำงานเหมอื นกับ
ฟงั กช์ ัน แต่แตกต่างกันตรงไวยากรณ์ หรือความหมายในการใชง้ านในภาษาไพทอน นน้ั สนบั สนุนตวั
ดำเนินการประเภทตา่ งๆ สำหรับการเขียนโปรแกรม เชน่ ตวั ดำเนินการ + เปน็ ตัวดำเนินการทาง
คณติ ศาสตร์ท่ีใช้สำหรบั การบวกตวั เลขเข้าด้วยกนั หรือตัวดำเนินการ > เป็นตัวดำเนินการเพื่อให้
เปรียบเทยี บค่าสองคา่
ตวั ดำเนินการในไพทอน แบง่ ตามกล่มุ การทำงานได้ดงั น้ี :

• Assignment operators
• Arithmetic operators
• Comparison operators
• Logical operators
• Identity operators
• Membership operators
• Bitwise operators
และจะบทนยี้ ังจะกลา่ วถงึ ฟงั ก์ชันเกย่ี วกบั ตัวเลข(Python Math)

1. ตัวดำเนนิ การกำหนดค่า (Python Assignment Operators)

ตวั ดำเนินการที่ใช้ในการกำหนดคา่ ให้กบั ตวั แปร:

ตารางที่ 8 แสดงตัวดำเนินการท่ใี ชใ้ นการกำหนดค่าให้กับตัววแปร

ตวั ดำเนินการ คำอธบิ าย ตัวอย่าง Same As
x=5 x=5
= กำหนดค่า x += 3 x=x+3
x -= 3 x=x-3
+= บวกก่อนแล้วกำหนดคา่ x *= 3 x=x*3
x /= 3 x=x/3
-= ลบก่อนแล้วกำหนดคา่ x %= 3 x=x%3
x //= 3 x = x // 3
*= คณู ก่อนแลว้ กำหนดคา่ x **= 3 x = x ** 3

/= หารกอ่ นแลว้ กำหนดคา่

%= หารเอาเศษแลว้ กำหนดค่า

//= หารเอาส่วนแล้วกำหนดค่า

**= ยกกำลังแลว้ กำหนดค่า

74 บี ที ีทีี3ีีตีวีดีาีเีนีนีกีาีร

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

ตวั อยา่ งที่ 3.1 โค้ดคำส่งั ตัวดำเนนิ การกำหนดคา่
a=3
b = 5.29
c=b
name = 'Computer EDU KSU'
my_list = [2, 5, 8, 10, 24]
x, y = 10, 20

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

2. ตัวดำเนินการคณิตศาสตร์ (Python Arithmetic Operators)

ตารางท่ี 9 ตัวดำเนนิ การทางคณติ ศาสตร์

ตัวดำเนนิ การ คำอธบิ าย ตัวอยา่ ง ผลลพั ธ(์ x=5,y=3)
z=x + y z=8
+ บวก(Addition) z=x - y z=2
z=x * y z = 15
- ลบ(Subtraction) z=x / y z = 1.6666666666666667
z=x % y z =2
* คูณ(Multiplication) z=x // y z =1

/ หารเอาผลลัพธ(์ Division)

% หารเอาเศษ(Modulus)

// หารปดั เศษผลลัพธล์ งเป็น

จำนวนเตม็ ทใ่ี กลท้ ่สี ุด(Floor

division)

** เลขยกกำลงั z=x ** y z =125

(Exponentiation)

ตวั อย่างที่ 3.2 การนำตวั ดำเนนิ การทางคณิตศาสตร์มาใชค้ ำนวณหาผลลัพธ์

a=5
b=3
print("a + b = ", a + b)
print("a - b = ", a - b)
print("a * b = ", a * b)
print("a / b = ", a / b)
print("a // b = ", a // b) # floor number to integer
print("a % b = ", a % b) # get division remainder

บี ที ีทีี3ีีตีวีดีาีเีนีนีกีาีร 75

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

print("a ** b = ", a ** b) # power
Output
a+b= 8
a-b= 2
a * b = 15
a / b = 1.6666666666666667
a // b = 1
a%b= 2
a ** b = 125

3. ตัวดำเนินการเปรยี บเทยี บ (Python Comparison Operators)

ตัวดำเนนิ การเปรียบเทยี บ (Comparison operators) คือตวั ดำเนินการท่ีใช้สำหรบั
เปรียบเทยี บค่าหรอื คา่ ในตัวแปร ซึง่ ผลลัพธข์ องการเปรยี บเทยี บนนั้ จะเป็น True หากเงื่อนไขเป็นจริง
และเปน็ False หากเง่ือนไขไมเ่ ปน็ จรงิ ตัวดำเนนิ การเปรยี บเทียบมักจะใชก้ ับคำส่ังตรวจสอบเง่ือนไข
if และคำส่งั วนซ้ำ for while เพือ่ ควบคมุ การทำงานของโปรแกรม

ตารางท่ี 10 ตวั ดำเนินการเปรยี บเทียบ

ตวั ดำเนินการ คำอธบิ าย ตัวอยา่ ง
== เท่ากับ x == y
!= ไมเ่ ท่ากบั x != y
> มากกวา่ x>y
< น้อย x<y
>= มากกว่าหรือเท่ากบั x >= y
<= น้อยกว่าหรอื เท่ากบั x <= y

ตวั อย่างท่ี 3.3 โค้ดคำสง่ั ตัวดำเนินการเปรียบเทยี บ
# Constant comparison
print('4 == 4 :', 4 == 4)
print('1 < 2:', 1 < 2)
print('3 > 10:', 3 > 10)
print('2 <= 1.5', 2 <= 1.5)
print()

# Variable comparison
a = 10
b=8

76 ีบที ีทีี3ีีตีวีดีาีเีนีนีกีาีร

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

print('a != b:', a != b)
print('a - b == 2:', a - b == 2)
print()
output
4 == 4 : True
1 < 2: True
3 > 10: False
2 <= 1.5 False

a != b: True
a - b == 2: True

4. ตวั ดำเนินการตรรกศาสตร์ (Python Logical Operators)

ตัวดำเนินการตรรกศาสตร์ (Logical operators) คือตวั ดำเนินการที่ใช้สำหรับประเมนิ คา่
ทางตรรกศาสตร์ ซงึ่ เปน็ ค่าทม่ี เี พียงจริง (True) และเท็จ (False) เท่านั้น โดยท่วั ไปแลว้ เรามกั ใช้ตวั
ดำเนินการตรรกศาสตรใ์ นการเชอื่ ม Boolean expression ต้งั แต่หนึ่ง expression ขึ้นไปและ
ผลลัพธส์ ุดท้ายทีไ่ ด้นั้นจะเป็น Boolean ตวั ดำเนินการเชิงตรรกะมกั ถูกใชเ้ พอ่ื รวมคำส่งั แบบมี
เง่อื นไข:

ตารางที่ 11 ตวั ดำเนินการตรรกศาสตร์

ตวั ดำเนินการ คำอธบิ าย ตวั อย่าง
and x < 5 and x < 10
และ: Returns True if both
or statements are true x < 5 or x < 4

not หรือ: Returns True if one of the not(x < 5 and x < 10)
statements is true

นเิ สธ: Reverse the result, returns
False if the result is true

ตวั อย่างที่ 3.4 โค้ดคำสัง่ ตวั ดำเนินการตรรกศาสตร์
a = 3 # 00000011
b = 5 # 00000101

print('a & b =', a & b)
print('a | b =', a | b)
print('a ^ b =', a ^ b)
print('~a =', ~a)

บี ที ีทีี3ีีตีวีดีาีเีนีนีกีาีร 77

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

print('a << 1 =', a << 1)
print('a << 2 =', a << 2)
print('100 >> 1 =', 100 >> 1)

output
a&b=1
a|b=7
a^b=6
~a = -4
a << 1 = 6
a << 2 = 12
100 >> 1 = 50

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

#3&5
00000011
00000101
00000001 # result = 1

#3|5
00000011
00000101
00000111 # result = 7

#3^5
00000011
00000101
00000110 # result = 6

# ~3
00000011
11111100 # result = -4

78 ีบที ีทีี3ีตี ีวีดีาีเีนีนีกีาีร

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

จากการแสดงการทำงานข้างบนนน้ั ในตวั ดำเนินการ & หากทง้ั สองบิตมคี า่ เป็น 1 จะได้
ผลลพั ธ์เปน็ 1 ไมเ่ ชน่ นนั้ 0 ในตวั ดำเนนิ การ | หากอยา่ งนอ้ ยหนงึ่ บติ ท่มี ีคา่ เป็น 1 จะไดผ้ ลลัพธ์เปน็ 1
ไม่เช่นนัน้ 0 ในตัวดำเนินการ ^ หากท้งั สองบิตน้ันแตกตา่ งกันจะไดผ้ ลลพั ธเ์ ปน็ 1 ไมเ่ ช่นน้นั 0 และ
ในตัวดำเนินการ ~ นน้ั เปน็ การกลบั คา่ ของบติ หลงั จากนน้ั เราแปลงผลลพั ธท์ ไ่ี ดก้ ลบั ไปยงั ฐานสบิ

# 3 << 1
00000011
00000110 # result = 6

# 3 << 2
00000011
00001100 # result = 12

# 100>> 1
1100100
0110010 # result = 50

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

5. ตัวดำเนนิ การเอกลกั ษณ์ (Python Identity Operators)

Identity operators จะใชใ้ นการเปรยี บเทียบข้อมลู ระหวา่ งสองตัวแปร(objects) คอื is
และ is not วา่ เหมือนหรอื ไม่เหมอื นกัน :

ตารางที่ 12 ตวั ดำเนินการเอกลกั ษณ์

Operator Description Example
is
Returns true if both variables x is y
is not
are the same object

Returns true if both variables x is not y

are not the same object

ตัวอยา่ งท่ี 3.5 การใช้ is

x = ["apple", "banana"]
y = ["apple", "banana"]

ีบที ีทีี3ีีตีวีดีาีเีนีนีกีาีร 79

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

z=x
print(x is z)

# returns True because z is the same object as x
print(x is y)

# returns False because x is not the same object as y, even if they have the same
content
print(x == y)

# to demonstrate the difference betweeen "is" and "==": this comparison returns
True because x is equal to y
output
True
False
True

ตวั อยา่ งท่ี 3.6 การใช้ is not
x = ["apple", "banana"]
y = ["apple", "banana"]
z=x

print(x is not z)
# คืนค่า False เพราะวา่ z เท่ากบั x

print(x is not y)
# คนื ค่าTrue เพราะ x ไม่เทา่ กบั y, แมว้ า่ จะมเี นื้อหาเหมือนกัน

print(x != y)
# เพ่อื แสดงความแตกต่างระหว่าง "is not" and "!=": เปรียบเทยี บส่งคนื คา่ False เพราะ x
เทา่ กับ y
output
False
True
False

80 ีบที ีทีี3ีีตีวีดีาีเีนีนีกีาีร

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

6. ตัวดำเนินการตรวจสอบสมาชิก (Python Membership Operators)

ในภาษาไพทอน มีตัวดำเนนิ การในการตรวจสอบการเป็นสมาชกิ ในออบเจ็คประเภท List
Tuple และ Dictionary ตวั ดำเนินการ in ใช้ในการตรวจสอบถ้าหากคา่ นั้นมอี ย่ใู นออบเจค็ ถ้าหาก
พบจะไดผ้ ลลัพธเ์ ป็น True และหากไม่พบจะไดผ้ ลลัพธ์เปน็ False และตวั ดำเนินการ not in นน้ั จะ
ทำงานตรงกันข้าม หากไมพ่ บจะได้ผลลัพธเ์ ปน็ True แทน

ตารางที่ 13 ตวั ดำเนนิ การในการตรวจสอบการเป็นสมาชกิ ในออบเจ็ค

Operator Description Example
in Object memberships x in y
not in Negated object memberships x not in y

ตวั อยา่ งท่ี 3.7 การใช้ in
# ส่งคืนค่า True เพราะลำดบั ค่า "banana" อยใู่ น list
x = ["apple", "banana"]

print("banana" in x)
output
True

ตวั อยา่ งที่ 3.8 การใช้ not in

# สง่ คืนค่า True เพราะลำดบั ค่า "pineapple" ไมอ่ ยใู่ น list
x = ["apple", "banana"]
print("pineapple" not in x)

output
True

ตัวอยา่ งที่ 3.9 คำส่งั ตรวจสอบเงอื่ นไข

if 'Prim' in names:
print('\'Prim\' exist in the list')

else:
print('\'Prim\' not exist in the list')

บี ที ีทีี3ีีตีวีดีาีเีนีนีกีาีร 81

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

if 'Jib' in names:
print('\'Jib\' exist in the list')

else:
print('\'Jib\' not exist in the list')

numbers = {'1': 'one', '3': 'three', '2': 'two', '5': 'five'}
if 'one' in numbers.values():

print('\'one\' exist in the dictionary values')
else:

print('\'one\' not exist in the dictionary values')

if '7' in numbers.keys():
print('\'7\' exist in the dictionary keys')

else:
print('\'7\' not exist in the dictionary keys')

output
'Prim' exist in the list
'Jib' not exist in the list
'one' exist in the dictionary values
'7' not exist in the dictionary keys

7. ตัวดำเนนิ การระดบั บติ (Python Bitwise Operators)

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

ตารางที่ 14 ตวั ดำเนินการระดับบติ ในภาษาไพทอน

ตัวดำเนนิ การ ช่ือ คำอธบิ าย
กำหนดค่าบิตเป็น 1 ถ้าทั้งสองบิตมคี า่ เป็น 1
& AND กำหนดคา่ บติ เปน็ 1 ถ้าบติ ตัวใดตวั หนึ่งมีค่าเปน็ 1

| OR กำหนดคา่ บิตเปน็ 1 ถ้าตวั ใดต้วั หนงึ่ หรือทง้ั สองตัวมีค่าเปน็ 1
กลับบติ
^ XOR เลอื่ นไปทางซา้ ยโดยกดศนู ย์จากดา้ นขวาแลว้ ปล่อยใหบ้ ติ ซ้าย
สดุ หลุดออกมา
~ NOT เลอื่ นไปทางขวาโดยกดสำเนาของบติ ซ้ายสุดเขา้ จากซ้าย แลว้
ปล่อยให้บิตขวาสดุ หลดุ ออกมา
<< Zero fill left

shift

>> Signed right

shift

82 บี ที ีทีี3ีตี ีวีดีาีเีนีนีกีาีร

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

ตัวอยา่ งท่ี 3.10 คำส่ังตัวดำเนนิ การระดบั บติ

a = 3 # 00000011
b = 5 # 00000101

print('a & b =', a & b)
print('a | b =', a | b)
print('a ^ b =', a ^ b)
print('~a =', ~a)
print('a << 1 =', a << 1)
print('a << 2 =', a << 2)
print('100 >> 1 =', 100 >> 1)

Output
a&b=1
a|b=7
a^b=6
~a = -4
a << 1 = 6
a << 2 = 12
100 >> 1 = 50

8. ลำดบั การประมวลผลของตวั ดำเนินการ

ตารางท่ี 15 ลำดับการประมวลผลของตวั ดำเนินการ

ลำดบั ตวั ดำเนนิ การ คำอธบิ าย
1 () ใช้เพือ่ แบง่ นิพจน์ และลำดับการทำงาน
2 ** ยกกำลงั
3 ~, +, - คอมพลีเม้น, unary plus หรอื unary minus (การ
ดำเนินการทางคณิตศาสตร์โดยมีการกระทำกับ
4 *, /, %, // operand เพยี งตัวเดียว เพือ่ ทำการเพ่มิ คา่ / ลดค่า )
5 +, - คูณ, หาร, หารเอาเศษ, หารเอาสว่ น
6 =, +=, -=, *=, /=, %=, //=, **= บวก, ลบ
ตวั ดำเนินการกำหนดคา่

หมายเหตุ นพิ จนเ์ ร่ิมจากซา้ ยไปขวาเสมอ

บี ที ีทีี3ีีตีวีดีาีเีนีนีกีาีร 83

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

9. ฟงั กช์ นั เกี่ยวกบั ตวั เลข (Python Math)

ไพทอน มีชุดฟงั กช์ นั เกี่ยวกบั ตัวเลขใหเ้ ลอื กใช้มากมาย แยกเปน็ 2 กลมุ่ คอื Built-in Math
Functions สามารถเรียกใชง้ านได้ทนั ที และ The Math Module เรยี กใชง้ านผา่ นโมดลู math
ดังน้ี

▪ Built-in Math Functions
min() และ max() ฟงั กช์ ั่นที่สามารถใชใ้ นการหาค่าตำ่ สดุ หรือสูงสดุ ใน iterable:

ตวั อย่างที่ 3.11 คำสั่งฟังก์ชัน่ ทีส่ ามารถใช้ในการหาคา่ ต่ำสดุ หรอื สงู สุด
x = min(5, 10, 25)
y = max(5, 10, 25)
print(x)
print(y)
output
5
25

abs()ฟังกช์ ันส่งกลับแน่นอนคา่ (บวก) ของจำนวนท่รี ะบ:ุ

ตวั อยา่ งที่ 3.12 abs()ฟงั กช์ นั
x = abs(-7.25)
print(x)
output
7.25

ฟังกช์ ันส่งกลบั คา่ ของ x ยกกำลัง Y (x Y )pow(x, y)

ตัวอยา่ งท่ี 3.13 คืนคา่ 4 เป็นยกกำลงั 3 (เชน่ เดียวกบั 4 * 4 * 4):
x = pow(4, 3)
print(x)
output
64

84 ีบที ีทีี3ีตี ีวีดีาีเีนีนีกีาีร

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

▪ The Math Module
ไพทอน ยังมโี มดลู ในตัวท่เี รยี กว่า math ซึ่งขยายรายการฟงั ก์ชนั ทางคณติ ศาสตร์
ในการใช้งานตอ้ งนำเขา้ mathโมดูล:

import math
เมือ่ import math โมดูล สามารถเริม่ ใชว้ ธิ กี ารและคา่ คงทขี่ องโมดลู ได้
เมธอด math.sqrt() ตัวอยา่ งคนื ค่า square root ของจำนวน:

ตัวอยา่ งท่ี 3.14 import math
import math
x = math.sqrt(64)
print(x)
output
8.0

เมธอด math.ceil() ปดั เศษตวั เลขข้ึนไปเตม็ ทใี่ กลเ้ คียงทส่ี ุด และ เมธอด math.floor() เลข
จำนวนเตม็ ทใ่ี กลเ้ คยี งที่สุด:

ตัวอย่างที่ 3.15 เมธอด math.ceil()
import math
x = math.ceil(1.4)
y = math.floor(1.4)
print(x) # returns 2
print(y) # returns 1
output
2
1

บี ที ีทีี3ีีตีวีดีาีเีนีนีกีาีร 85

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

ตวั อยา่ งที่ 3.16 math.pi คงส่งกลบั คา่ ของ PI (3.14 ... )
import math

x = math.pi

print(x)
output
3.141592653589793

10. กิจกรรม

1. จงฝึกเขยี นโปรแกรมและหาผลลพั ธ์ สลับคา่ ก่อนหลงั

a=7
b = 11
print(f'ก่อนสลับค่า a = {a}, b = {b}')

c=a
a=b
b=c
print(f'หลงั สลับคา่ a = {a}, b = {b}')

จงฝกึ เขยี นโปรแกรมและหาผลลพั ธ์ จำนวนและราคาสินคา้ ทซ่ี ื้อ

quantity = int(input('จำนวนสนิ ค้าทีซ่ ื้อ: ')) #จำนวนสินค้าต้องเป็นจำนวนเตม็

price =float(input('ราคาสนิ คา้ : ')) #ราคาสนิ ค้าอาจมีทศนยิ มได้

total = price * quantity
print('รวมเปน็ เงิน: ', total)

pay = float(input('จำนวนเงินท่จี ่าย: '))
change = pay - total
print('เงินทอน: ', change)

86 ีบที ีทีี3ีีตีวีดีาีเีนีนีกีาีร

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

2. จงฝึกเขียนโปรแกรมและหาผลลพั ธ์ สลบั ค่า
a = 10
b = 20
print(f'ก่อนสลับค่า a = {a}, b = {b}')

b = a + b #b = 10 + 20 = 30
a = b - a #a = 30 - 10 = 20
b = b - a #b = 30 - 20 = 10
print(f'หลงั สลับคา่ a = {a}, b = {b}\n')

a = 108
b = -1009
print(f'ก่อนสลับคา่ a = {a}, b = {b}')

b=a+b
a=b-a
b=b-a
print(f'หลงั สลบั คา่ a = {a}, b = {b}')

3. จงฝกึ เขยี นโปรแกรมและหาผลลพั ธ์ จำนวนเงินทีจ่ ะถอนและธนบตั ร
withdraw = int(input('จำนวนเงินทจี่ ะถอน: '))

b1000 = withdraw // 1000
remain = withdraw % 1000

b500 = remain // 500
remain = remain % 500

b100 = remain // 100

print(f'ธนบตั รทไ่ี ด้:\nB1000 = {b1000} \nB500 = {b500} \nB100 = {b100}')

บี ที ีทีี3ีีตีวีดีาีเีนีนีกีาีร 87

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

4. จงฝกึ เขยี นโปรแกรมและหาผลลัพธ์ คา่ เฉลีย่

sum = 0

sum += int(input('จำนวนท่ี #1: '))
sum += int(input('จำนวนที่ #2: '))
sum += int(input('จำนวนท่ี #3: '))
sum += int(input('จำนวนท่ี #4: '))

average = sum / 4

print('\nผลรวมเท่ากับ: ', sum)
print('ค่าเฉล่ียเทา่ กับ: ', average)

5. จงฝกึ เขยี นโปรแกรมและหาผลลพั ธ์ การรับค่า

n = int(input('กรณุ าใสเ่ ลข 4 หลกั : '))

x=n
x //= 1000
print(x)

x=n
x %= 1000
x //= 100
print(x)

x=n
x %= 100
x //= 10
print(x)

x=n
x %= 10
print(x)

11. สรุปท้ายบท

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

88 ีบที ีทีี3ีตี ีวีดีาีเีนีนีกีาีร

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

12. แบบฝกึ หดั ท้ายบท

1. แปลงคา่ ปพี ทุ ธศกั ราชให้เปน็ ปีคริสต์ศักราช
2. หาปรมิ าตรของนำ้ ในตู้ปลาทรงสเ่ี หลีย่ มมมุ ฉาก เมือ่ ทราบความกวา้ ง ความยาว และ

ความสูง
3. หาค่าเฉล่ียและรอ้ ยละของคะแนนสอบ 5 วิชา จากคะแนนเตม็ 100 คะแนน
4. ลุงลติ เรมิ่ วงิ่ จากจุดต้นทางทศิ ตะวนั ออก x กิโลเมตร แลว้ วงิ่ ไปทางทศิ เหลอื อกี y

กิโลเมตร ลุงลิตอย่หู ่างจากจุดเรม่ิ ตน้ เทา่ ใด
5. ป้าหญิงตอ้ งการไปเทีย่ วแอฟริกาใต้ พยากรณอ์ ากาศแจง้ ว่า อุณหภมู ิชว่ งทีไ่ ป 55 องศา

ฟาเรนไฮต์ จะเทียบเทา่ ก่อี งศาเซลเซยี ส
6. จงเขียนโปรแกรมเพ่อื คำนวณหาพ้ืนท่รี ูปพืน้ ท่วี งกลม ท่ีมคี วามยาวแตล่ ะด้านมมุ เทา่ กัน

ทงั้ หมด มสี ตู รคำนวณดังน้ี
พน้ื ท่ีวงกลม = pr²
* p มีคา่ เทา่ กบั 22/7 หรอื 3.14
7. จงเขยี นโปรแกรมเพอ่ื รับค่าจากคียบ์ อร์ด เพอื่ คำนวณหามูลคา่ การลงทนุ ในอนาคต
(future value)

fv = amount * ( 1 * rate)period
• Amount = จำนวนเงินท่ลี งทุนเริม่ แรก
• Rate = อตั ราดอกเบ้ีย
• Period = ชว่ งระยะเวลาการลงทนุ

8. จงเขียนโปรแกรมเพ่ือสรา้ ง Password แบบสุ่ม ที่ ประกอบด้วย 0-9,a-z,A-Z รวมกนั
6 ตวั

บี ที ีทีี3ีีตีวีดีาีเีนีนีกีาีร 89

กี าีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

9. จงเขียนโปรแกรมเพ่อื สรา้ งเลขสุม่ ให้เป็นวนิ าที ระหว่าง 100,000 -1,000,000 แลว้
แปลงหนว่ ยเป็น ช่ัวโมง:นาท:ี วินาที

10. จงเขียนโปรแกรมเพ่ือรบั ตัวเลขจากคยี บ์ อร์ด ซึ่งสมมตวิ า่ เปน็ เงนิ ท่ตี ้องจ่ายออก
แลว้ ตรวจสอบวา่ เงินดังกล่าวต้องประกอบดว้ ยธนบตั รและเหรยี ญชนดิ ใด โดยให้เริม่ จากค่าทม่ี าก
ที่สดุ ที่เปน็ ไปไดเ้ สมอ คือ 1000,500,100,50,20,10,5,2,1,50สตางค์,25สตางค์

90 บี ที ีทีี3ีตี ีวีดีาีเีนีนีกีาีร

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

บทที่ 4
ข้อมลู แบบลำดบั รายการ

หากมตี วั แปรท่จี ดั เก็บข้อมลู จำนวนมาก การอา้ งถงึ ตวั แปรทีละตวั ก็จะเกิดความยุ่งยาก ซึ่ง
เราอาจเปลีย่ นมาใช้วธิ กี ารสร้างท่ีสามารถเก็บชดุ ขอ้ มลู แทนไดห้ ลายแบบ เชน่ Lists, Tuples,
Sets, หรอื Dictionaries เปน็ ตน้ ซงึ่ ขอ้ มลู ดังกลา่ วมีลกั ษณะเป็นลำดับรายการท่ตี ่อเนือ่ งกนั ดงั นน้ั
เราสามารถใชล้ ูป for หรือ while รวมถงึ ฟังก์ชันท่ีเกี่ยวขอ้ ง

1. รายการขอ้ มลู แบบ Lists

List (ลิสต์) คอื โครงสร้างขอ้ มูลชนิดหนงึ่ ในภาษาไพทอนท่ใี ช้เก็บขอ้ มลู แบบลำดบั (Sequence)
โดยมี Index เป็นตัวระบตุ ำแหนง่ ในการเข้าถึงข้อมลู เราสามารถใช้ List เพอื่ เกบ็ ข้อมลู จำนวนมาก
และหลากหลายประเภทในเวลาเดยี วกัน List เปน็ ประเภทขอ้ มลู ท่ใี ช้อยา่ งหลากหลายในการเขยี น
โปรแกรม นอกจากนี้ ในภาษาไพทอนยงั มี built-in function ทีส่ ามารถทำงานกบั List และใน List
ออบเจ็คเองก็มีเมธอดตา่ งๆ เป็นจำนวนมากทช่ี ่วยอำนวยความสะดวกในการเขียนโปรแกรม

1.1 การประกาศและใช้งาน List

List นน้ั เปน็ ตวั แปรประเภทหนง่ึ การใชง้ านของมนั จะเหมอื นกบั อาเรยใ์ นภาษาอน่ื ๆ ในการ
ประกาศ List นั้นข้อมูลของมันจะอยภู่ ายในเครอ่ื งหมาย […] และคัน่ สมาชกิ แตล่ ะตัวด้วยเครื่องหมาย
คอมมา , มาดตู วั อย่างการประกาศ List ในภาษาไพทอน

ตวั อย่างท่ี
numbers = [-1, 2, 5, 8, 10, 13]
names = ['Sit', 'Jame', 'Ton', 'Leo', 'Ang', 'Pusit', 'Kawin', 'Prim',]
mixed_type = [-2, 5, 84.2, "C++", "Python"]

1.2 เมธอดและฟงั กช์ ันทใ่ี ช้กับ List รูปแบบการใชง้ าน
lst.append(x)
ตารางท่ี 16 เมธอดและฟงั ก์ชนั ท่ีใชก้ บั List x คอื ขอ้ มลู ท่ีต้องการเพม่ิ
lst.clear()
เมธอด ความหมาย lst_new = lst.copy()
append() เพ่ิมข้อมูลต่อทา้ ยลสิ ต์ lst_new = ชือ่ ตัวแปรเกบ็ ขอ้ มลู ลสิ ต์
lst.copy = ชื่อตัวแปรชนิดขอ้ มลู ลสิ ตช์ ื่อตัว
clear() ลบข้อมูลทง้ั หมดออกจากลสิ ต์ แปรเกบ็ ข้อมลู ลิสต์
copy() คดั ลอกชนิดขอ้ มูลลสิ ต์
บี ที ีทีี4ีขี ีอีมีลีแีบีบีลีาีดีบีรีาียีกีาีร 91

ีกาีีรีเีขียีนีโีปีรีแีกีรีมีภีาีษีาีไีพีทีอีนีี(Python Programming)

เมธอด ความหมาย รปู แบบการใชง้ าน
count()
extend() นบั จำนวนข้อมูลทซี่ ้ำกนั ในลสิ ต์ lst.count(x)
index()
x คอื ข้อมลู ท่ตี ้องการนบั
insert()
เพม่ิ ลสิ ต์เขา้ ไปในลิสต์ lst.extend(x)
pop()
remove() ค้นหาตำแหน่งข้อมูลท่ีเกบ็ ในลสิ ต์ lst.index(x, start, stop)
reverse()
sort() x คือ ข้อมลู ทีต่ อ้ งการคน้ หา

len() start คอื จุดเรมิ่ ตน้ ที่ตอ้ งการคน้ หา

stop คอื จุดสดุ ท้ายที่ต้องการค้นหา

แทรกข้อมูลเขา้ ไปในลิสต์ lst.insert(index, x)

index คือ ตำแหนง่ ทตี่ อ้ งการแทรก

x คอื ข้อมลู ที่ตอ้ งการแทรก

ลบขอ้ มูลโดยการระบุตำแหนง่ lst.pop(index)

index คือ ตำแหนง่ ที่ต้องการลบ

ลบขอ้ มลู ดว้ ยการระบุช่ือ lst.remove(x)

x คอื ขอ้ มลู ท่ีต้องการลบ

สลับตำแหน่งจากด้านหลงั มา lst.reverse()

ด้านหน้า

เรียงลำดับขอ้ มูลในลสิ ต์ lst.sort(reverse=False)

reverse=False คือ ค่าเริ่มต้นทีจ่ ะเรยี งจาก

มากไปหาน้อย กำหนดหรือไมก่ ำหนดกไ็ ด้ ถา้

กำหนดใหเ้ ป็น True จะเรยี งจากมากไปหา

น้อย

ฟงั ก์ชนั ท่ีใช้แสดงขอ้ มูลในลิสต์ len(lst)

หมายเหตุ lst คอื ตวั แปรชนิดList

1.3 การเข้าถึงตำแหน่งขอ้ มูล Lists (Access List Items)

List นน้ั ใช้ Index สำหรับการเข้าถงึ ข้อมลู โดย Index ของ List จะเป็นจำนวนเต็มทเี่ รม่ิ
จาก 0 และเพมิ่ ข้ึนทลี ะ 1 ไปเร่ือยๆ ดงั น้นั เราจงึ สามารถเข้าถึงข้อมลู ภายใน List เพือ่ อา่ นหรอื
อัพเดทค่าได้โดยตรงผ่าน Index ของมัน น่เี ปน็ โค้ดการเข้าถงึ ข้อมูลภายใน List ในภาษาไพทอน

ตำแหน่งจากดา้ นทา้ ย -8 -7 -6 -5 -4 -3 -2 -1
Names = Sit Jan Ton Leo Ang Pu Kaew Prim
1234 567
ตำแหน่งจากด้านหน้า 0

92 ีบที ีทีี4ีีขีอีมีลีแีบีบีลีาีดีบีรีาียีกีาีร


Click to View FlipBook Version