Python – Error and Built-in Exceptions

Python – Error and Built-in Exceptions เมื่อต้องเขียนโปรแกรมที่มีความซับซ้อนมากขึ้น บ่อยครั้งภายในระบบที่ซับซ้อนอาจเกิดข้อผิดพลาดในระหว่างการทำคำสั่งต่างๆ ได้ โดยข้อผิดพลาดนั้นอาจจะเกิดขึ้นได้เนื่องจากหลายสาเหตุ ในบทนี้เราจะมาเรียนรู้เกี่ยวกับรูปแบบของ ข้อผิดพลาดที่เกิดจากการเขียนโปรแกรมไม่ถูกต้องตามหลักภาษา และ ข้อผิดพลาดที่เกิดในระหว่างการดำเนินการของโปรแกรม ข้อผิดพลาดที่เกิดจากการเขียนคำสั่งไม่ถูกต้องตามหลักภาษา ข้อผิดพลาดที่เกิดจากการเขียนคำสั่งไม่ถูกต้องตามหลักภาษา(syntax error, parsing error) ข้อผิดพลาดแบบนี้จะเกิดในช่วงที่กำลังแปรผลคำสั่งของโปรแกรม ให้เป็นภาษาของคอมพิวเตอร์เพื่อใช้สำหรับดำเนินการทำคำสั่งต่อไป ซึ่งจะมีการแจ้งข้อผิดพลาดและระบุรายละเอียดว่าคำสั่งส่วนใดที่ไม่ถูกต้องตามหลักภาษา ตัวอย่างการใช้งาน # -*- coding: utf-8 -*- # เรียกใช้งานไลบรารี่ math import math # ฟังก์ชันสำหรับคำนวณระยะทางจากข้อมูลความเร็วต้น, ความเร่งและเวลา def calculate_distance(initial_velocity, acceloration, time) distance = initial_velocity*time + (1.0/2.0)*acceloration*math.pow(time, 2) return distance # คำนวณระยะทางที่ม้าตัวหนึ่งสามารถวิ่งได้ เมื่อเวลาผ่านไป 10 วินาที โดยกำหนดให้ # Read more about Python – Error and Built-in Exceptions[…]

Python – Directory and Files Management

Python – Directory and Files Management สำหรับโปรเจคขนาดใหญ่ที่มีการแยกไฟล์ไว้เป็นกลุ่มตามการทำงานที่เกี่ยวเนื่องกัน อาจจะจัดการนำไฟล์เหล่านั้นมาจัดลงในโฟลเดอร์ย่อยๆ เพื่อจะง่ายต่อการเรียกใช้งาน, ค้นหาและทำการแก้ไข เมื่อมีการแยกส่วนกันสำหรับไฟล์จำนวนมาก เมื่อจำเป็นต้องเรียกใช้งานเพื่อแก้ไข, เพิ่มข้อมูล หรือลบ ไฟล์เหล่านั้น เราก็จำเป็นที่จะต้องสามารถระบุตำแหน่งของแต่ละไฟล์และแต่โฟลเดอร์เหล่านั้น เพื่อจะสามารถดำเนินการได้ถูกต้อง สำหรับ python นั้นสามารถเรียกใช้งานไลบรารี่ เช่น ไลบรารี่ os ในการเข้าถึงและทำการแก้ไขกับโครงสร้างการจัดเก็บข้อมูลของไฟล์และโฟลเดอร์เหล่านั้น พร้อมกับข้อมูลตำแหน่งที่ตั้งของไฟล์ต่างๆภายในระบบปฏิบัติการนั้นอีกด้วย สำหรับในบทความนี้เราจะใช้ตัวอย่าง จากโครงสร้างการจัดเก็บข้อมูลภายในโฟลเดอร์หนึ่งที่ถูกเก็บไว้ตรงตำแหน่ง “/home/<user>/works/python_tutorial/directory_and_files_management/”( โดย <user>: อ้างอิงถึงชื่อผู้ใช้งานระบบปฏิบัติการ ซึ่งอาจจะเปลี่ยนแปลงตามชื่อผู้ใช้งานที่ใช้ login เข้าใช้ระบบปฏิบัติการ ณ เวลานั้น) สำหรับโฟลเดอร์ดังกล่าวนั้นทำการเก็บไฟล์สำหรับข้อมูลเวปไซต์เวปหนึ่ง โดยจะมี ไฟล์ “index.html” สำหรับหน้าหลักของเวปไซต์ โฟลเดอร์ “css” สำหรับเก็บข้อมูลเกี่ยวกับ stylesheet โฟลเดอร์ “javascript” สำหรับเก็บข้อมูลเกี่ยวกับฟังก์ชันต่างๆในภาษา javascript โฟลเดอร์ “images” สำหรับเก็บรูปภาพที่จะต้องทำการใช้งานภายในเวปไซต์ดังกล่าว โดยจะมีโครงสร้างของไฟล์และโฟลเดอร์ดังแผนภาพด้านล่างนี้นี้ สำหรับฟังก์ชันที่เรียกใช้งานในตัวอย่างสำหรับบทนี้นั้น ได้ทำการคำสั่งจาก Read more about Python – Directory and Files Management[…]

