ใบอนุญาตเลขที่ 49/2559...

28
ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ

Upload: others

Post on 17-Jun-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ใบอนญาตเลขท 49/2559 กลมบรหารวชาการ

Page 2: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์
Page 3: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 50

หนวยการเรยนรท 3 พนฐานการเขยนโปรแกรมไพทอน

จดประสงคการเรยนร

3.1 ใชงานขอมล ชนดขอมล ตวแปร คาคงตว และนพจน

3.1 คาและชนดของขอมล

ภาษาไพทอนจะมชนดขอมลอย 9 ชนดดวยกน ไดแก ตวเลข ขอมลเรยงล าดบ การจบค callable มอดล คลาส อนสแตนซคลาส ไฟล และ internal ในแตละชนดจะมชนดขอมลยอยอก แตทจะน ามาศกษาในเลมนจะน าเอาชนดของขอมลทเปนพนฐานทใชกนบอย ๆ ซงอยดวยกน 4 ชนดไดแก integer, float, string และ dictionary ซงขนอยกบตวแปรทจะใชวาตองการก าหนดใหเปนขอมลชนดใด เชน ถาตองการเกบขอมลของคะแนนผลการสอบทเปนจ านวนเตม จะตองก าหนดใหชนดตวแปรเปนจ านวนเตม หรอเรยกวา integer มรปแบบดงน

ภาพท 3.1 แสดงการประกาศตวแปรชนด integer

ถาหากตองการเกบคะแนนผลสอบเปนตวเลขทมจดทศนยมดวยจะตองก าหนดใหชนดตวแปรเปนจ านวนทมจดทศนยม หรอเรยกวา float มรปแบบดงน

ภาพท 3.2 แสดงการประกาศตวแปรชนด floating point

Page 4: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 51

นอกจากตวอยางทไดแสดงไวแลว ภาษาไพทอนยงมชนดขอมลทเพมมากขนกวาโปรแกรมภาษาอน ๆ อกมากมายใหเลอกใช ดงรายละเอยดจากตาราง

ชนดขอมล ชนด ค าอธบาย

ตวเลข

Boolean

Integer Long integer

Float Complex number

ตรรกะ มคาจรงกบเทจ

เลขจ านวนเตม

เลขจ านวนเตมใชบตสองเทา

เลขทศนยม

จ านวนจนตภาพ

ขอมลแบบเรยงล าดบ String

Unicode

ListType

TupleType

XRangeType

BufferType

สายอกขระ

สายอกขระยนโคด

รายการ

ทเพล

เอกซแรนจ คนคาจาก xrange() บฟเฟอร คนคาจาก buffer()

การจบค Mapping DictType ดกชนนาร

callable BuiltinFunctionType

BuiltinMethodType

ClassType

FunctionType

InstanceType

MethodType

UnboundMethodType

ฟงกชน built-in ตาง ๆ

เมธอด built-in ตาง ๆ

คลาส

ฟงกชน

คลาสและอนสแตนซ เมธอด

Bound class Method

มอดล ModuleType ชนดมอดล

คลาส ClassType ชนดคลาส

อนสแตนซคลาส InstanceType ชนดอนสแตนซคลาส

ไฟล FileType ชนดไฟล

Page 5: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 52

1. ขอมลชนดตวเลข หมายถง ขอมลทเปนชดของตวเลขซงประกอบดวย ตวเลขจ านวนเตม ตวเลขทมจดทศนยม รวมทงตวเลขทมคาเปนบวกหรอลบดวย ตวอยางเชน 8, 32.00, 0.64, -255.1, +32767 เปนตน ชนดขอมลแบบตวเลขจะมใหเลอกใชอก 4 ชนด ชนดตามตารางท 1.2 ชนดขอมลตวเลขประกอบดวย 4 ชนด ไดแกinteger long integer float และชนด complex number มรายละเอยดดงตารางท 3.1

ตารางท 3.1 ขอมลชนดเลข

ชนด ชวง

integer long integer

float complex

-231 – 231-1

