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 Show
Commentคอมเม้นของ Python
""" Use * for multiplication of a number The * is a multiplication operator in Python To print the value, use the print() function """ print(3 * 7) Variables
float_number = float(10) # แปลงค่า integer เป็น float
result = 10
one = 1
ตัวดำเนินการในภาษา ตัวดำเนินการทางคณิตศาสตร์
ตัวดำเนินการเปรียบเทียบ
ตัวดำเนินการกำหนดค่า
ตัวดำเนินการทางตรรกะ
ตัวดำเนินการสมาชิก ตัวดำเนินการสมาชิกเป็น ตัวดำเนินการพิเศษของภาษา Python จะไม่พบในภาษาอื่น ไว้สำหรับเช็คว่า ค่าที่เรากำลังสนใจเป็นสมาชิกของตัวแปรนั้นๆ หรือไมจะคืนค่าเป็น จริงหรือเท็จแล้วแต่กรณีใช้กับ such as strings, lists, หรือ tuple
นอกจากนี้ Python ยังมี Identity Operators เพื่อเช็คว่ามีตัวแปรที่ต้องการทราบอยู่ใน memory หรือเปล่า คือ is และ not is ลำดับความสำคัญของตัวดำเนินการใน Python Operators Precedenceoperators ทั้งหมดของ ไพทอน ตามลำดับความสำคัญจากมากไปน้อย
นอกจากใน list แล้วยังมีตัวดำเนินการที่มีลำดับความคำคัญสูงสุดคือ “(…)” Stringsการรวม String 2 ตัวเข้าด้วยกัน (combine) จะใช้เครื่องหมาย has_a = "A" in "bcdAefg"1 เช่น name = "test" Python สามารถใช้ String คูณด้วย integer ได้ด้วย เช่น has_a = "A" in "bcdAefg"2 String ใน Python เก็บค่าแต่ละ characters เป็น index โดยเริ่มต้นจาก index = 0 ตัวอย่าง คำว่า has_a = "A" in "bcdAefg"3 สามารถใช้ค่าติดลบ ในการเข้าถึง index ของ String ได้ โดยจะเริ่มทำการนับจากด้านหลังมาด้านหน้า result = "abcdefg" สามารถเช็คว่าใน String มีคำหรือตัวอักษรอยู่ใน String หรือไม่ผลลัพธ์จะเป็น boolean True หรือ False ด้วยการใช้ in keyword เช่น has_a = "A" in "bcdAefg" “”” (triple-quoted) เอาไว้สำหรับประกาศ String แบบหลายๆบรรทัด phrase = """ Backslash (\) เอาไว้ใช้สำหรับ escape character กรณีต้องการพิมพ์ ” หรือ ‘ ลงใน String ซึ่งโดยปกติ String จะมี ” ที่เริ่มต้นและสุดของ String หากแทรก ” ใน String โปรแกรมจะมอง ” ใน String กลายเป็นจุดสิ้นสุดของ String กลายเป็น error ไป วิธีแก้ ก็คือต้องใช้ \ เช่น print("You said \"You loved me\"") # You said "You loved me" lower() เป็นเมธอดสำหรับทำให้ String กลายเป็นตัวพิมพ์เล็ก ขณะที่ upper() เอาไว้สำหรับเปลี่ยน String เป็นตัวพิมพ์ใหญ่ การใช้งานเมธอดเราจะใช้ . (dot) ตามด้วยชื่อเมธอด เช่น "JohnDoe".upper() # JOHNDOE string format ใช้ % ตามหลัง String ร่วมกับตัวแปร เพื่อกำหนด format ของ String ที่เราต้องการ หลักการคือ จะเปลี่ยนค่า %s ใน String กลายเป็นตัวแปรที่เรากำหนดไว้ เช่น float_number = float(10) # แปลงค่า integer เป็น float 0has_a = "A" in "bcdAefg"4 เป็น symbol สำหรับ String ส่วน has_a = "A" in "bcdAefg"5 เป็น symbol สำหรับใช้แทนตัวเลข Data structureslist คือ data structure ที่เอาไว้เก็บข้อมูลหลายๆข้อมูล ค่าที่เก็บใน list ต้องเป็นชนิดเดียวกัน เช่น float_number = float(10) # แปลงค่า integer เป็น float 1การเพิ่มข้อมูลลงไปใน list ใช้เมธอด append() และ list เป็น mutable เราสามารถเปลี่ยนข้อมูลใน list ได้ เช่น float_number = float(10) # แปลงค่า integer เป็น float 2Tuples คือ list ที่ไม่สามารถเปลี่ยนแปลงข้อมูลได้ ไม่สามารถเพิ่ม ลบ หรือแก้ไขข้อมูลเหมือน list ได้ มี syntax ง่ายๆคือ ขึ้นต้นและปิดด้วย ( และ ) ขั้นข้อมูลด้วย comma เช่น float_number = float(10) # แปลงค่า integer เป็น float 3Dictionary คล้ายคลึงกับ list แต่ต่างกันที่ Dictionary สามารถเข้าถึงข้อมูลได้ด้วยการใช้ key แทนที่จะเป็น index แบบ list (คล้ายคลึงกับ Ruby Hash, Java HashMap หรือ JSON ท่าเทียบกับภาษาอื่นๆ) float_number = float(10) # แปลงค่า integer เป็น float 4in นอกจากเช็คตัวอักษรใน String ได้แล้ว ก็ยังสามารถเช็คว่ามี item ที่ต้องการใน list หรือ dictionary ได้อีกด้วย Condition expressionsBoolean operators ใช้เปรียบเทียบ statement ผลลัพธ์เป็น has_a = "A" in "bcdAefg"6 หรือ has_a = "A" in "bcdAefg"7 has_a = "A" in "bcdAefg"8 จะเป็น has_a = "A" in "bcdAefg"6 ก็ต่อเมื่อ 2 กรณีเป็นจริงทั้งคู่นอกนั้นเป็น has_a = "A" in "bcdAefg"7 phrase = """ 1 จะเป็นจริง has_a = "A" in "bcdAefg"6 ก็ต่อเมื่อ กรณีใดเป็นจริง จะเป็น has_a = "A" in "bcdAefg"7 เมื่อทั้ง 2 กรณีเป็นเท็จ phrase = """ 4 เอาไว้กลับค่าให้ตรงข้าม เช่น จาก has_a = "A" in "bcdAefg"6 หากมี phrase = """ 4 ก็จะกลายเป็น has_a = "A" in "bcdAefg"7 ลำดับความสำคัญ ไม่ได้เริ่มจากซ้ายไปขวา แต่นับจาก phrase = """ 4 has_a = "A" in "bcdAefg"8 และ phrase = """ 1 ตามลำดับprint("You said \"You loved me\"") # You said "You loved me" 1 statement เอาไว้เช็คเงื่อนไขว่าเป็นจริงหรือไม่ ถ้าจริงก็จะทำงานในส่วนของ statement (Python จะใช้ indentation ด้วย 4 spaces)float_number = float(10) # แปลงค่า integer เป็น float 5ตัวอย่างเช่น float_number = float(10) # แปลงค่า integer เป็น float 6กรณี if/else หากเช็คเงื่อนไขเป็นจริง จะทำใน if แต่ถ้าไม่ใช่ก็จะทำใน else เช่น float_number = float(10) # แปลงค่า integer เป็น float 7else if กรณีที่ต้องการเอาไว้เช็คหลายๆเงื่อนไข โดยใช้คีเวิร์ด elif เช่น float_number = float(10) # แปลงค่า integer เป็น float 8กรณี เงื่อนไขเกี่ยวกับ มากกว่าน้อยกว่า เราสามารถยุบเงื่อนไข เขียนสั้นๆแบบนี้ก็ได้ (อันนี้ผมเพิ่งรู้จากที่ตัว IDE มันแนะนำ Simplify chained comparison เช่น float_number = float(10) # แปลงค่า integer เป็น float 9แต่จริงๆแล้ว if/else เรามีแค่เงื่อนไขเดียวก็ได้ result = 10 0การทำงาน Switch ในไพทอน Switch Statement Selection Pythonใน ไพทอนไม่มี Switch ให้ใช้ ตัวอย่างเช่น จะเขียน result = 10 1แบบใน PHP ใน ไพทอนไม่มี Switch แบบนี้ให้ใช้ เป็นภาษาที่แปลกแตกต่างจากภาษาอื่น (ภาษาอื่นๆเค้ามีกันหมด) result = 10 2LoopsFor Loop มีรูปแบบ for i in range: เช่น วนลูปปริ้น 0–4 result = 10 3วนลูปปริ้นข้อมูลในลิสท์ [2, 3, 5, 7] result = 10 4loop กับ String result = 10 5while loop จะ execute เมื่อ condition เป็น true result = 10 6break ไว้ใช้หยุด loop continue เอาไว้ใช้ข้ามโค๊ดส่วนอื่นๆภายใน loop Functionsฟังค์ชันใน Python ประกาศด้วย keyword def เป็นส่วนของ code block result = 10 7ฟังค์ชันสามารถรับ parameter ก็ได้เช่นกัน โดยกำหนด parameters ภายใน () result = 10 8ฟังค์ชันสามารถเซต default parameter ได้ในกรณีที่เราไม่ได้ส่ง parameter ให้กับฟังค์ชัน เช่น result = 10 9การสร้างฟังก์ชั่นไม่ระบุชื่อ ใน ไพทอน The Anonymous Functionsในการสร้างฟังก์ชั่น ไม่ระบุชื่อ (Anonymous Functions:) นั้นสามารถสร้างโดยใช้ Keyword “lambda” ซึ่งการสร้างฟังก์ชั่นไม่ระบุชื่อนี้ เราจะไม่ใช้ keyword def เพื่อสร้างฟังก์ชั่น ฟังก์ชั่นไม่ระบุชื่อนี้ สามารถระบุ arguments ให้กับฟังก์ชั่นกี่ตัวก็ได้ แต่การ return ค่าออกจากฟังก์ชั่น return ได้เพียงค่าเดียวเท่านั้น ข้อจำกัดของ ฟังก์ชั่นไม่ระบุชื่อ
รูปแบบการสร้าง ฟังก์ชั่นไม่ระบุชื่อ one = 1 0ตัวอย่าง def_function_lambda.py one = 1 1จากตัวอย่างจะเป็นการสร้าง ฟังก์ชั่นไม่ระบุชื่อ กำนหดให้เท่ากับ ตัวแปล mylam และทดลองเรียกใช้ ฟังก์ชั่นไม่ระบุชื่อผ่าน ตัวแปล mylam การสร้างฟังก์ชั่น ส่งค่าออกจากฟังก์ชั่นไพทอน The return Statementการสร้างฟังก์ชั่น และจำเป็นต้องส่งค่าออกจากฟังก์ชั่นในภาษาไพทอนนั้นจะใช้ keyword คำว่า “return” เหมือนกับภาษาอื่นๆ ประโยชน์ของการสร้างฟังก์ชั่นที่มีการ return นั้นมีประโยชน์ ในการคำนวน หรือ ลดการเขียนโค้ดที่ซ้ำๆ กันและมีการเรียกใช้กันไปมาระหว่างฟังก์ชั่นด้วย กันเอง หรือ เพื่อ กำหนดรูปแบบแสดงผลแบบต่างๆ ตัวอย่าง def_function_return.py one = 1 2Classes and objects
หากใครไม่รู้จัก Class หรือ Object แนะนำให้อ่านเรื่อง OOP ประกอบครับ concept เดียวกัน เหมือนกันทุกภาษา
one = 1 3
one = 1 4
ไพทอน แบบอ๊อบเจ็ค Python OOP — Object-oriented programming บนภาษาไพทอนไพทอนเป็นภาษาสคลิป ที่สนับสนุนการเขียนโปรแกรม แบบ OOP ก่อนศึกษาวิธีการเขียนกัน เรามาทำความรู้จักคำศัพท์ ต่างๆ เหล่านี้กันก่อน Class variable: คือตัวแปลที่ใช้ร่วมกันภายในคลาส Class variable: ถูกกำหนดขึ้นภายในคลาส แต่อยู่นอก เมทอด ของคลาส Instance Variable คือ ตัวแปรช ที่ถูกสร้างและยังคงอยู่ ภายใน method ของ Class ที่สร้างมันขึ้นมาเท่านั้น Inheritance: คือการถ่ายโอนความสามารถของคลาสหนึ่งไปยังอีกคลาสหนึ่ง เช่นจากคลาสแม่ ไปยังคลาสลูก Function overloading: คือฟังก์ชั่นที่ชื่อเหมือนกัน แต่สามารถแยการทำงาน ของฟังก์ชั่นแต่ละตัวออกจากกันได้ด้วย arguments Constructor function: คือฟังก์ชั่นที่สร้างเรียกอัตโนมัตเมื่อมีการสร้างออปเจ็คจากคลาส ใน python ใช้ function __init__() Instance: คือการสร้าง ออปเจ็คตากคลาส ออเจ็คที่ถูกสร้างขึ้น จะมีชนิดเป็น obj ซึ่งเป็นเอาความสามารถของคลาสทั้งหมด ออกมาเก็บไว้ในตัวแปล Method :คือฟังก์ชั่นชนิดหนึ่งที่ถูกสร้างขึ้นภายใน คลาส Object : คือ คือคุณสมบัติต่างๆ ของสิ่งที่เราสร้างขึ้นจากคลาส ไม่ว่าจะเป็น data members (class variables และ instance variables) และ methods. Create Class OOPการสร้าง Class ในไพทอน ใช้ keyword Class เหมือนกับภาษาอื่นๆ ในการประกาศสร้างคลาส one = 1 5ตัวอย่าง สร้าง Class ชื่อ Employee one = 1 6การใช้งาน one = 1 7จากตัวอย่าง สร้าง Class ชื่อ Employee ผลที่ได้ one = 1 8Built-In Class Attributesจาก บทเรียนก่อนหน้านี้ ไพทอน การสร้างคลาส การเขียนโปรแกรมแบบออปเจ็ค Create Class OOP เมื่อเราสร้างคลาสขึ้นมาเพื่อไว้ใช้งาน ไพทอน จะสร้าง Attributes ของคลาสให้อัตโนมัต และเราสามารถเรียกใช้งานได้เลย ดังนี้
จะตัวอย่าง โค้ด class_create.py จาก บทที่แล้ว เพิ่ม โค้ดลงไปตามนี้ one = 1 9ผลของการรันจะได้ ดังนี้ name = "test" 0OOP กับการสือทอดคลาส Class Inheritanceการเขียนโปรแกรมด้วยไพทอนแบบ Python OOP — Object-oriented programmingเราสามารถสือทอดความสามารถของคลาสที่สร้างไว้อยู่แล้ว (คลาสแม่) มาให้คลาสใหม่ที่กำลังจะขึ้น (คลาสลูก) เหมือนการเขียนแบบ OOP ในภาษา Java หรือ php และในไพทอนสามารถสือทอดความสามารถจากคลาสแม่หลายๆ คลาสมายังคลาสลูกได้ รูปแบบ name = "test" 1# ตัวอย่าง class_inheritance.py name = "test" 2การใช้งาน name = "test" 3ผลที่ได้ name = "test" 4Class Inheritance multiple parent classesการสือทอดคลาส Class Inheritance เราสามารถสืบทอดคลามสามารถจากคลาสแม่หลายๆ คลาสได้ ด้วยดังตัวอย่าง name = "test" 5นอกจากนี้ไพทอนยังมีฟังก์ชั่น ไว้สำหรับดูการสืบทอดของคลาส คือ การเรียกใช้งานฟังก์ชั่น ในไพทอน แบบ Object สอน Pythonการเรียกใช้งาน ฟังก์ชั่นในลักษณะแบบ Object เหมือนกับ การสร้าง object ในการเขียนภาษาอื่นๆแบบ OOP ในไพทอน จะมองว่า ฟังก์ชั่นเป็น object ตัวหนึ่งได้ |