Photo by Timothy Dykes on Unsplash Show
คำสงวน ใน Pythonand, 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
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) จะใช้เครื่องหมาย name = "test" Python สามารถใช้ String คูณด้วย integer ได้ด้วย เช่น String ใน Python เก็บค่าแต่ละ characters เป็น index
โดยเริ่มต้นจาก index = 0 ตัวอย่าง คำว่า สามารถใช้ค่าติดลบ ในการเข้าถึง 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 กลายเป็นตัวแปรที่เรากำหนดไว้ เช่น name = "Chai"
Data structureslist คือ data structure ที่เอาไว้เก็บข้อมูลหลายๆข้อมูล ค่าที่เก็บใน list ต้องเป็นชนิดเดียวกัน เช่น students = ["John Doe", "Jane Doe", "Chuck Norris"] การเพิ่มข้อมูลลงไปใน list ใช้เมธอด append() และ list เป็น mutable เราสามารถเปลี่ยนข้อมูลใน list ได้ เช่น animals = ['elephant', 'lion', 'tiger', "giraffe"] Tuples คือ list ที่ไม่สามารถเปลี่ยนแปลงข้อมูลได้ ไม่สามารถเพิ่ม ลบ หรือแก้ไขข้อมูลเหมือน list ได้ มี syntax ง่ายๆคือ ขึ้นต้นและปิดด้วย ( และ ) ขั้นข้อมูลด้วย comma เช่น this_is_tuple = ('t', 'u', 'p', 'l', 'e') Dictionary คล้ายคลึงกับ list แต่ต่างกันที่ Dictionary สามารถเข้าถึงข้อมูลได้ด้วยการใช้ key แทนที่จะเป็น index แบบ list (คล้ายคลึงกับ Ruby Hash, Java HashMap หรือ JSON ท่าเทียบกับภาษาอื่นๆ) phone_book = {"John": 123, "Jane": 234, "Jerard": 345} in นอกจากเช็คตัวอักษรใน String ได้แล้ว ก็ยังสามารถเช็คว่ามี item ที่ต้องการใน list หรือ dictionary ได้อีกด้วย Condition expressionsBoolean operators ใช้เปรียบเทียบ statement ผลลัพธ์เป็น
ลำดับความสำคัญ
ไม่ได้เริ่มจากซ้ายไปขวา แต่นับจาก
if condition: ตัวอย่างเช่น name = "me" กรณี if/else หากเช็คเงื่อนไขเป็นจริง จะทำใน if แต่ถ้าไม่ใช่ก็จะทำใน else เช่น name = "John Doe" else if กรณีที่ต้องการเอาไว้เช็คหลายๆเงื่อนไข โดยใช้คีเวิร์ด elif เช่น point = 82 กรณี เงื่อนไขเกี่ยวกับ มากกว่าน้อยกว่า เราสามารถยุบเงื่อนไข เขียนสั้นๆแบบนี้ก็ได้ (อันนี้ผมเพิ่งรู้จากที่ตัว IDE มันแนะนำ Simplify chained comparison เช่น point = 82 แต่จริงๆแล้ว if/else เรามีแค่เงื่อนไขเดียวก็ได้ point = 82 การทำงาน Switch ในไพทอน Switch Statement Selection Pythonใน ไพทอนไม่มี Switch ให้ใช้ ตัวอย่างเช่น จะเขียน switch ($value) { แบบใน PHP ใน ไพทอนไม่มี Switch แบบนี้ให้ใช้ เป็นภาษาที่แปลกแตกต่างจากภาษาอื่น (ภาษาอื่นๆเค้ามีกันหมด) result = { LoopsFor Loop มีรูปแบบ for i in range: เช่น วนลูปปริ้น 0–4 for i in range(5): วนลูปปริ้นข้อมูลในลิสท์ [2, 3, 5, 7] primes = [2, 3, 5, 7] loop กับ String for ch in "Hello World": while loop จะ execute เมื่อ condition เป็น true square = 0 break ไว้ใช้หยุด loop continue เอาไว้ใช้ข้ามโค๊ดส่วนอื่นๆภายใน loop Functionsฟังค์ชันใน Python ประกาศด้วย keyword def เป็นส่วนของ code block def say_hi(): ฟังค์ชันสามารถรับ parameter ก็ได้เช่นกัน โดยกำหนด parameters ภายใน () def sum(a, b): ฟังค์ชันสามารถเซต default parameter ได้ในกรณีที่เราไม่ได้ส่ง parameter ให้กับฟังค์ชัน เช่น def say_hi(name='John Doe'): การสร้างฟังก์ชั่นไม่ระบุชื่อ ใน ไพทอน The Anonymous Functionsในการสร้างฟังก์ชั่น ไม่ระบุชื่อ (Anonymous Functions:) นั้นสามารถสร้างโดยใช้ Keyword “lambda” ซึ่งการสร้างฟังก์ชั่นไม่ระบุชื่อนี้ เราจะไม่ใช้ keyword def เพื่อสร้างฟังก์ชั่น ฟังก์ชั่นไม่ระบุชื่อนี้ สามารถระบุ arguments ให้กับฟังก์ชั่นกี่ตัวก็ได้ แต่การ return ค่าออกจากฟังก์ชั่น return ได้เพียงค่าเดียวเท่านั้น ข้อจำกัดของ ฟังก์ชั่นไม่ระบุชื่อ
รูปแบบการสร้าง ฟังก์ชั่นไม่ระบุชื่อ lambda [arg1 [,arg2,.....argn]]:expression ตัวอย่าง def_function_lambda.py # สร้างฟังก์ชั่น จากตัวอย่างจะเป็นการสร้าง ฟังก์ชั่นไม่ระบุชื่อ กำนหดให้เท่ากับ ตัวแปล mylam และทดลองเรียกใช้ ฟังก์ชั่นไม่ระบุชื่อผ่าน ตัวแปล mylam การสร้างฟังก์ชั่น ส่งค่าออกจากฟังก์ชั่นไพทอน The return Statementการสร้างฟังก์ชั่น และจำเป็นต้องส่งค่าออกจากฟังก์ชั่นในภาษาไพทอนนั้นจะใช้ keyword คำว่า “return” เหมือนกับภาษาอื่นๆ ประโยชน์ของการสร้างฟังก์ชั่นที่มีการ return นั้นมีประโยชน์ ในการคำนวน หรือ ลดการเขียนโค้ดที่ซ้ำๆ กันและมีการเรียกใช้กันไปมาระหว่างฟังก์ชั่นด้วย กันเอง หรือ เพื่อ กำหนดรูปแบบแสดงผลแบบต่างๆ ตัวอย่าง def_function_return.py # การสร้างฟังก์ชั่นที่มีการส่งค่าออกจากฟังก์ชั่น Classes and objects
หากใครไม่รู้จัก Class หรือ Object แนะนำให้อ่านเรื่อง OOP ประกอบครับ concept เดียวกัน เหมือนกันทุกภาษา
class MyClass:
my_object = MyClass()
ไพทอน แบบอ๊อบเจ็ค 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 เหมือนกับภาษาอื่นๆ ในการประกาศสร้างคลาส class ชื่อคลาส : ตัวอย่าง สร้าง Class ชื่อ Employee class Employee: การใช้งาน obj = Employee("Mindphp.com", 1000) จากตัวอย่าง สร้าง Class ชื่อ Employee ผลที่ได้ Total Employee 1 --- Built-In Class Attributesจาก บทเรียนก่อนหน้านี้ ไพทอน การสร้างคลาส การเขียนโปรแกรมแบบออปเจ็ค Create Class OOP เมื่อเราสร้างคลาสขึ้นมาเพื่อไว้ใช้งาน ไพทอน จะสร้าง Attributes ของคลาสให้อัตโนมัต และเราสามารถเรียกใช้งานได้เลย ดังนี้
จะตัวอย่าง โค้ด class_create.py จาก บทที่แล้ว เพิ่ม โค้ดลงไปตามนี้ print "Employee.__doc__:", Employee.__doc__ ผลของการรันจะได้ ดังนี้ Employee.__doc__: Common base class for all employees OOP กับการสือทอดคลาส Class Inheritanceการเขียนโปรแกรมด้วยไพทอนแบบ Python OOP — Object-oriented programmingเราสามารถสือทอดความสามารถของคลาสที่สร้างไว้อยู่แล้ว (คลาสแม่) มาให้คลาสใหม่ที่กำลังจะขึ้น (คลาสลูก) เหมือนการเขียนแบบ OOP ในภาษา Java หรือ php และในไพทอนสามารถสือทอดความสามารถจากคลาสแม่หลายๆ คลาสมายังคลาสลูกได้ รูปแบบ class SubClassName (ParentClass1[, ParentClass2, ...]): # ตัวอย่าง class_inheritance.py class Parent: # สร้างคลาสแม่ การใช้งาน c = Child() # instance of child ผลที่ได้ constructor ของ คลาสลูก Class Inheritance multiple parent classesการสือทอดคลาส Class Inheritance เราสามารถสืบทอดคลามสามารถจากคลาสแม่หลายๆ คลาสได้ ด้วยดังตัวอย่าง class A: # สร้าง class A นอกจากนี้ไพทอนยังมีฟังก์ชั่น ไว้สำหรับดูการสืบทอดของคลาส คือ การเรียกใช้งานฟังก์ชั่น ในไพทอน แบบ Object สอน Pythonการเรียกใช้งาน ฟังก์ชั่นในลักษณะแบบ Object เหมือนกับ การสร้าง object ในการเขียนภาษาอื่นๆแบบ OOP ในไพทอน จะมองว่า ฟังก์ชั่นเป็น object ตัวหนึ่งได้ และสามารถเรียกใช้งานในลักษณะ Indirect Call ได้ ตัวอย่าง function_indirect_call.py def echo (msg): ผลที่ได้ Hello world Modules and packages
from my_module import hello_world
File input/output
open("README.md", "w") # (write) เขียนไฟล์ชื่อ README.d
f = open("input.txt", "r")
file = open("content.txt", "a") ที่มา: https://devahoy.com/, https://www.mindphp.com/ |