Python – Statement, Indentation และ Comments

ประโยคคำสั่ง( Statement ) ประโยคใดๆ(statement) ที่ถูกต้องตามหลักภาษา(syntax) และตัวแปลภาษา(interpretor)สามารถประมวลผลเพื่อนำไปดำเนินการได้นั้น เรียกว่าประโยคคำสั่ง(statement) ตัวอย่างการใช้งาน age = 20 # กำหนดค่าให้ตัวแปร age ซึ่งไว้เก็บข้อมูลอายุมีค่าเป็น 20 จากตัวอย่าง ประโยคคำสั่งดังกล่าวจัดเป็นประโยคคำสั่งเพื่อใช้กำหนดค่า(assign statement) อีกทั้งยังมี ประโยคคำสั่งที่มีเงื่อนไขกำกับเช่น if statement, for statement, while statement ประโยคคำสั่งแบบหลายบรรทัด(Multi-line statement) ประโยคคำสั่งซึ่งเป็นคำสั่งเดียวกันแต่เขียนไว้หลายบรรทัด เพื่อให้ง่ายแก่การอ่านโค้ดดังกล่าว โดยปกติแล้ววิธีการบอกจุดสิ้นสุดของแต่ละประโยคคำสั่ง(statement) ทำได้โดยการเพิ่มอักขระสำหรับขึ้นบรรทัดใหม่(newline)เข้าไป แต่สำหรับประโยคคำสั่งแบบหลายบรรทัดนี้แต่ละบรรทัดยังคงมีอักขระสำหรับขึ้นบรรทัดใหม่โดยที่จะเชื่อมคำสั่งหลายบรรทัดให้กลายเป็นคำสั่งเดียวกันโดยอาศัยอักขระ “\” ตัวอย่างการใช้งาน total = 1 + 2 + 3 + \ 4 + 5 + 6 + \ 7 + 8 Read more about Python – Statement, Indentation และ Comments[…]

Python – if…else

การใช้ประโยคเงื่อนไข if…else ประโยคเงื่อนไข if…else ใช้เมื่อต้องการกำหนดเงื่อนไขเพื่อตัดสินว่าจะทำชุดคำสั่งที่กำหนดไว้หรือไม่ วิธีการใช้ if if <เงื่อนไข>: <คำสั่งลำดับที่ 1> <คำสั่งลำดับที่ 2> <คำสั่งลำดับถัดไป…> รูปภาพ แสดงการทำงานของ if คำสั่ง: เป็นคำสั่งย่อยที่จะถูกดำเนินการก็ต่อเมื่อเงื่อนไขที่กำหนดนั้นเป็นจริงเท่านั้น โดยกลุ่มคำสั่งที่จะถูกดำเนินการนั้นจะทำการบอกขอบเขตโดยการย่อหน้า(indent)เพื่อบอกจุดเริ่มต้นและจุดสิ้นสุดของชุดคำสั่งเมื่อจบการย่อหน้า(indent)ดังกล่าวแล้ว เงื่อนไข: เป์นเงื่อนไขที่ใช้ตัดสินใจในการทำคำสั่ง สำหรับเงื่อนไขนั้น หากไม่เป็น 0 จะมีค่าเป็น “จริง” ส่วนหากเงื่อนไขมีค่า None และ 0 จะมีค่าเป็น “เท็จ” ตัวอย่างการใช้งาน score = 80 if score > 60: print “Pass” # โปรแกรมจะทำการปรินท์ข้อมูล Pass # score > 60 จะเป็นเงื่อนไขในการรันชุดคำสั่ง # print “Pass” เป็นคำสั่งที่จะถูกเรียกใช้ Read more about Python – if…else[…]

Python – Operators

