เขียนโปรแกรมด้วยไพธอน
บทที่ 4 ตัวแปร การกาหนดค่าและชนิดข้อมูล
1. หลักการตั้งชื่อตัวแปร (Identifier)
1. ตัวอักษรตัวแรกต้องเป็นภาษาอังกฤษ (A-Z, a-z) ตามด้วยตัวอักษร หรือ
ตัวเลขใดๆ ก็ได้
2. ชื่อตัวแปรห้ามมีช่องว่าง จุดทศนิยม และสัญลักษณ์พิเศษ ยกเว้น
underscore "_" เท่านั้น
3. การใช้อักษรตัวพิมพ์ใหญ่และอักษรพิมพ์เล็กมีความแตกต่างกัน (Case-
sensitive) เช่น
4. ห้ามใช้ค่าสวงนเป็นชื่อตัวแปร (Reserved word, Keyword) เช่น if, for,
max, sum เป็นต้น
5. ควรจะตั้งชื่อให้สื่อกับความหมายใกล้เคียงกับค่าที่จะเก็บสามารถอ่านและทาความ
เข้าใจ
เช่น Score, SCORE1, s5, Test_para_01 เป็นต้น
เช่น Count_01, str_, _doc, ____main, __func___, oo_x_oo เป็นต้น
Var1 กับ var1 ถือว่าไม่ใช่ตัวแปรเดียวกัน
ได้ง่าย เช่น Count ส าหรับเก็บจ านวนนับ Salary สาหรับเก็บเงินเดือน
และ Total เก็บค่าผลรวม เป็นต้น
6. ห้ามใช้เครื่องหมายต่อไปนี้ในการตั้งชื่อตัวแปร !,@, #, $, %, ^, &, *, (, ), -, =, , |, +,
~, .
7. ตัวแปรไม่ควรยาวเกิน 255 ตัวอักษร ตัวแปรที่มีความยาวมากๆ หรือเป็นการผสม
ระหว่างค่า ให้ใช้"_" เชื่อมค่าเหล่านั้นแทน เช่น Thai_Market_Chair
2. การใช้งานตัวแปร(Variablesusing)
การใช้งานตัวแปรมี 3 ขั้นตอน คือ
1. การประกาศตัวแปร (Variable declaration)
2. กาหนดค่าให้ตัวแปร (Assigning values to variables)
3. การใช้ตัวแปร (Use the variable)
3. คาสงวน (Reserved word, Keyword)
คาสงวน คือคาที่ถูกภาษาไพธอนใช้เพื่อสร้างไวยกรณ์
ดังนั้นผู้เขียนโปรแกรมห้ามนาไปใช้ในการสร้าง หรือ
ประกาศเป็นตัวแปรโดยเด็ดขาด เพราะจะทาให้เกิด
ข้อผิดพลาด
4. ชนิดข้อมลู (Data types)
1.ข้อมูลพื้นฐาน (Basic data types) แบ่งออกเป็น 2 กลุ่มย่อย
1) ข้อมูลตัวเลข (Numeric)
- เลขจานวนเต็ม (Integers)
- ตัวเลขทศนิยม หรือจานวนจริง (Floating-Point numbers)
- จานวนตรรกะ (Boolean)
- จานวนเชิงซ้อน (Complex numbers)
-การเปลี่ยนค่าตัวแปร(Forcing a number type)
2) ข้อมูลชนิดสายอักษร (String)
ข้อมูลสายอักษร หรือสตริง หมายถึง ข้อมูลที่เป็น ตัวอักษร
ข้อความ หรือประโยค ซึ่งตัวแปรชนิดนี้ไม่สามารถนามาคานวณ
ได้ในการประกาศตัวแปรชนิดนี้ ข้อความจะต้องอยู่ภายใต้
เครื่องหมาย (" ") หรือเครื่องหมาย (' ') ก ากับอยู่
เช่น author = 'Suchart' หรือ author = "Suchart“
ดังนั้นในกรณี ที่มีการเก็บในลักษณะเป็นตัวเลข
เช่น '15.25' จึงมีความหมายเป็นเพียงสายอักษร ไม่สามารถนามา
ประมวลผลได้แต่ถ้าผู้เขียนโปรแกรมต้องการให้คานวณได้
จาเป็นต้องใช้ฟังก์ชันเพื่อเปลี่ยนชนิดตัวแปร (Forcing) จากสาย
อักษรไปเป็นจานวนเต็ม หรือจานวนจริง จึงจะสามารถ
ประมวลผลได้วิธีการเขียนคาสั่งเพื่อเก็บข้อมูลชนิดตัวแปรสาย
อักษร ดังนี้
var1 = 'Hello World!'
var2 = "Python Programming"
2. ข้อมูล เชิงประกอบ (Composite data types)
-ลิสต์(lists) ตัวแปรชนิดลิสต์ (list) คือ ตัวแปรที่สามารถเก็บข้อมูล
ได้หลายจานวนต่อเนื่องกันภายในตัวแปรเดียวกัน(สามารถเก็บข้อมูล
ต่างชนิดกันได้) มีลักษณะคล้ายกับอะเรย์
-ตัวดาเนินการพื้นฐานของลิสต์(Basic list operations)
สาหรับตัวแปรแบบลิสต์สามารถใช้สัญลักษณ์ * และ +
เช่นเดียวกับสตริงได้ในลักษณะการเชื่อมค่าของสมาชิกเข้าด้วยกัน (+)
และการทาซ้าข้อมูล (*)
ตัวอย่างการเขียนโปรแกรมดังนี้
lst1 = [1, 2, 3]; lst2 = [4, 5, 6]
print("length of lst1 :",len(lst1))
print("lst1 + lst2 :",lst1 + lst2)
print("lst1 * 3 :",lst1*3)
print("Elements in lst1 are :")
for x in lst1:
print (x)
ทัพเพิล (Tuples)
ทัพเพิลมีลักษณะโครงสร้างคล้ายกับลิสต์ คือ สามารถเก็บข้อมูลได้
ในปริมาณมาก และสามารถเก็บข้อมูลต่างประเภทกันได้ภายในตัวแปร
เดียวกัน ข้อแตกต่างระหว่างลิสต์กับทัพเพิลคือ ทัพเพิลจะใช้สาหรับเก็บ
ข้อมูลที่มีค่าคงที่ และไม่มีการเปลี่ยนแปลงคล้ายอะเรย์ที่มีขนาดคงที่ ไม่
สามารถเพิ่มหรือลบข้อมูลทัพเพิลได้โดยตรง แต่ทาให้มีข้อได้เปรียบใน
เรื่องของความเร็วในการเข้าถึงข้อมูล สาหรับการเข้าถึงข้อมูลทาได้โดย
ใช้ตัวชี้ หรือดัชนีเหมือนลิสต์ ตัวแปรทัพเพิลจะใช้สัญลักษณ์ (...) ในการ
ประกาศตัวแปร และสมาชิกภายในทัพเพิลจะคั่นด้วย
ดังตัวอย่าง
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');
tup3 = (19, 12.5, 'Python',"HELLO");
tup4 = (tup1, tup2, tup3);
tup5 = tup1 + tup2
print(tup1)
print(tup2)
print(tup3)
print(tup4)
print(tup5)
ตัวดาเนินการพื้นฐานที่ใช้กับทัพเพิล (Basic tuples operations)
สาหรับตัวแปรแบบทัพเพิลจะสามารถใช้สัญลักษณ์ * และ +
เช่นเดียวกับลิสต์โดย (+) ใช้สาหรับเชื่อมสมาชิกระหว่างทัพเพิลเข้าด้วยกัน
และใช้(*) สาหรับทาซ้าข้อมูลสมาชิก
ตัวอย่างการโปรแกรมใช้งานตัวแปรทัพเพิล ดังนี้
tup1 = (1, 2, 3); tup2 = (4, 5, 6)
print("length of tup1 :",len(tup1))
print("tup1 + tup2 :",tup1 + tup2)
print("tup1 * 3 :",tup1*3)
print("Elements in tup1 are :")
for x in tup1:
print (x)
ดิกชันนารี(Dictionary)
ดิกชันนารีเป็นตัวแปรชนิดเปลี่ยนแปลงข้อมูลได้ตลอดเวลา (Mutable)
คล้ายกับลิสต์และมีลักษณะการเก็บข้อมูลที่เหมือนกับลิสต์และทูเพิล คือ
สามารถเก็บข้อมูลได้หลายค่า และต่างชนิดกันได้พร้อมๆ กัน คุณสมบัติ
พิเศษที่แตกต่างของดิกชันนารีคือ จะเก็บข้อมูลเป็นคู่ คือคีย์(Key) ซึ่งจะต้อง
ไม่ซ้ากัน กับข้อมูล (Value) ซึ่งข้อมูลทั้งสองต้องมีความสัมพันธ์กัน โดยที่คีย์
เปรียบเหมือนตัวชี้(Identification) เพื่ออ้างอิงไปยังข้อมูลจริงที่ต้องการใช้งาน
การประกาศตัวแปรดิกชันนารีจะใช้สัญลักษณ์ {...} ในการประกาศตัวแปร
สาหรับการเก็บข้อมูลคู่ของสมาชิกจะใช้สัญลักษณ์ : เชื่อมระหว่างคีย์และ
ข้อมูล และใช้สัญลักษณ์ , ในการแยกแยะระหว่างสมาชิกในดิกชันนารี
สาหรับการเข้าถึงข้อมูลของดิกชันนารีจะใช้สัญลักษณ์ [...] เหมือนกับลิสต์
และทัพเพิล
ดังตัวอย่างต่อไปนี้
dict1 = {} #empty dictionary
dict2 = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
dict3 = { 'abc': 456 };
dict4 = { 'abc': 123, 98.6: 37 };
print(dict1)
print(dict2)
print(dict3)
print(dict4)
คุณสมบัติของดิกชันนารีที่ควรต้องจดจา
ประการแรก: ตามทฤษฏีแล้ว คีย์ในดิกชันนารีจะต้องมีค่าไม่ซ้ากัน
เลย แต่ในสถานการณ์จริงไพธอนยอมให้สามารถประกาศคีย์ที่
เหมือนกันในดิกชันนารีได้(ไพธอนไม่ได้ตรวจสอบขณะประกาศข้อมูล
ในตัวแปร) ส่งผลให้การอ้างอิงข้อมูลที่มีคีย์เหมือนกันเกิดข้อผิดพลาดคือ
ไพธอนจะดึงข้อมูลรายการสุดท้ายที่เจอในดิกชันนารีออกมาแสดงผล
โดยข้อมูลที่ซ้ากันในลาดับก่อนหน้าจะไม่ถูกนามาใช้งานเลย
ยกตัวอย่างเช่น
dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};
print ("dict['Name']: ", dict['Name']);
ประการที่สอง: โดยปกติคีย์จะต้องเป็นค่าที่ไม่ควรเปลี่ยนแปลง
เพราะเป็นค่าที่ใช้อ้างอิงถึงข้อมูลจริง ตัวอย่างในชีวิตประจาวัน เช่น
นักศึกษาต้องมีหมายเลข ID ของนักศึกษา และไม่ควรเปลี่ยนID ไป
เรื่อยๆ ฉันใดก็ฉันนั้น คีย์ไม่ควรเปลี่ยนแปลงบ่อยเช่นเดียวกัน แม้ว่าเรา
สามารถใช้ข้อมูลหลายประเภทเป็นคีย์ได้เช่น สตริง ตัวเลข หรือทัพเพิล
แต่ไพธอนไม่แนะนาให้ใช้คีย์ในลักษณะที่คีย์ถูกครอบด้วย [...] เพราะจะ
ทาให้ไพธอนเกิดความสับสนในการอ้างถึงข้อมูล และเกิดความผิดพลาด
เช่น
dict = {['Name']: 'Zara', 'Age': 7};
print ("dict['Name']: ", dict['Name']);
เซต (Sets)
เซต ในทางคณิตศาสตร์เป็นคาที่ใช้บ่งบอกถึงกลุ่มของสิ่ง
ต่างๆ ว่า สิ่งใดอยู่ในกลุ่ม สิ่งใดไม่อยู่ในกลุ่ม เช่น เซตสระใน
ภาษาอังกฤษ หมายถึง กลุ่มของสระอังกฤษ a, e, i, o และ u เซต
ของจานวนนับที่น้อยกว่า 10 หมายถึง กลุ่มตัวเลข 1, 2, 3, 4, 5, 6,
7, 8 และ 9 เป็นต้น สิ่งที่อยู่ในเซตเรียกว่า สมาชิก(Element หรือ
Members) คุณสมบัติของเซตคือ สมาชิกไม่จาเป็นต้องเรียงลาดับ
และสมาชิกต้องไม่ซ้ากัน สาหรับการดาเนินงานกับเซตพื้นฐาน
ประกอบไปด้วย การทดสอบความเป็นสมาชิก
การขจัดสมาชิกที่ซ้ากันทั้งหมดในเซต, union, intersection,
difference และ symmetric difference เป็นต้น ในไพธอนจะใช้
สัญลักษณ์ {...} สาหรับสร้างตัวแปรชนิดเซต และใช้ set( ) ใน
การกาหนดว่าเป็นเซตว่าง
ดังตัวอย่าง ต่อไปนี้
>>> setx = set(); # empty set
>>> type(setx);
<class 'set'>
ยูเนียน (Union) ของเซต S1 และ S2 คือเซตที่ประกอบด้วย
สมาชิกของเซต S1 หรือ S2 ใช้สัญลักษณ์ ‘ | '
S1=set((1,1,2,3,5,8,13))
S2=set((2,3,5,7,11,13))
print("Set S1 :",S1)
print("Set S2 :",S2)
print("Set S1 | S2 :",S1|S2)
อินเตอร์เซคชัน (Intersection) ของเซต S1 และ S2 คือ
เซตที่ประกอบด้วยสมาชิกของเซต S1 และS2 ใช้
สัญลักษณ์ '&‘
print("Set S1 :",S1)
print("Set S2 :",S2)
print("Set S1 & S2 :",S1&S2)
ผลต่าง (Difference) ของเซต S1 และ S2 คือเซตที่
ประกอบด้วยสมาชิกที่เป็นสมาชิกของเซต S1 แต่ไม่เป็น
สมาชิกของเซต S2 ใช้สัญลักษณ์ ‘ - '
print("Set S1 :",S1)
print("Set S2 :",S2)
print("Set S1 - S2 :",S1-S2)
ผลต่างสมมาตร(Symmetric difference) ของเซต S1
และ S2 คือเซตที่ประกอบด้วยสมาชิกที่อยู่ในเซต S1 หรือ
เซต S2 แต่ไม่ใช่สมาชิกที่อยู่ทั้งใน S1 และ S2 ใช้
สัญลักษณ์ '^'
print("Set S1 :",S1)
print("Set S2 :",S2)
print("Set S1 ^ S2 :",S1^S2)
ตัวดาเนินการที่ใช้เปรียบเทียบสาหรับเซต (Set comparison
operators)
สาหรับตัวดาเนินการที่ใช้กับเซตประกอบไปด้วย <, <=, >,
>=, ==, !=, in , not in ซึ่งจะอธิบายไว้อย่างละเอียดในหัวข้อ
นิพจน์ ตัวดาเนินการ และตัวถูกดาเนินการ แต่ในหัวข้อนี้จะ
อธิบายการใช้งานกับตัวดาเนินการพื้นฐาน เพื่อให้เข้าใจการท า
งานของเซตในเบื้องต้น ตัวดาเนินการที่ใช้บ่อยๆ คือ inและ not
in ความหมายคือ เป็นสมาชิก หรือไม่เป็นสมาชิก
สมาชิก
นายวราวุฒ ขาคม เลขที่ 5 ม.6/4
นางสาวสุชานุช สงเจริญ เลขที่ 14 ม.6/4
นางสาวญาณวีร์ บุญทวีวรพันธ์ เลขที่ 19 ม.6/4
นางสาวนฤกร สุรินทร์ชมพู เลขที่ 20 ม.6/4
นางสาววรนิชชา ห้อยกรุด เลขที่ 21 ม.6/4
นางสาวสุวรา วงค์จันทร์ เลขที่ 23 ม.6/4
นางสาวพันธพัฒน์ ไชยวงศ์ เลขที่ 25 ม.6/4
นางสาวภัทราภรณ์ เกษวิริยะการณ์ เลขที่ 29 ม.6/4

เขียนโปรแกรมด้วยไพธอน

  • 1.
    เขียนโปรแกรมด้วยไพธอน บทที่ 4 ตัวแปรการกาหนดค่าและชนิดข้อมูล
  • 2.
    1. หลักการตั้งชื่อตัวแปร (Identifier) 1.ตัวอักษรตัวแรกต้องเป็นภาษาอังกฤษ (A-Z, a-z) ตามด้วยตัวอักษร หรือ ตัวเลขใดๆ ก็ได้ 2. ชื่อตัวแปรห้ามมีช่องว่าง จุดทศนิยม และสัญลักษณ์พิเศษ ยกเว้น underscore "_" เท่านั้น 3. การใช้อักษรตัวพิมพ์ใหญ่และอักษรพิมพ์เล็กมีความแตกต่างกัน (Case- sensitive) เช่น 4. ห้ามใช้ค่าสวงนเป็นชื่อตัวแปร (Reserved word, Keyword) เช่น if, for, max, sum เป็นต้น
  • 3.
    5. ควรจะตั้งชื่อให้สื่อกับความหมายใกล้เคียงกับค่าที่จะเก็บสามารถอ่านและทาความ เข้าใจ เช่น Score,SCORE1, s5, Test_para_01 เป็นต้น เช่น Count_01, str_, _doc, ____main, __func___, oo_x_oo เป็นต้น Var1 กับ var1 ถือว่าไม่ใช่ตัวแปรเดียวกัน ได้ง่าย เช่น Count ส าหรับเก็บจ านวนนับ Salary สาหรับเก็บเงินเดือน และ Total เก็บค่าผลรวม เป็นต้น 6. ห้ามใช้เครื่องหมายต่อไปนี้ในการตั้งชื่อตัวแปร !,@, #, $, %, ^, &, *, (, ), -, =, , |, +, ~, . 7. ตัวแปรไม่ควรยาวเกิน 255 ตัวอักษร ตัวแปรที่มีความยาวมากๆ หรือเป็นการผสม ระหว่างค่า ให้ใช้"_" เชื่อมค่าเหล่านั้นแทน เช่น Thai_Market_Chair
  • 4.
    2. การใช้งานตัวแปร(Variablesusing) การใช้งานตัวแปรมี 3ขั้นตอน คือ 1. การประกาศตัวแปร (Variable declaration) 2. กาหนดค่าให้ตัวแปร (Assigning values to variables) 3. การใช้ตัวแปร (Use the variable)
  • 5.
    3. คาสงวน (Reservedword, Keyword) คาสงวน คือคาที่ถูกภาษาไพธอนใช้เพื่อสร้างไวยกรณ์ ดังนั้นผู้เขียนโปรแกรมห้ามนาไปใช้ในการสร้าง หรือ ประกาศเป็นตัวแปรโดยเด็ดขาด เพราะจะทาให้เกิด ข้อผิดพลาด
  • 6.
    4. ชนิดข้อมลู (Datatypes) 1.ข้อมูลพื้นฐาน (Basic data types) แบ่งออกเป็น 2 กลุ่มย่อย 1) ข้อมูลตัวเลข (Numeric) - เลขจานวนเต็ม (Integers) - ตัวเลขทศนิยม หรือจานวนจริง (Floating-Point numbers) - จานวนตรรกะ (Boolean) - จานวนเชิงซ้อน (Complex numbers) -การเปลี่ยนค่าตัวแปร(Forcing a number type)
  • 7.
    2) ข้อมูลชนิดสายอักษร (String) ข้อมูลสายอักษรหรือสตริง หมายถึง ข้อมูลที่เป็น ตัวอักษร ข้อความ หรือประโยค ซึ่งตัวแปรชนิดนี้ไม่สามารถนามาคานวณ ได้ในการประกาศตัวแปรชนิดนี้ ข้อความจะต้องอยู่ภายใต้ เครื่องหมาย (" ") หรือเครื่องหมาย (' ') ก ากับอยู่ เช่น author = 'Suchart' หรือ author = "Suchart“ ดังนั้นในกรณี ที่มีการเก็บในลักษณะเป็นตัวเลข
  • 8.
    เช่น '15.25' จึงมีความหมายเป็นเพียงสายอักษรไม่สามารถนามา ประมวลผลได้แต่ถ้าผู้เขียนโปรแกรมต้องการให้คานวณได้ จาเป็นต้องใช้ฟังก์ชันเพื่อเปลี่ยนชนิดตัวแปร (Forcing) จากสาย อักษรไปเป็นจานวนเต็ม หรือจานวนจริง จึงจะสามารถ ประมวลผลได้วิธีการเขียนคาสั่งเพื่อเก็บข้อมูลชนิดตัวแปรสาย อักษร ดังนี้ var1 = 'Hello World!' var2 = "Python Programming"
  • 9.
    2. ข้อมูล เชิงประกอบ(Composite data types) -ลิสต์(lists) ตัวแปรชนิดลิสต์ (list) คือ ตัวแปรที่สามารถเก็บข้อมูล ได้หลายจานวนต่อเนื่องกันภายในตัวแปรเดียวกัน(สามารถเก็บข้อมูล ต่างชนิดกันได้) มีลักษณะคล้ายกับอะเรย์ -ตัวดาเนินการพื้นฐานของลิสต์(Basic list operations) สาหรับตัวแปรแบบลิสต์สามารถใช้สัญลักษณ์ * และ + เช่นเดียวกับสตริงได้ในลักษณะการเชื่อมค่าของสมาชิกเข้าด้วยกัน (+) และการทาซ้าข้อมูล (*)
  • 10.
    ตัวอย่างการเขียนโปรแกรมดังนี้ lst1 = [1,2, 3]; lst2 = [4, 5, 6] print("length of lst1 :",len(lst1)) print("lst1 + lst2 :",lst1 + lst2) print("lst1 * 3 :",lst1*3) print("Elements in lst1 are :") for x in lst1: print (x)
  • 11.
    ทัพเพิล (Tuples) ทัพเพิลมีลักษณะโครงสร้างคล้ายกับลิสต์ คือสามารถเก็บข้อมูลได้ ในปริมาณมาก และสามารถเก็บข้อมูลต่างประเภทกันได้ภายในตัวแปร เดียวกัน ข้อแตกต่างระหว่างลิสต์กับทัพเพิลคือ ทัพเพิลจะใช้สาหรับเก็บ ข้อมูลที่มีค่าคงที่ และไม่มีการเปลี่ยนแปลงคล้ายอะเรย์ที่มีขนาดคงที่ ไม่ สามารถเพิ่มหรือลบข้อมูลทัพเพิลได้โดยตรง แต่ทาให้มีข้อได้เปรียบใน เรื่องของความเร็วในการเข้าถึงข้อมูล สาหรับการเข้าถึงข้อมูลทาได้โดย ใช้ตัวชี้ หรือดัชนีเหมือนลิสต์ ตัวแปรทัพเพิลจะใช้สัญลักษณ์ (...) ในการ ประกาศตัวแปร และสมาชิกภายในทัพเพิลจะคั่นด้วย
  • 12.
    ดังตัวอย่าง tup1 = (12,34.56); tup2 = ('abc', 'xyz'); tup3 = (19, 12.5, 'Python',"HELLO"); tup4 = (tup1, tup2, tup3); tup5 = tup1 + tup2 print(tup1) print(tup2) print(tup3) print(tup4) print(tup5)
  • 13.
    ตัวดาเนินการพื้นฐานที่ใช้กับทัพเพิล (Basic tuplesoperations) สาหรับตัวแปรแบบทัพเพิลจะสามารถใช้สัญลักษณ์ * และ + เช่นเดียวกับลิสต์โดย (+) ใช้สาหรับเชื่อมสมาชิกระหว่างทัพเพิลเข้าด้วยกัน และใช้(*) สาหรับทาซ้าข้อมูลสมาชิก ตัวอย่างการโปรแกรมใช้งานตัวแปรทัพเพิล ดังนี้ tup1 = (1, 2, 3); tup2 = (4, 5, 6) print("length of tup1 :",len(tup1)) print("tup1 + tup2 :",tup1 + tup2) print("tup1 * 3 :",tup1*3) print("Elements in tup1 are :") for x in tup1: print (x)
  • 14.
    ดิกชันนารี(Dictionary) ดิกชันนารีเป็นตัวแปรชนิดเปลี่ยนแปลงข้อมูลได้ตลอดเวลา (Mutable) คล้ายกับลิสต์และมีลักษณะการเก็บข้อมูลที่เหมือนกับลิสต์และทูเพิล คือ สามารถเก็บข้อมูลได้หลายค่าและต่างชนิดกันได้พร้อมๆ กัน คุณสมบัติ พิเศษที่แตกต่างของดิกชันนารีคือ จะเก็บข้อมูลเป็นคู่ คือคีย์(Key) ซึ่งจะต้อง ไม่ซ้ากัน กับข้อมูล (Value) ซึ่งข้อมูลทั้งสองต้องมีความสัมพันธ์กัน โดยที่คีย์ เปรียบเหมือนตัวชี้(Identification) เพื่ออ้างอิงไปยังข้อมูลจริงที่ต้องการใช้งาน การประกาศตัวแปรดิกชันนารีจะใช้สัญลักษณ์ {...} ในการประกาศตัวแปร สาหรับการเก็บข้อมูลคู่ของสมาชิกจะใช้สัญลักษณ์ : เชื่อมระหว่างคีย์และ ข้อมูล และใช้สัญลักษณ์ , ในการแยกแยะระหว่างสมาชิกในดิกชันนารี สาหรับการเข้าถึงข้อมูลของดิกชันนารีจะใช้สัญลักษณ์ [...] เหมือนกับลิสต์ และทัพเพิล
  • 15.
    ดังตัวอย่างต่อไปนี้ dict1 = {}#empty dictionary dict2 = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} dict3 = { 'abc': 456 }; dict4 = { 'abc': 123, 98.6: 37 }; print(dict1) print(dict2) print(dict3) print(dict4)
  • 16.
    คุณสมบัติของดิกชันนารีที่ควรต้องจดจา ประการแรก: ตามทฤษฏีแล้ว คีย์ในดิกชันนารีจะต้องมีค่าไม่ซ้ากัน เลยแต่ในสถานการณ์จริงไพธอนยอมให้สามารถประกาศคีย์ที่ เหมือนกันในดิกชันนารีได้(ไพธอนไม่ได้ตรวจสอบขณะประกาศข้อมูล ในตัวแปร) ส่งผลให้การอ้างอิงข้อมูลที่มีคีย์เหมือนกันเกิดข้อผิดพลาดคือ ไพธอนจะดึงข้อมูลรายการสุดท้ายที่เจอในดิกชันนารีออกมาแสดงผล โดยข้อมูลที่ซ้ากันในลาดับก่อนหน้าจะไม่ถูกนามาใช้งานเลย ยกตัวอย่างเช่น dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}; print ("dict['Name']: ", dict['Name']);
  • 17.
    ประการที่สอง: โดยปกติคีย์จะต้องเป็นค่าที่ไม่ควรเปลี่ยนแปลง เพราะเป็นค่าที่ใช้อ้างอิงถึงข้อมูลจริง ตัวอย่างในชีวิตประจาวันเช่น นักศึกษาต้องมีหมายเลข ID ของนักศึกษา และไม่ควรเปลี่ยนID ไป เรื่อยๆ ฉันใดก็ฉันนั้น คีย์ไม่ควรเปลี่ยนแปลงบ่อยเช่นเดียวกัน แม้ว่าเรา สามารถใช้ข้อมูลหลายประเภทเป็นคีย์ได้เช่น สตริง ตัวเลข หรือทัพเพิล แต่ไพธอนไม่แนะนาให้ใช้คีย์ในลักษณะที่คีย์ถูกครอบด้วย [...] เพราะจะ ทาให้ไพธอนเกิดความสับสนในการอ้างถึงข้อมูล และเกิดความผิดพลาด เช่น dict = {['Name']: 'Zara', 'Age': 7}; print ("dict['Name']: ", dict['Name']);
  • 18.
    เซต (Sets) เซต ในทางคณิตศาสตร์เป็นคาที่ใช้บ่งบอกถึงกลุ่มของสิ่ง ต่างๆว่า สิ่งใดอยู่ในกลุ่ม สิ่งใดไม่อยู่ในกลุ่ม เช่น เซตสระใน ภาษาอังกฤษ หมายถึง กลุ่มของสระอังกฤษ a, e, i, o และ u เซต ของจานวนนับที่น้อยกว่า 10 หมายถึง กลุ่มตัวเลข 1, 2, 3, 4, 5, 6, 7, 8 และ 9 เป็นต้น สิ่งที่อยู่ในเซตเรียกว่า สมาชิก(Element หรือ Members) คุณสมบัติของเซตคือ สมาชิกไม่จาเป็นต้องเรียงลาดับ และสมาชิกต้องไม่ซ้ากัน สาหรับการดาเนินงานกับเซตพื้นฐาน ประกอบไปด้วย การทดสอบความเป็นสมาชิก
  • 19.
    การขจัดสมาชิกที่ซ้ากันทั้งหมดในเซต, union, intersection, differenceและ symmetric difference เป็นต้น ในไพธอนจะใช้ สัญลักษณ์ {...} สาหรับสร้างตัวแปรชนิดเซต และใช้ set( ) ใน การกาหนดว่าเป็นเซตว่าง ดังตัวอย่าง ต่อไปนี้ >>> setx = set(); # empty set >>> type(setx); <class 'set'>
  • 20.
    ยูเนียน (Union) ของเซตS1 และ S2 คือเซตที่ประกอบด้วย สมาชิกของเซต S1 หรือ S2 ใช้สัญลักษณ์ ‘ | ' S1=set((1,1,2,3,5,8,13)) S2=set((2,3,5,7,11,13)) print("Set S1 :",S1) print("Set S2 :",S2) print("Set S1 | S2 :",S1|S2)
  • 21.
    อินเตอร์เซคชัน (Intersection) ของเซตS1 และ S2 คือ เซตที่ประกอบด้วยสมาชิกของเซต S1 และS2 ใช้ สัญลักษณ์ '&‘ print("Set S1 :",S1) print("Set S2 :",S2) print("Set S1 & S2 :",S1&S2)
  • 22.
    ผลต่าง (Difference) ของเซตS1 และ S2 คือเซตที่ ประกอบด้วยสมาชิกที่เป็นสมาชิกของเซต S1 แต่ไม่เป็น สมาชิกของเซต S2 ใช้สัญลักษณ์ ‘ - ' print("Set S1 :",S1) print("Set S2 :",S2) print("Set S1 - S2 :",S1-S2)
  • 23.
    ผลต่างสมมาตร(Symmetric difference) ของเซตS1 และ S2 คือเซตที่ประกอบด้วยสมาชิกที่อยู่ในเซต S1 หรือ เซต S2 แต่ไม่ใช่สมาชิกที่อยู่ทั้งใน S1 และ S2 ใช้ สัญลักษณ์ '^' print("Set S1 :",S1) print("Set S2 :",S2) print("Set S1 ^ S2 :",S1^S2)
  • 24.
    ตัวดาเนินการที่ใช้เปรียบเทียบสาหรับเซต (Set comparison operators) สาหรับตัวดาเนินการที่ใช้กับเซตประกอบไปด้วย<, <=, >, >=, ==, !=, in , not in ซึ่งจะอธิบายไว้อย่างละเอียดในหัวข้อ นิพจน์ ตัวดาเนินการ และตัวถูกดาเนินการ แต่ในหัวข้อนี้จะ อธิบายการใช้งานกับตัวดาเนินการพื้นฐาน เพื่อให้เข้าใจการท า งานของเซตในเบื้องต้น ตัวดาเนินการที่ใช้บ่อยๆ คือ inและ not in ความหมายคือ เป็นสมาชิก หรือไม่เป็นสมาชิก
  • 25.
    สมาชิก นายวราวุฒ ขาคม เลขที่5 ม.6/4 นางสาวสุชานุช สงเจริญ เลขที่ 14 ม.6/4 นางสาวญาณวีร์ บุญทวีวรพันธ์ เลขที่ 19 ม.6/4 นางสาวนฤกร สุรินทร์ชมพู เลขที่ 20 ม.6/4 นางสาววรนิชชา ห้อยกรุด เลขที่ 21 ม.6/4 นางสาวสุวรา วงค์จันทร์ เลขที่ 23 ม.6/4 นางสาวพันธพัฒน์ ไชยวงศ์ เลขที่ 25 ม.6/4 นางสาวภัทราภรณ์ เกษวิริยะการณ์ เลขที่ 29 ม.6/4