< -231 หรอ > 231-1

+10308.25 – -10308.25

--

2. ชนดขอมลแบบอกขระ คอชนดขอมลทเปนอกขระเพยงหนงตวเทานน โดยทตวอกขระนจะอย

ในเครองหมาย Apostrophes ('') อาจจะเปนตวอกษรภาษาองกฤษตวเลกและใหญ สญลกษณพเศษตาง ๆ หรอตวเลข แตมขอแมวาถาเปนขอมลตวเลขจะไมสามารถทจะน าตวเลขนนไปค านวณเหมอนกบตวแปรชนดเลขจ านวนเตมหรอจ านวนจรงได ตวอยางขอมลชนดอกขระเชน 'A', 'Z', 'a', 'z', '1', '9', '#', '%' เปนตน

3. ชนดขอมลแบบขอความ คอชนดขอมลทเปนอกขระตงแตหนงตวอกขระขนไป ซงจะเรยงตอกนเปนกลมโดยจะอยภายในเครองหมาย Apostrophes (' ') แตกลมอกขระทเรยงตอกนนจะมความยาวไมเกน 255 อกขระ และในกรณทในเครองหมาย ('') ไมมอกขระใด ๆ อยในภาษาไพทอนจะเรยกวา Null String ชนดขอมลทเปนขอความเชน 'Songkhla', 'Rajabhat', 'University' 4. ชนดขอมลแบบตรรกศาสตร คอ ชนดขอมลทใหผลลพธทไดจากการตดสนใจจากเงอนไขหรอนพจน โดยผลของขอมลชนดนจะมเพยงคาจรงและเทจเทานน ตวอยางเชน isChecked = True หมายถง ก าหนดใหตวแปร isChecked เกบคาจรงเอาไว หรอ verified = False หมายถง ตวแปร verified เกบคาเทจเอาไว

3.2 ตวแปร

การประกาศตวแปร

ตวแปร (variable) เปนการก าหนดชนดขอมลของตวแปร เพอน าไปใชในการเขยนโปรแกรม โดยทโปรแกรมภาษาไพทอนไปจองพนทในหนวยความจ า เพอใชเกบขอมลชนดตาง ๆ แลวแตชนดของตวแปรทประกาศเอาไว อาจเปนชนดตวเลข ตวอกขระ หรอสายอกขระ ขอมลประเภทเหลานจะถกน าไปอางถงเมอเขยนค าสงไปอางอง ภาษาไพทอนมการประกาศตวแปรไมเหมอนเหมอนภาษาซ หรอภาษาปาสกาล ดงน

Page 6: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 53

ตารางท 3.2 แสดงเปรยบเทยบการประกาศตวแปรระหวางภาษาตาง ๆ

ชนดขอมล ภาษาไพทอน ภาษาซ ภาษาปาสกาล

integer i = 0

j = 5

int i; int j;

i : integer; j : integer

float i = 0.0

j = 5.0

float i; float j;

j : real; j: real;

character ch = ‘Y’ char ch; ch : char;

string text = ‘Programming Language’

string text; string : text;

boolean Boo = True

Boo = False

Boo : Boolean; Boo := true; Boo := false;

จากตารางท 3.2 แสดงการเปรยบเทยบการประกาศตวแปรของภาษาตาง ๆ เปรยบเทยบกบภาษาไพทอน ภาษาซจะตองบอกชนดอยางชดเจน เชน int i; แตภาษาไพทอนสามารถก าหนดคาใหกบตวแปรนน ๆ ไดเลย ตวแปรของภาษาไพทอนจะเรยนรจากขอมลทเราก าหนดให เชน i = 0 หมายถง ตวแปร i เกบขอมลประเภทตวเลขจ านวนเตม (integer) แตการประกาศตวแปรมเงอนไขทตองค านงตามกฎการตงชอตวแปรของภาษาไพทอน

กฎการตงชอตวแปร มดงตอไปน 1. ตองขนตนดวยตวอกษร หามใชตวเลขหรอสญลกษณใด ๆ