ตัวดำเนินการ(Operator) ตัวดำเนินการ(operator) เป็นสัญลักษณ์ที่ใช้สำหรับดำเนินการทางคณิตศาสตร์หรือทางตรรกะ โดยตัวดำเนินการ(operators) นั้นจะถูกใช้งานร่วมกันกับตัวถูกดำเนินการ(operand) ตัวอย่างการใช้งาน print( 2+3 ) # โปรแกรมจะทำการปรินท์ค่า 5 ออกมา # โดยเครื่องหมาย “+” คือตัวดำเนินการ(operator)สำหรับการดำเนินการบวกเลข และตัวเลข 2, 3 คือตัวถูกดำเนินการ(operand) ส่วนผลลัพท์ของการดำเนินการนี้ก็คือ 5 ตัวดำเนินการประเภทต่างๆ มีดังนี้ 1. ตัวดำเนินการทางคณิตศาสตร์(Arithmetic operators) ตัวดำเนินการประเภทนี้ใช้สำหรับการดำเนินการทางคณิตศาสตร์ เช่น การบวก(+), การลบ(-),  การคูณ(*), การหาร(/) ตัวดำเนินการ ความหมาย ตัวอย่างการใช้งาน + ทำการบวกข้อมูลที่อยู่ด้านซ้ายและขวาของตัวดำเนินการ “+” หรือเลขจำนวนบวก 2+3 +2 – ทำการนำข้อมูลด้านขวาไปลบออกจากข้อมูลด้านซ้ายของตัวดำเนินการ “-” หรือ เลขจำนวนลบ 3-2 -2 * ทำการคูณระหว่างข้อมูลที่อยู่ด้านซ้ายและขวาของตัวดำเนินการ “*” 2*3 / Read more about Python – Operators[…]

Python – Input, Output และ Import

การนำข้อมูลออกมาแสดงโดยใช้ฟังก์ชัน print() ฟังก์ชัน print() ใช้สำหรับนำข้อมูลที่ส่งออกมาแสดงทางจอภาพ หรืออาจจะนำข้อมูลดังกล่าวออกมาแสดงผลในรูปแบบไฟล์ได้อีกด้วย ตัวอย่างการแสดงข้อมูล print(“Welcome to class!”) # โปรแกรมจะทำการปรินต์ค่า Welcome to class! name = “David” # กำหนดตัวแปรชื่อ name ไว้สำหรับระบุชื่อของผู้ใช้งาน print(“Welcome to class:”, name) # โปรแกรมจะทำการปรินต์ค่า Welcome to class: David # โดยจะสังเกตุว่าระหว่างข้อความและตัวแปร โปรแกรมจะทำการใส่ช่องว่างแทรกเข้ามาให้โดยอัตโนมัติ กำหนดรายละเอียดให้กับฟังก์ชัน print() ฟังก์ชัน print() นั้นสามารถระบุรายละเอียดเพิ่มเติม เพื่อเป็นการปรับแต่งข้อความที่เราต้องการแสดงผลได้ รูปแบบการใช้งานดังนี้ print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False) โดยรายละเอียดของแต่ละตัวแปรที่กำหนดให้ฟังก์ชันเป็นดังนี้ ตัวแปร รายละเอียด objects คือค่าที่จะนำมาแสดงผล อาจเป็นข้อมูลเดียว หรือชุดของข้อมูลก็ได้ Read more about Python – Input, Output และ Import[…]

Python – Variable และ Data Types

ตัวแปร(Variable) ตัวแปร ใช้สำหรับระบุตำแหน่งของหน่วยความจำที่ใช้เก็บค่าข้อมูล ซึ่งตัวแปรแต่ละตัวจะใช้ชื่อเฉพาะที่แตกต่างกันโดยชื่อดังกล่าวควรมีความสอดคล้องกับข้อมูลที่ต้องการเก็บเพื่อให้ง่ายในการทำความเข้าใจโปรแกรมและข้อมูลแต่ละตัวแปรก็แสดงถึงตำแหน่งของการเก็บข้อมูลที่แตกต่างกัน วิธีการตั้งชื่อตัวแปรนั้นจะมีข้อจำกัดเหมือนกันกับการตั้งชื่อให้ indentifier การตั้งชื่อ identifier นั้นมีกฏดังนี้ identifier เกิดจากการรวมตัวกันของ lowercase(a-z), uppercase(A-Z), digit(0-9) หรือ underscore(_) ตัวอย่างของการตั้งชื่อเช่น tutorial_101, myFirstPython, python_tutorial identifier ไม่สามารถขึ้นด้วยตัวเลข การประกาศที่ไม่ถูกต้องเช่น 4lecture แต่ถ้า lecture4 นั้นสามารถใช้ในการประกาศได้ คีย์เวิร์ด(keyword)นั้นไม่สามารถนำมาใช้เป็น identifier ได้ อักขระพิเศษเช่น !, @, #, $, % ไม่สามารถใช้กับ identifier ได้ เราสามารถตั้งชื่อของ identifer ด้วยความยาวเท่าไรก็ได้ ใน python เราไม่จำเป็นที่จะต้องประกาศตัวแปรไว้ล่วงหน้าเพื่อจองพื้นที่หน่วยความจำก่อนทำการเรียกใช้งานจริง เราสามารถที่จะกำหนดค่าต่างๆ ให้ตัวแปรตอนที่เรียกใช้งานได้เลย และเราไม่จำเป็นที่จะต้องระบุชนิดของข้อมูล(data type) ที่ต้องการเก็บให้กับตัวแปร เพราะ python จะจัดการระบุชนิดของข้อมูลเองตามลักษณะของข้อมูลที่กำหนดค่าลงไป การกำหนดค่าให้ตัวแปร(variable assignment) Read more about Python – Variable และ Data Types[…]

