Data Types – ประเภทข้อมูล

Data Types หรือ ประเภทข้อมูล เป็นเรื่องสำคัญสำหรับ database มากพอสมควร ยิ่งในการคำนวณ สร้าง Model ต่าง ๆ เรื่องประเภทข้อมูลนี้เป็นสิ่งจำเป็น และต้องทำความเข้าใจว่าข้อมูลตัวแปรนั้นเป็นประเภทใด จะช่วยให้การนำไปจัดการต่อง่ายดายมากขึ้น ถือเป็นเรื่องพื้นฐานสำคัญอย่างหนึ่งสำหรับการทำงาน

ลองนึกถึง Excel หรือ Access ดูก็ได้ ถ้าเป็นข้อมูลที่ต่างประเภทกันจะเชื่อมต่อกันลำบาก ต้องแปลงประเภทกันวุ่นวาย อย่างใน Excel ก็เคยเขียนถึงไปครั้งหนึ่งแล้วเมื่อครั้งเขียนเรื่อง #N/A ในการทำ lookup ว่าถ้า format ตัวเลขเป็นรูปของ text จะไม่สามารถนำไปเชื่อมกับตัวเลขที่ format เป็น number ได้ ใน Access ก็เช่นกัน ต่อให้เราใช้สายตาดูว่าเป็นตัวเดียวกัน แต่ถ้าใน filed นั้นระบุเป็น data type ต่างกันก็ไม่สามารถจับคู่เชื่อมโยงกันได้

สำหรับ Data Types หรือ ประเภทข้อมูล ต่าง ๆ ที่ใช้ใน python มีดังนี้

Data Types

Data Types: Numeric

Numeric หรือ number หรือ ตัวเลข ก็คือข้อมูลที่เป็นตัวเลข (แล้วจะอธิบายทำไม?) จะแบ่งประเภทย่อยออกเป็น

Integers

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

แต่นอกเหนือจากเลขฐาน 10 ที่เราใช้งานกันทั่วไปแล้ว ยังสามารถใช้ เลขฐาน 2 (Binary) เลขฐาน 8 (Octal) เลขฐาน 16 (Hexadecimal) ก็ได้เหมือนกัน

Float