2. หามมชองวาง หรอเวนวรรค

3. หามใชเครองหมายตอไปนในการตงชอตวแปร !,@, #, $, %, ^, &, *, (, ), -, =, \, |, +, ~

4. หามตงชอตวแปรซ ากบค าสงวน

5. ควรตงชอตวแปรทสอความหมายใหชดเจน เพอผอนตความหมายไดเขาใจ แตถามความยาว มากใหยอ เชน student_name ควรใช st_name เปนตน

6. ตวแปรทมตวพมพใหญและตวพมพเลกผสมกนจะมความหมายตางกบตวพมพเลกเพยงอยาง เดยว เชน St_Id แตกตางจากตวแปร st_id เปนตน

Page 7: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 54

ค าสงวน

ค าสงวน คอ ชอหรอค าทภาษาไพทอนสงวนไวเฉพาะเพอใชเปนค าสง หรอมไวเพอเขยนเปนโครงสรางของตวภาษาเอง ฉะนนผเขยนโปรแกรมจงควรหลกเลยงค าสงวนเหลานในการตงชอโปรแกรม ตวแปร หรอชอใด ๆ กตามทตงขนมาใหมแลวตรงกบค าสงวน ค าสงวนมดวยกน 31 ค าดงตอไปน

and

as assert break

class continue

def

del elif else

except exec

finally

for

from

global if import in

is lambda

not or pass print raise

return

try

while

with

yield

3.3 สตรง การก าหนดขอความในไพทอนผเขยนโปรแกรมสามารถเลอกใชเครองหมายอญประกาศเดยว (‘ ‘) หรอเครองหมายอญประกาศค (“ “) ไดตามความเหมาะสม เชน “Sorawitch Rakdee” ถามความจ าเปนตองก าหนดขอความทตองม เครองหมาย “ เปนสวนหน งของขอความกให เ ลอกใช เครองหมาย ‘ ’ เปนเครองหมายก าหนดขอความแทน เชน ‘He said “You must come here on time” ’ โดยสามารถใชเครองหมาย \ (backslash) เพอระบความหมายพเศษของอกขระทไมสามารถพมพได เชน \n ในการก าหนดขอความทมหลายบรรทด

นอกจากนผเขยนโปรแกรมยงสามารถใชเครองหมาย “ หรอ ‘ ตดกนจ านวน 3 ตวในการก าหนดขอความได ท าใหสะดวกในการก าหนดขอความทตองมทงเครองหมาย “ และ ‘ หรอขอความทตองมอกขระ \n อยภายใน

ตวอยาง การก าหนดขอความในภาษาไพทอนดวยวธตาง ๆ

Page 8: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 55

จากตวอยาง เนองจากตองการใหมเครองหมาย " ในขอความดวย จงใชเครองหมาย '' ในการก าหนดขอความ ดงค าสงในบรรทดท 1 ส าหรบบรรทดท 2 แสดงใหเหนวาสามารถใชเครองหมาย " ในการก าหนดขอความ