Python – File I/O

Python – File I/O ไฟล์ คือ รูปแบบการเก็บข้อมูลบนดิสก์ซึ่งจะใช้ในเก็บข้อมูลในหน่วยความจำแบบถาวร โดยจะใช้ชื่อไฟล์ที่กำกับไว้ตอนบันทึกข้อมูลสำหรับอ้างอิงของตำแหน่งของข้อมูลดังกล่าว โดยการบันทึกข้อมูลในรูปแบบไฟล์บนคอมพิวเตอร์นั้น จะมีชนิดของไฟล์ค่อนข้างหลากหลาย แต่สำหรับชนิดของไฟล์ที่จะยกตัวอย่างในการอ่าน/เขียนข้อมูลสำหรับบทความนี้ เป็นไฟล์ข้อมูลและไฟล์รูปภาพซึ่งจัดเป็นไฟล์ชนิด text และ binary ตามลำดับ ตัวอย่างลักษณะของไฟล์ข้อมูลและรูปภาพ เนื่องจากข้อมูลที่ถูกบันทึกในรูปแบบไฟล์นั้นถูกจัดเก็บบนหน่วยความจำแบบถาวร สำหรับอุปกรณ์ชนิดดังกล่าวดังกล่าว แม้ไม่มีไฟเลี้ยงส่งไปให้อุปกรณ์ก็จะยังมีข้อมูลเก็บอยู่ในหน่วยความจำ(non-valtile memory)หากข้อมูลถูกบันทึกไปแล้ว เช่น อุปกรณ์เก็บข้อมูล ฮาร์ดิสก์(harddisk), ยูเอสบีไดรฟ์(usb drive) โดยหน่วยความจำแบบถาวรนั้นจะมีความแตกต่างกับหน่วยความจำแบบชั่วคราว(volatile memory) เช่นอุปกรณ์จำพวกแรม(RAM: random access memeory) ซึ่งอุปกรณ์เก็บข้อมูลบนหน่วยความจำชั่วคราวนี้ อุปกรณ์ดังกล่าวจะสูญเสียข้อมูลทั้งหมดเมื่อทำการปิดคอมพิวเตอร์ไป เพราะไม่มีไฟส่งไปเลี้ยงให้อุปกรณ์สำหรับเก็บข้อมูลนั้น แต่สำหรับการอ่าน/เขียนข้อมูลในรูปแบบนี้จะใช้เวลาน้อยกว่ามากเมื่อเทียบกับการอ่าน/เขียน ข้อมูลจากหน่วยความจำแบบถาวร การเก็บข้อมูลทั้งหน่วยความจำแบบชั่วคราว(volatile memory)และหน่วยความจำแบบถาวร(non-volatile memory)นั้นจะมีข้อดีข้อเสียแตกต่างกันไป โดยขึ้นอยู่กับบริบทที่ต้องการใช้งาน เราสามารถเลือกใช้การเก็บข้อมูลตามความเหมาะสม โดยในบทความนี้เราจะทำการพูดถึงรายละเอียดการอ่าน/เขียน ข้อมูลซึ่งถูกเก็บไว้ในรูปแบบของไฟล์ ซึ่งเป็นการเก็บข้อมูลในหน่วยความจำแบบถาวรรูปแบบหนึ่ง ขั้นตอนหลักๆ ในการดำเนินการกับไฟล์ เมื่อเราจำเป็นต้องอ่าน/เขียน ข้อมูลออกมาจากไฟล์ที่บันทึกไว้ ก่อนที่จะเริ่มอ่าน/เขียนไฟล์นั้น เราจำเป็นต้องทราบตำแหน่งที่ไฟล์ดังกล่าวถูกบันทึกและชื่อไฟล์ จากนั้นจึงทำการเปิดไฟล์ขึ้นมาหรือทำการสร้างไฟล์ใหม่หากไม่มีไฟล์ดังกล่าวอยู่ แล้วจึงสามารถทำการอ่าน/เขียนข้อมูลของไฟล์ หลังจากดำเนินการกับไฟล์เสร็จสิ้น เราก็จำเป็นต้องทำการปิดไฟล์ด้วย Read more about Python – File I/O[…]

Python – Matrix

Python – Matrix เมทริกซ์(matrix) คือการจัดโครงสร้างข้อมูลในรูปแบบ 2 มิติ(two-dimensional) ซึ่งจะนำข้อมูลตัวเลขไปทำการจัดเรียงให้อยู่ในโครงสร้างซึ่งประกอบด้วยแถว(row)และหลัก(column) จากตารางตัวอย่างนั้น เป็นการจำลองการเก็บข้อมูลจำนวนหนังสือที่อยู่ในคลังสินค้าของร้านหนังสือสาขาต่างๆ โดยจัดเก็บข้อมูลในรูปแบบเมทริกซ์(matrix) ที่มีขนาด 5×4 คือมีข้อมูล 5 แถว และ 4 หลัก เนื่องจากใน python นั้นไม่มีรูปแบบข้อมูลชนิดเมทริกซ์ หากต้องการจัดโครงสร้างข้อมูลให้อยู่ในรูปแบบดังกล่าว ต้องอาศัยการจัดรูปแบบข้อมูลโดยใช้ลิสต์ซ้อนอยู่ภายในลิสต์มาแทน หรืออาจใช้อาเรย์ซ้อนอยู่ภายในอาเรย์จากไลบรารี่ numpy การสร้างข้อมูลในรูปแบบเมทริกซ์ การสร้างเมทริกซ์ของข้อมูลโดยการสร้างลิสต์ซ้อนอยู่ภายในลิสต์ การสร้างเมทริกซ์ของข้อมูลโดยการกำหนดข้อมูลทั้งหมดภายในครั้งเดียว เนื่องจากใน python ไม่มีชุดข้อมูลชนิดเมทริกซ์ ดังนั้นการสร้างข้อมูลรูปแบบเมทริกซ์ต้องอาศัยการสร้างข้อมูลลิสต์ซ้อนอยู่ภายในข้อมูลอีกลิสต์หนึ่งโดยแต่ละลิสต์ภายในจะแยกกันด้วยเครื่องหมาย “, ” และข้อมูลทั้งหมดจะอยู่ภายในเครื่องหมาย “[]” ตัวอย่างการใช้งาน # -*- coding: utf-8 -*- # กำหนดตัวแปรเก็บข้อมูลในโครงสร้างเมทริกซ์ โดยอาศัยชนิดข้อมูลลิสต์ซ้อนอยู่ภายในลิสต์ # เพื่อเก็บข้อมูลในรูปแบบเมทริกซ์แทน โดยทำการเก็บข้อมูลจำนวนหนังสือที่คงเหลือในคลังสินค้า # ของร้านจากสาขาต่างๆ books_in_stores = [[5, 0, Read more about Python – Matrix[…]

Python – Array

Python – Array อาเรย์(array) คือการเก็บข้อมูลเป็นชุดของข้อมูลที่มีลำดับของข้อมูล โดยจะประกอบด้วยข้อมูลหลายๆข้อมูลและมีชนิดของข้อมูลแบบเดียวกัน เช่น อาเรย์ของเลขจำนวนเต็ม(int), อาเรย์ของเลขทศนิยม(float), อาเรย์ของข้อความ(string) ซึ่งโดยปกติจะมีความแตกต่างจากชุดข้อมูลชนิดลิสต์ที่สามารถเก็บข้อมูลได้หลายชนิดภายในลิสต์เดียวกัน ใน python นั้นโดยปกติแล้วจะไม่มีชุดข้อมูลชนิดอาเรย์(array)มาให้ แต่หากต้องการใช้งานในรูปแบบอาเรย์ก็จะใช้การเก็บชุดข้อมูลชนิดลิสต์(list) แต่จะทำการเก็บข้อมูลเพียงชนิดเดียวภายในลิสต์ดังกล่าวแทน เพื่อนำไปใช้งานในรูปแบบของอาเรย์(array) ในกรณีที่จำเป็นต้องใช้งานรูปแบบการเก็บข้อมูลชนิดอาเรย์โดยเฉพาะและมีประสิทธิภาพสูง ก็จำเป็นต้องใช้ไลบรารี่(library)เพิ่มเติม เช่น ชุดข้อมูลชนิดอาเรย์จากไลบรารี่ numpy แทน ซึ่งหากต้องการดำเนินการทางคณิตศาสตร์เฉพาะเจาะจงกับชุดข้อมูลชนิดอาเรย์นั้น การเลือกใช้งานอาเรย์จากไลบรารี่ numpy แทนการใช้การเก็บข้อมูลในรูปแบบลิสต์จะทำให้มีประสิทธิภาพมากกว่า การเลือกใช้ชุดข้อมูลชนิดลิสต์มาแทนเพื่อใช้งานในรูปแบบอาเรย์โดยตรงนั้นจะมีข้อแตกต่างจากการใช้อาเรย์ปกติ เพราะชุดข้อมูลชนิดลิสต์สามารถจะเก็บข้อมูลต่างชนิดกันได้ โดยเราสามารถจะเก็บทั้งข้อมูลเช่น เลขจำนวนเต็ม(integer), เลขทศนิยม(float) และ ข้อความ(string) อยู่ภายในลิสต์เดียวกัน ดังนั้นรูปแบบของการเก็บข้อมูลนั้นจะต้องซับซ้อนขึ้นเพื่อรองรับการทำงานในลักษณะดังกล่าว ทำให้ประสิทธิภาพในการประมวลผลในบางกรณีอาจจะลดลงมากจนสังเกตุเห็นได้ชัดเจน ชุดข้อมูล [1, 2, 3] เป็นตัวอย่างของการใช้รูปแบบชุดข้อมูลชนิดลิสต์เพื่อสร้างชุดข้อมูลในรูปแบบชุดข้อมูลอาเรย์(array)ของ python ซึ่งได้มากจากการสร้างชุดข้อมูลชนิดลิสต์นั่นเอง การสร้างชุดข้อมูลอาเรย์(array) เราสามารถสร้างชุดข้อมูลอาเรย์โดยใช้รูปแบบเดียวกันกับการสร้างชุดข้อมูลชนิดลิสต์ โดยนำข้อมูลชนิดเดียวกันมาแยกแต่ละข้อมูลด้วยเครื่องหมาย “,” และข้อมูลทั้งหมดอยู่ภายในขอบเขตเครื่องหมาย “[]” ตัวอย่างการใช้งาน # -*- coding: utf-8 Read more about Python – Array[…]