Python – Keywords and Identifier

คีย์เวิร์ด(Keywords) คีย์เวิร์ด(keywords) หรือ คำสงวนนั้นเป็นคำที่ถูกจำกัดไว้เพื่อใช้งานเฉพาะเจาะจงสำหรับภาษานั้น เราสามารถใช้คีย์เวิร์ดในการประกาศตัวแปร, ฟังก์ชัน, หรือ identifier ใดๆ ในภาษา python นั้นการตั้งชื่อตัวพิมพ์เล็กหรือพิมพ์ใหญ่จะมีผลที่แตกต่างกัน โดยในเวอร์ชัน 3.3 จะมีคีย์เวิร์ดทั้งหมด 33 ตัว โดยส่วนใหญ่แล้วจะถูกเขียนด้วยตัวอักษรพิมพ์เล็ก ยกเว้นแต่คีย์เวิร์ด True, False, None ที่ตัวอักษรขึ้นต้นเป็นพิมพ์ใหญ่ คีย์เวิร์ดต่างๆ มีดังนี้ False class finally is return None continue for lambda try True def from nonlocal while and del global not with as elif if or yield assert else import pass break Read more about Python – Keywords and Identifier[…]

Python – Operator Overloading

operator overloading ตัวดำเนินการ(operator) ทำงานกับ built-in class แต่ทำงานแตกต่างกันตามชนิดของข้อมูล ตัวอย่างเช่น ตัวดำเนินการ “+” จะดำเนินการเพื่อบวกจำนวน 2 จำนวน หรือ อาจจะใช้เพื่อทำการเชื่อมข้อความ 2 ข้อความก็ได้ คุณลักษณะเช่นนี้ ซึ่งอนุญาติให้ตัวดำเนินการสามารถทำงานแตกต่างกันตามบริบทของข้อมูล จะเรียกว่า operator overloadding /** * Insert your code here */ ผลที่ได้ Traceback (most recent call last): … TypeError: unsupported operand type(s) for +: ‘Point’ and ‘Point’ จากตัวอย่าง หากเราใช้ operator overloadding กับคลาสที่เราทำการสร้างขึ้นมาเอง จะเกิดปัญหาดังตัวอย่าง แต่ในไพธอนนั้น เราสามารถจะกำหนดรายละเอียดเพื่อให้ไพธอนรู้ถึงวิธีการจัดการกับข้อมูลดังกล่าวได้ special function Read more about Python – Operator Overloading[…]

Python – Multiple Inheritance

การสืบทอดจากคลาสหลายคลาส คลาสนั้นสามารถสืบทอดคุณลักษณะจากคลาสต้นแบบได้พร้อมกันครั้งหลายคลาส โดยจะเรียกว่า multiple inheritance เมื่อทำการสืบทอดมาจากหลายคลาส คุณลักษณะทั้งหมดจากคลาสต้นแบบแต่ละคลาสจะถูกสืบทอดมายังคลาสนั้น วิธีการใช้งาน class Base1: pass class Base2: pass class MultiDerived(Base1, Base2): pass โดย multiDervied คลาสจะสืบทอดคุณลักษณะทั้งหมดมาจากทั้งคลาส Base1 และ Base2 การสืบทอดหลายระดับ เราสามารถทำการสืบทอดคลาสมาจาก คลาสที่ทำการสืบทอดมาจากคลาสอื่นอีกทีได้ ซึ่งเรียกว่า การสืบทอดในหลายระดับ โดยสามารถสืบทอดในรูปแบบนี้ได้ในหลายๆระดับ โดยคุณลักษณะจากคลาสต้นแบบและคลาสที่สืบทอดมาจากคลาสต้นแบบ จะถูกสืบทอดมายังคลาสที่ต้องการสืบทอดคุณลักษณะดังกล่าวทั้งหมด วิธีการใช้งาน class Base1: pass class DerviedLevel1(Base): pass class DerivedLevel2(DerivedLevel1): pass จากตัวอย่าง คลาส DerviedLevel1 นั้นสืบทอดมาจากคลาส Base1 จากนั้นคลาส DerivedLevel2 ก็ทำการสืบทอดมาจากคลาส DerviedLevel1 อีกทีหนึ่ง ลำดับการทำงานของฟังก์ชันสำหรับการสืบทอดคลาส ทุกๆ คลาสจะสืบทอดมาจากคลาส Read more about Python – Multiple Inheritance[…]

Python – Inheritance

การสืบทอด(Inheritance) การสืบทอดเป็นคุณลักษณะเด่นอย่างหนึ่งสำหรับการเขียนโปรแกรมแบบ OO(Object-Oriented Programming) โดยอ้างถึงการกำหนดคลาสขึ้นมาใหม่และด้วยคุณลักษณะจากคลาสที่มีอยู่โดยไม่มีการแก้ไขใดๆ โดยคลาสใหม่เรียกว่าคลาสสืบทอด(derived or child class) และคลาสที่เป็นต้นแบบของการสืบทอดนั้นเรียกว่าคลาส base(หรือ parent) class BaseClass: # รายละเอียดของ Base Class class DerivedClass(BaseClass): # รายละเอียดของ Derived Class คลาสสืบทอด(derived class) ได้สืบทอดคุณลักษณะจากคลาสต้นแบบ และสามารถเพิ่มคุณลักษณะใหม่ลงไปได้ ซึ่งทำให้เราสามารถสร้างคลาสใหม่โดยการนำคุณลักษณะเดิมที่มีอยู่แล้วมาปรับปรุงเพื่อใช้งานได้มากขึ้น ตัวอย่างการสืบทอด กำหนดให้ polygon เป็นรูปปิดซึ่งมีด้าง 3 ด้าน เราทำการสร้างคลาส polygon ได้ดังนี้ class Polygon: def __init__(self, no_of_sides): self.n = no_of_sides self.sides = [0 for i in range(no_of_sides)] def inputSides(self): Read more about Python – Inheritance[…]

Python – Objects and Class

ไพธอนเป็นหนึ่งในภาษาที่เป็น Object Oriented ซึ่งต่างจาก procedure oriented language ที่จะเน้นการใช้งานเป็นฟังก์ชัน แต่ Object Oriented จะเน้นการใช้งานในรูปแบบออบเจค โดยออบเจ็คแต่ละชนิดนั้นประกอบด้วยข้อมูลตัวแปรและฟังก์ชันเพื่อมาใช้ทำงานกับข้อมูลต่างๆ และคลาสซึ่งเป็นการกำหนดรูปแบบให้ออบเจ็คแต่ละชนิด เราสามารถเปรียบเทียบคลาสเป็นเหมือนโครงร่างของบ้าน ซึ่งจะประกอบด้วยข้อมูลของพื้น, ประตู, หน้าต่าง และอื่นๆ ขึ้นอยู่กับรายละเอียดนี้เราสามารถประกอบเป็นบ้าน โดยบ้านเป็นออบเจ็คหนึ่ง ซึ่งบ้านหลายๆหลังสามารถสร้างจากการรายละเอียดเริ่มต้นเหล่านี้ ซึ่งสามารถสร้างเป็นออบเจ็คได้หลายแบบจากคลาสเดียวกันซึ่งจะเรียกว่า instance ของคลาส การกำหนดคลาสในไพธอน สำหรับการกำหนดฟังก์ชันเราจะเริ่มต้นประกาศฟังก์ชันด้วยคีย์เวิร์ด def แต่สำหรับการกำหนดคลาสเราจะเริ่มต้นประกาศคลาสด้วยคีย์เวิร์ด class โดยสิ่งแรกที่มักประกาศคือ docstring ซึ่งเป็นข้อควาที่ระบุข้อมูลคร่างๆ เกี่ยวกับคลาสนั้นๆ แต่ก็ไม่ได้บังคับตายตัวว่าจำเป็นต้องใส่ทุกครั้ง แต่การใส่จะทำให้เมื่อกลับมาอ่านแล้วสามารถจะทำความเข้าใจเกี่ยวกับคลาสได้รวดเร็วขึ้น ตัวอย่างการใช้งาน class abc ”’ docstring here ”’ pas คลาสจะทำการสร้าง local namespace ขึ้นมาใหม่ซึ่งใช้ประกาศแอทริบิวต์หรือฟังก์ชัน และยังมีแอททริบิวท์พิเศษที่เริ่มต้นชื่อด้วย __ เช่น __doc__ ใช้กำหนดรายละเอียด docstring ของคลาส Read more about Python – Objects and Class[…]