บรรทดท 3 เปนการสงใหแสดงผลคาของขอมลดวยฟงกชน print() ค าสงในบรรทดท 5 ถง 8 เปนการใชเครองหมาย ''' ในการก าหนดใหตวแปรชไปยงขอความทมหลายบรรทดหรอมเครองหมาย " หรอ ' อยในขอความ

เมอสงแสดงผลขอความในบรรทดท 9 ดวยฟงกชน print() ผลลพธจะแสดงในบรรทดท 10-13

3.4 นพจนและตวด าเนนการ

นพจน (Expression) คอ ขอก าหนดทใชในการค านวณหาคาตาง ๆ ยกตวอยางงาย ๆ ทเหนไดชด

กอยางเชนสตรคณตศาสตรตาง ๆ ซงสตรเหลานนจะประกอบไปดวยโอเปอรแรนด (Operand) โอเปอรแรนด คอ ตวแปร หรอคาคงท หรอฟงกชนตาง ๆ มาค านวณอาจจะมตงแตหนงตวหรอมาก

วา โดยการใชโอเปรเรเตอร (Operator) หรอตวด าเนนการ ซงเปนสญลกษณทใชในการค านวณหรอเปรยบเทยบทางคณตศาสตรมาเปนตวเชอมของโอเปอรแรนด ตวอยางเชน บวก (+) ลบ (-) คณ (*) หาร (/) เปนตน เพอจะเปนการเขาใจนพจนดยงขนใหพจารณาจากสตรการหาพนทของวงกลมตอไปนคอ p * radius * radius

Expression คอ p * radius * radius

Operand ม 2 ตว คอ

Variable (ตวแปร) คอ radius

Constant (คาคงท) คอ p

Operator คอ *

Page 9: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 56

ตารางท 3.3 สญลกษณทางคณตศาสตรทใชในการค านวณในภาษาไพทอน

สญลกษณ การค านวณ ตวอยาง อธบาย

+ บวก (Addition) x = y + z น าคาในตวแปร y บวกดวยคาในตวแปร z น าผลลพธเกบในตวแปร x

- ลบ (Subtraction) x = y - z น าคาในตวแปร y ลบดวยคาในตวแปร z น าผลลพธเกบในตวแปร x

* คณ (Multiplication) x = y * z น าคาในตวแปร y คณดวยคาในตวแปร z น าผลลพธเกบในตวแปร x

/ หาร (Division) x = y / z น าคาในตวแปร y ตงหารดวยคาในตวแปร z น าผลลพธเกบในตวแปร x

% หารเอาเศษ (modulo) x = y % z น าคาในตวแปร y หารดวยคาในตวแปร z น าเศษทไดเกบในตวแปร x

** ยกก าลง x = y ** z น าคาในตวแปร y คณยกก าลงดวยคาในตวแปร z น าผลลพธเกบในตวแปร x

// หารปดเศษ x = y // z น าคาในตวแปร y ตงแลวหารดวยตวแปร z ผลลพธเกบในตวแปร y ผลลพธปดเศษทง เชน 5/2 ค าตอบคอ 2

จากตารางท 3.3 จะเหนไดวาสญลกษณทใชค านวณในภาษาไพทอนจะมอย 6 ตวดวยกนคอ บวก ลบ คณ หาร หารเอาเศษยกก าลงและหารไมปดเศษ ซงการค านวณจะขนอยกบชนดของตวแปรวาเปนชนดขอมลแบบใดทมากระท าตอกน ซงผลทไดเมอค านวณเสรจแลวอาจจะเปนชนดขอมลแบบเดมหรออาจจะกลายเปนชนดขอมลตวใหมกได ซงการค านวณแตละตวจะมวธการค านวณดงตวอยางตอไปน การบวก (Addition)

integer + integer = integer เชน 5 + 2 = 7

float + integer = float เชน 5.5 + 2 = 7.5

integer + float = float เชน 2 + 5.5 = 7.5

float + float = float เชน 2.5 + 4.2 = 6.7

Page 10: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 57

การลบ (Subtraction) integer - integer = integer เชน 6 - 1 = 5

float - integer = float เชน 3.3 - 3 = 0.3

integer - float = float เชน 3 - 3.3 = -0.3

float - float = float เชน 1.5 - 2.7 = -1.2

การคณ (Multiplication) integer * integer = integer เชน 4 * 3 = 12

float * integer = float เชน 2.7 * 1 = 2.7

integer * float = float เชน 1 * 2.7 = 2.7

float * float = float เชน 3.2 * 2.4 = 7.68

การหาร (Division) integer / integer = integer เชน 5 / 2 = 2

float / integer = float เชน 3.2 / 2 = 1.6

integer / float = float เชน 2 / 3.2 = 0.625

float / float = float เชน 2.5 / 1.5 = 1.67

การหารเอาเศษ (Remainder) integer % integer = integer เชน 5 % 2 = 1

หมายเหต การหารเอาเศษไมใชเอาเศษหลงจดทศนยมแตจะเอาเศษทเหลอจากการหารไมลงตวมาเปนผลลพธ

นพจนทางตรรกศาสตร (Boolean Logical Expression) เปนนพจนทแสดงความสมพนธของการเปรยบเทยบ โดยการใชตวเชอมดวยโอเปอรเรเตอรในการเปรยบเทยบเชน มากกวา นอยกวา เทากบ ไมเทากบ เปนตน และยงมสญลกษณทางตรรกศาสตรซงไดแก and or not ทใชเปรยบเทยบเงอนไขทมมากกวาหนงเงอนไข

Page 11: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 58

ตารางท 3.4 สญลกษณเปรยบเทยบทางคณตศาสตร

เครองหมาย ความหมาย

==

> < <=

>=

<>, !=

เทากบ

นอยกวา

มากกวา

นอยกวาหรอเทากบ

มากกวาหรอเทากบ

ไมเทากบ

ตารางท 3.5 เปรยบเทยบตรรกะทางคณตศาสตร

เงอนไข 1 เงอนไข 2 not 1 1 and 2 1 or 2

T

T

F

F

T

F

T

F

F

F

T

T

T

F

F

F

T

T

T

F

ตวอยางท 3.1 ก าหนดให A = 1, B = 2, C = 3

ถา (A != B) and ((A > C) or (C > B)) จะมผลลพธเปนจรงหรอเทจ

ผลลพธ คอ จรง

เกรดนาร “การประมวลผลนพจนทมตวด าเนนการตอเนองกน”: ถานพจนเปรยบเทยบมการใชตวด าเนนการเปรยบเทยบตอเนองกนจากซายไปขวา นพจนจะถกด าเนนการเปรยบเทยบเปนลกโซทละค และเชอมแตละคดวยตวด าเนนการ and เชน นพจน 2<3<5

ล าดบการด าเนนการ คอ (2<3) and (3<5) ผลลพธทไดคอ True and True

True

Page 12: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 59

ล าดบการกระท าของเครองหมาย นพจนทใชในการค านวณอาจมเครองหมายการค านวณ เชน + - * / หรอการเปรยบเทยบเงอนไข

ตาง ๆ จะตองมเครองหมายทใชในการเปรยบเทยบ ใหถกตองตรงกบหมายของการท างาน และผเขยนค าสงโปรแกรมตองทราบล าดบการท างานของเครองหมายในแตละเครองหมาย วาเครองหมายใดจะประมวลผลกอนหรอหลง ตารางท 3.6 ล าดบการค านวณของเครองหมายในภาษาไพทอน

ล าดบ เครองหมาย ความหมาย

1 ** ยกก าลง

2 *, /, % คณ หาร หารเอาเศษ

3 +, - บวก ลบ

4 <, <=, >, >=, <>, !=, == นอยกวา, นอยกวาหรอเทากบ, มากกวา, มากกวาหรอเทากบ, ไมเทากบ, ไมเทากบ, เทากบ

5 not บลนไม

6 and บลนและ

7 or บลนหรอ

โดยทวไปแลวในการค านวณนพจนหรอการเปรยบเทยบเงอนไขทกระท าโดยคน จะค านวณจากซายมอไปขวามอตามล าดบ แตการประมวลผลดวยเครองคอมพวเตอรนนจะใชหลกการใหความส าคญกบเครองหมายทใชกบนพจนนน ๆ โดยเครองหมายทมล าดบความส าคญมากกวาจะไดสทธประมวลผลกอน แมวาเครองหมายนนจะอยดานขวามอกตาม แตถาเครองหมายใด ๆ มล าดบความส าคญเทากนโปรแกรมคอมพวเตอรจะประมวลผลจากซายมอไปขวามอตามปกตเชนเดยวกบการค านวณดวยคน

ตวอยางท 3.2 จากการค านวณตอไปน price จะไดค าตอบเทากบเทาไร

price = cost + packing * 2 – discount; ก าหนดให

cost = 100, packing = 10 และ discount = 5

Page 13: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 60

ล าดบการค านวณดวยคอมพวเตอรจะเปนดงน 1. เรมตนจากตวแปร packing คณดวย 2 กอน เนองจากเครองหมาย * ตองท ากอนเครองหมาย

+ หรอ - คาทไดเทากบ 10 * 2 เทากบ 20

2. จากนนจะค านวณจากซายมอไปขวามอ เนองจากเครองหมาย + และ - มล าดบความส าคญเทากน ดงนนจะน าเอา cost + ผลลพธทไดจากขอ 1 จงไดผลลพธเทากบ 120

3. สดทาย น าเอาผลลพธจากขนท 2 ลบดวย discount หรอ 120 – 5 เพราะฉะนนค าตอบทได price = 115

การเปลยนล าดบการค านวณนพจนในภาษาไพทอน สามารถท าไดโดยการใสเครองหมายวงเลบ ครอมสวนของนพจนทตองการใหท าการค านวณกอน ซงเปนวธการค านวณเชนเดยวกบคน เชน

price = ((cost + packing) * 2) – discount;

หมายถงใหน า cost บวกกบ packing กอนแลวมาคณดวย 2 จากนนจงไปลบดวย discount ผลลพธทไดจงเทากบ 215

การแปลงนพจนทวไปใหเปนนพจนในภาษาไพทอน

โดยทวไปแลวเราไมสามารถทจะน านพจนคณตศาสตรทว ๆ ไปน ามาใชในภาษาไพทอนไดเลยอยางเชนนพจนคณตศาสตรตอไปนคอ ax2+bx+c จะน าไปใชเขยนโปรแกรมเลยไมไดผเขยนโปรแกรมจะตองแปลงใหเปนนพจนทโปรแกรมภาษาคอมพวเตอรสามารถน าไปใชได ถาสงเกตใหดจะเหนวา ax2 จรง ๆ แลวจดเปนหนงนพจน ถาแปลงใหเปนนพจนของภาษาไพทอนจะได a*x*x แลว bx เปนอกนพจนหนงถาแปลงเปนนพจนของภาษาไพทอนคอ b*x โดยนพจนสองตวนถกเชอมดวยโอเปอรเรเตอร + กอนทจะน านพจนสองตวนมาเชอมดวยเครองหมาย + ใหใสวงเลบเปดปดครอมนพจนแตละตวกอนถงจะน ามาบวกกนได เพราะฉะนนถาเขยนเปนนพจนในภาษาไพทอนจะไดดงนคอ (a*x*x)+(b*x)+c เปนตน

ตวอยาง จากนพจนคณตศาสตร คอ ถาแปลงเปนนพจนในภาษาไพทอนจะได (Y * Y) / (X * X)

Page 14: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 61

3.5 ฟงกชนในไพทอน

ฟงกชน (function) เปนโปรแกรมยอยทสรางขนเพอใหท างานเฉพาะอยาง สามารถน ามาใชไดในภายหลง ท าใหเกดความสะดวกในการจดท าโปรแกรมขนาดใหญ และชวยในการตรวจสอบความถกตองของโปรแกรมไดงายขน ในภาษาไพทอนมฟงกชนใหใชงานอยแลวจ านวนมาก ฟงกชนทเคยใชมาแลว เชน print(), input(), int() และ type() การใชงานฟงกชน ท าไดโดยเรยกชอฟงกชน พรอมกบสงคาของขอมลตามจ านวนทฟงกชนก าหนด โดยระบอยภายในเครองหมาย ( ) หากคาของขอมลทสงไปใหกบฟงกชนมมากกวาหนงจ านวน จะคนดวยเครองหมาย , ดงทใชงานมาแลว เชน

print('Is ', c, ' degree celcius comfort? ', c == 25) เปนการเรยกใชฟงกชน print() ทสงคาขอมลไปใหเปนจ านวน 4 คา

type(c != 30) เปนการเรยกใชฟงกชน type() เพอหาชนดของคาขอมลทระบ

ฟงกชนยงมคณสมบตอกอยางหนง คอ สามารถคนคาไดโดยคาของฟงกชนจะถกมองเปนนพจนหนง น ามาใชงานไดในลกษณะเดยวกบนพจนอนๆ ฟงกชนทเรยกใชงานไดเลยในไพทอนทมการคนคา เชน pow(), max() และ min() ตวอยาง การรบคาคนจากฟงกชน

จากตวอยาง บรรทดท 1 ฟงกชน input() ท างานดวยการแสดงขอความทสงไปใหออกมาทางจอภาพ แลวรอรบคาทผใชปอน เมอผใชปอน 2 แลวกดแปน Enter ฟงกชน input() จงจบการท างาน แลวสงคนคาสตรง '2' ใหกบค าสงทเรยก ในทนคอ ค าสงก าหนดคาใหตวแปร b_str ดงนน ตวแปร b_str จะชไปยงคาสตรง '2'

Page 15: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 62

บรรทดท 2 ฟงกชน input() จะคนคาเปนจ านวนเตมทแปลงคาจากสตรงทรบมา บรรทดท 3 เปนการรวบการท างานในลกษณะของบรรทดท 1 และ 2 สวนบรรทดท 4 เปนการก าหนดใหกบตวแปร answer ชไปยงคาผลลพธทไดจากการเรยกใชฟงกชน pow() ซงท าหนาทยกก าลง คอ 23 ผลลพธคอ 8

“สรป” ขอมลเปนสงพนฐานทสดทสามารถน าไปประมวลผล สวนประกอบของขอมล เชน ชนดของขอมล

คาของขอมล ขอบเขตของขอมล ชนดของขอมล เชน ตวเลข ขอความ คาของขอมลแบงไดเปนหลายชนดหรอหลายคลาส เชน int , str, float และ bool คลาส int และ float สามารถน ามาค านวณรวมกนได โดยทคลาส str ไมสามารถน ามาค านวณรวมกนได

ตวแปรสรางขนเพออางองหรอชไปยงคาของขอมล การตงชอตวแปรตองถกตองตามขอก าหนดของไพทอนและควรตงชอใหสอดคลองกบการน าไปใชงาน

นพจนในไพทอน ไดแก คาของขอมลหรอคาคงตว ตวแปร หรอการรวมกลมของสงดงกลาวกบตวด าเนนการ นพจนมหลายประเภท เชน นพจนคณตศาสตร นพจนเปรยบเทยบ และนพจนตรรกะ นพจนคณตศาสตรใหผลลพธเปนจ านวน นพจนเปรยบเทยบจะเปรยบเทยบคาของนพจนคณตศาสตรสองนพจนโดยใหผลลพธ True หรอ False เทานน ส าหรบนพจนตรรกะจะประมวลผลตวถกด าเนนการทอยในคลาส bool ฟงกชนเปนโปรแกรมยอยทสรางขนเพอใหท างานเฉพาะอยาง สามารถน ามาใชไดในภายหลง ท าใหเกดความสะดวกในการจดท าโปรแกรมขนาดใหญ และชวยในการตรวจสอบความถกตองของโปรแกรมไดงายขน ในภาษาไพทอนมฟงกชนใหใชงานจ านวนมาก

Page 16: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 63

ใบงานท 3.1 ชนดขอมล

Page 17: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 64

Page 18: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 65

Page 19: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 66

Page 20: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 67

Page 21: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 68

Page 22: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 69

Page 23: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 70

Page 24: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 71

Page 25: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 72

ใบงานท 3.2 ชนดขอมล 2

Page 26: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

ห น า | 73

Page 27: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์
Page 28: ใบอนุญาตเลขที่ 49/2559 กลุ่มบริหารวิชาการ · 3.4 นิพจน์และตัวด าเนินการ นิพจน์

โรงเรยนจฬาภรณราชวทยาลย นครศรธรรมราช

(โรงเรยนวทยาศาสตรภมภาค)

WWW.PCCNST.AC.TH