Floatหรือ จำนวนจริง ข้อมูลที่เป็นตัวเลขที่ประกอบด้วยจุดทศนิยม เช่น 123.45 หรือแม้แต่ 10.0 หรือ 10. (มีจุดข้างหลัง) ซึ่งเวลามองด้วยตาจะคิดว่าเป็น int แต่ใน python ถ้ามีจุด (.) ตามหลัง ถือเป็น float ทั้งหมด แม้ว่าจะเขียนในรูป scientific notation ก็ตาม โดยทั่วไป จะแสดงเป็นค่า “double-precision” 64 บิตตามมาตรฐาน IEEE 754 โดยจำนวนตัวเลขทศนิยมสามารถมีได้มากถึง 1.8 x 10^308 โดยประมาณ ถ้ามากเกินกว่านั้น จะแสดงค่าเป็น inf (อ่านเพิ่มเติมที่ https://docs.python.org/3.6/tutorial/floatingpoint.html )

Complex

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

Data Types: Set

Set เป็น object สำหรับข้อมูลที่ไม่ซ้ำกัน โดยจะมีเครื่องหมาย { } กำกับอยู่ เช่น {1,2,3,4,5}ดำเนินการทางคณิตศาสตร์เกี่ยวกับ Set ได้ เช่น Intersection, Union, Difference และ Symmetric difference

Data Types: Dictionary

Dict หรือ Dictonary จะใช้สัญลักษณ์ { } กำกับคล้ายกับ Set แต่จะเก็บข้อมูลเป็นรายการคู่กัน โดยจะมีค่าของ key และ value ซึ่งในแต่ละข้อมูล key จะต้องไม่ซ้ำกัน เช่น  {‘A’:1,’B’:2,’C’:3,’D’:4,’E’:5}

Data Types: Boolean

Boolean หรือ ตรรกะ มีค่าอยู่ 2 ค่าเท่านั้นคือ True กับ False หรือ จริง กับ เท็จ (ในการเขียนจะต้องขึ้นต้นด้วยตัวพิมพ์ใหญ่เท่านั้น) ข้อมูลประเภทนี้มีความชัดเจนในตัวว่ามีเพียง จริง กับ เท็จ เท่านั้น แต่อ็อบเจ็กต์ที่ไม่ใช่บูลีนก็สามารถคำนวณแบบบูลีนได้เช่นกันโดยกำหนดให้เป็นจริงหรือเท็จ

Data Types: Sequence Types

String

String หรือ str หรือ อักขระ หรือพูดง่าย ๆ ว่าเป็น ข้อความ หรือ ตัวอักษร ซึ่งจะต้องมีเครื่องหมาย single quote หรือ double quote ประกอบหน้าหลังเสมอ เช่น “DataRevol.com” และถ้าเป็นข้อมูลตัวเลข ถ้านำsingle quote หรือ double quote มาประกบหน้าหลัง ก็จะเป็น String หรือ ข้อความ  เหมือนกัน อย่างเช่น ‘12345′ ซึ่งเรื่องนี้ต้องดูให้ดีเพราะตัวเลขที่เก็บไว้ในรูปแบบ String จะไม่สามารถเอามาคำนวณทางคณิตศาสตร์ได้

จำนวนอักขระใน string มีได้ตั้งแต่ 0 ไปจนถึงแทบจะไม่จำกัด คือจะโดนจำกัดโดย memory ของเครื่องคอมพิวเตอร์ที่ใช้ทำงาน

Escape Sequences หรือ Escape Character

ตัวอักขระบางตัว ไม่สามารถกำหนดหรือแสดงใน String เหมือนอย่างที่เราเห็นได้ เพราะมันเป็นไวยากรณ์เฉพาะสำหรับภาษา เช่น เครื่องหมาย double quote (“) ใช้สำหรับกำหนดขอบเขตของ String อย่างที่เขียนข้างต้นว่าเราไม่สามารถแสดง double quote ภายในขอบเขต String ได้

เนื่องจาก single quote (‘) หรือ double quote (“) เป็นเครื่องหมายบอกว่าข้อความนี้เป็น String ซึ่งเราใช้ซ้ำซ้อนกันไม่ได้ เช่น

print(“นี่คือข้อความจาก “DataRevol.com” จ้า “)

แบบนี้จะเป็น invalid syntax เพราะ python จะคิด double quote อันที่ 2 เป็นตัวปิด string หลังจากนั้นจะไม่เข้าตามเกณฑ์ แต่ถ้าเราเปลี่ยนจาก double quote เป็น single quote จะใช้งานได้

print(“นี่คือข้อความจาก ‘DataRevol.com’ จ้า “)

print(‘นี่คือข้อความจาก “DataRevol.com” จ้า ‘)

นั่นคือ ใน python ถ้าเราใช้ double quote เป็นตัวประกาศ string เราสามารถใช้ single quote ใน string นั้นได้ และในทางกลับกัน ถ้าเราใช้ single quote เป็นตัวประกาศ string เราสามารถใช้ double quote ใน string นั้นได้ เช่น

print(”'”I’m Your Father” – Darth Vader”’)

หรือไม่ ก็มีอีกวิธีหนึ่งในการกำหนดสตริงใน Python นั่นคือการใช้ single quote หรือ double quote สามคู่ซ้อน วิธีนี้เป็นวิธีที่สะดวกในการสร้างข้อความที่มีทั้ง single quote และ double quote อยู่ในนั้น เช่น

หรือไม่เช่นนั้น ก็ต้องใช้ Backslash (\) เพื่อบอกว่า ตัวที่ตามหลัง \ นั้นไม่ได้มีค่าตามที่เป็น

เช่น เราจะแสดงคำว่า I’m your father มันก็มีสองทางคือ

print (“I’m your father”)

print(“I\’m your father”)

และด้วยเหตุนี้ ถ้าเราต้องการใช้แสดง \ เราก็ต้องพิมพ์เป็น \\

นอกจากนี้ ถ้าเราต้องการเพิ่มวรรค (tab) ก็ใช้ \t เช่น

Print(“long\ttab) แบบนี้เป็นต้น

List

List หรือ ลิสต์ จะอยู่ในเครื่องหมาย [ ] เช่น [1,2,3,4,5] เก็บได้หลายค่าในตัวแปรเดียวกัน ไม่ว่าจะเป็นข้อมูลชนิดเดียวกัน หรือ ต่างกัน เช่น เป็น ตัวเลข ตัวอักษร หรือ ผสมกัน โดยเก็บข้อมูลเป็นชุดเรียงต่อกันแบบลำดับ (Sequence) มี Index เป็นตัวระบุตำแหน่งในการเข้าถึงข้อมูล

Index ของ List จะเป็นจำนวนเต็มที่เริ่มจาก 0 และเพิ่มขึ้นทีละ 1

Tuple

Tuple จะเหมือนกับ List ซึ่งข้อมูลทั้งหมดจะอยู่ในเครื่องหมาย ( )  เช่น (1,2,3,4,5) แต่จะแตกต่างจาก List คือระหว่าง Process ต่าง ๆ จะไม่สามารถใช้คำสั่งใดเปลี่ยนแปลงข้อมูลใน Tuple ได้ สำหรับรายละเอียดอื่น ๆ จะเขียนถึงในตอนต่อไป

ความคิดเห็นของคุณ :)

%d bloggers like this: