Basic Python

Anu Sakpibal
4 min readJan 8, 2019

--

บทความนี้เขียนขึ้นเพื่อเป็นการ Lecture เนื้อหาพื้นฐานภาษา Python ในคลาสของอาจารย์ Sittipong Jansorn ประกอบด้วยหัวข้อย่อยตั้งแต่ Syntax ต่างๆ Python Network Programming จนถึงการเขียน Python ติดต่อกับ Hardware (ESP8266) ซึ่งเนื้อหาจะแบ่งย่อยเป็น 3 ชุดเพื่อให้ง่ายต่อการอ่านนะครับ

ก่อนจะเริ่มเนื้อหา ขอออกตัวก่อนว่า เนื่อหาที่เขียน ไม่ได้ละเอียดยิบ แต่จะเป็นประเด็นสำคัญๆ ที่ควรรู้ ฉะนั้นไม่เข้าใจจุดไหน สอบถามเข้ามาได้นะครับ ไปเริ่มเนื้อหากันเลยดีกว่า

เริ่มต้นด้วยการติดตั้ง Python เราจะใช้ Python3 กันนะครับ โดยให้ไป Download ได้ที่ https://www.python.org/downloads/

ปล. Python v2.7.x ยังสามารถใช้งานได้อยู่ ยัง Support อยู่จนถึงปลายปี 2019 นี้ แต่จะไม่มีการ update อีก

หลังจากดาวน์โหลดมาแล้ว ให้ทำการติดตั้ง การติดตั้งก็ไม่มีอะไรมาก กด next next next ไปเลยครับ
หลังจาก ติดตั้งเสร็จ ก็ให้ทำการ Set Environment path (ยกตัวอย่าง สำหรับ Window7 ) ด้วยการเข้าไปที่ My Computer > Properties > Advanced System Settings > Environment Variables > Edit System Variable จากนั้นให้เพิ่ม python path ที่เรา install ไว้เข้าไป

add python path

ขั้นตอนต่อไป เราจะมาลง IDE สวยๆไว้ใช้งานกันนะครับ ซึ่งเราจะใช้ vscode กัน
ให้เข้าไป ดาวน์โหลดได้ที่นี่เลย https://code.visualstudio.com/Download

หลังจากดาวน์โหลดมาแล้ว ก็ทำการติดตั้งเลยครับ ง่ายๆเหมือนเดิม next, next แล้วก็ next เสร็จแล้วก็จะได้หน้าตาแบบนี้

หลังจากเตรียมเครื่องไม้เครื่องมือเสร็จ เดี๋ยวเราจะพักส่วนนี้ไว้ก่อนนะครับ มาลุยเนื้อหากันก่อนสักหน่อย

Basic Python 1

Python Syntax
Python Data type
Python Condition & Loop
Python OOP Class & Function
Python Console Input & Output

Basic Console Input & Output

Inout คือ การรับค่าเข้าไป เพื่อนำค่าไป Process ต่อ
Output คือ ค่าที่แสดงออกมาหลังจาก Process ใดๆ ทำงานเสร็จสิ้น

print(‘Hello World!’)    # Hello World!

ให้เพื่อนๆ ลองพิมพ์ตามด้านบนนะครับ จะได้ output printออกทางหน้าจอเหมือนกันมั๊ย

Fancier Output Formatting

ในหัวข้อนี้เราจะมาดูกันในเรื่องของการ แสดงผล Format Output ออกมาแสดงผล
ให้ลองพิมพ์ code ด้านล่างแล้วดู Output ตามนะครับ

year = 2016event = 'Referendum'print(f'Results of the {year} {event}')# Results of the 2016 Referendum

ต่อไป ลองมาเล่นกับ String กันสักหน่อยนะครับดูตัวอย่างด้านล่างนี้

s = '123456789'
print(s) # 123456789
print s[0] # 1
จากตัวอย่าง Python มอง String เป็น Object of array เราสามารถดึง ค่าใน index ใดๆ ออกมาได้เลย และยังสามารถดึงค่าหลาย Index ได้ด้วย ตามตัวอย่างด้านล่างprint s[0:] # 123456789
print s[2:] # 3456789

Python Input

จากตัวอย่างด้านบน เราทำการรอรับ Input ให้ user กรอกข้อมูลเข้ามา แล้วทำการแสดงผล โดยฟังก์ชันหลักก็คือ ฟังก์ชันที่ชื่อว่า Input นั่นเอง

Comment

ตัวอย่างการใช้งาน Comment ในภาษา Python มีอยู่สองแบบ ดังนี้

Python Type

ชนิดตัวแปรใน Python มีดังนี้

  • String
  • Numbers
  • Null
  • List
  • Dictionaries
  • Booleans

Strings

เราสามารถใช้ String ได้โดยการใช้เครื่องหมาย (“ “) หรือ (‘ ‘) ก็ได้ โดยจะให้ผลลัพธ์ เหมือนกัน ดังนี้

Numbers

เราสามารถเรียกใช้ number แต่ละประเภทได้ โดยไม่ต้องใส่ type นำหน้า หรือจะใส่ก็ได้ แบบนี้

Null

เราสามารถประกาศใช้งานตัวแปร แล้วกำหนดค่า Null ให้มัน ดังนี้

List

Type ของ List จะเป็นอะไรก็ได้ ซื่งจะถูกกำหนดค่าอยู่ภายใต้เครื่องหมาย []

Dictionaries
Dictionaries คือตัวแปรที่ประกอบด้วย Key และ Value ซึ่งค่าของทั้งสองนั้น จะมี Type เป็นอะไรก็ได้ ค่าของตัวแปรจะถูกกำหนดอยู่ภายใต้เครื่องหมาย {}

Dictionaries Methods
Dictionaries สามารถเรียกดู ค่าในลำดับของมันได้ โดยถ้าเราอยากได้ key ก็ใช้ key เช่นกัน หากอยากได้ value ก็ใช้ value เราสามารถเรียกค่าจะมันตรงๆได้เลย ตาม index เช่นเดียวกับ array

Booleans
ตัวแปรชนิด Booleans มีค่าอยู่สองค่าก็คือ True และ False

Arithmetric
การดำเนินการทางคณิตศาสตร์

String Manipulation
การจัดการกับสตริง

Logical Comparison
and, or, not, ==, !=, is, is not, in

ก่อนจะเข้าสุ่เรื่องต่อไป เดี๋ยวเราจะกลับมาลองใช้ vscode กันนะครับ
ให้ทำการเปิด vscodeขึ้นมา จากนั้น เราจะมาลง Extension เสริมกันก่อนนะครับ

ให้คลิกที่ Extension ด้านซ้ายมือ แล้วค้นหา Python extension for Visual Studio Code หลังจากนั้นก็คลิก install มันซะครับ (ของผมได้ทำการ Install ไปแล้ว)

ทำการติดตั้ง Python Extension

เมื่อทำการติดตั้งเสร็จ เราจะมาเปิด Terminal ใช้งานตามภาพด้านล่าง คีย์ลัดคือ (Alt+ `)

ทำการเปิดใช้งาน Terminal

ต่อมาลองพิมพ์คำสั่ง print ง่ายๆ

ลองพิมพ์คำสั่งง่ายๆ

ทดลองรันด้วยการคลิกขวา แล้วเลือก Run Python File in Terminal

ลองรัน Python File

ผลลัพธ์ที่ได้ก็จะปรากฎ Hello World! ขึ้นมาใน termainal

เอาล่ะครับ กลับเข้าสู่เนื้อหาต่อ โดยต่อไปนี้ให้เราเขียนโค้ด และรันด้วย Visual Code เลยแล้วกันนะครับ

Control Flow

- Conditionals
- For Loop
- Expanded For Loop
- While Loop
- List Comprehensions

Conditionals
ด้านล่างนี้เป็นตัวอย่าง if…elif และ if…else แบบง่ายๆ ซึ่งแน่นอน มันคือโปรแกรมตัดเกรดแบบง่าย ลองเขียนกันดูนะครับ

For Loop
ตัวอย่างด้านล่าง เป็น for loop อย่างง่าย ลองไล่การทำงานของ code ดูนะครับ

ตัวอย่าง code for loop

Expanded For Loop
ตัวอย่างการเข้าถึง Dictionaries ด้วย For Loop

While loop
ทำงานด้วย keyword while ตามด้วย condition จะจบการทำงานเมื่อ condition ตรงตามเงื่อนเขื่อนที่กำหนด ดูตัวอย่าง while loop อย่างง่ายด้านล่างครับ

ตัวอย่าง while loop

List Comprehensions
การใช้ For เข้าถึง หรือจัดการกับ ตัวแปร Type List ดูตัวอย่าง code ด้านล่างนะครับ

ตัวอย่าง List Comprehensions

Functions

- Basic Function
- Function Arguments
- Arbitary Arguments

Basic Function
Function ขึ้นต้นด้วย keywords def ตามด้วย ชื่อของ function และปิดด้วย ()
ดูตัวอย่างตาม code ด้านล่างนะครับ

ตัวอย่าง Basic Function

Function Arguments
ต่อไปจะเป็นตัวอย่างของ function ที่มีการส่ง Arguments เข้าไปในฟังก์ชันด้วย
ลองมาดูตัวอย่าง code ด้านล่างนะครับ

มี Function อยู่ 3 ฟังก์ชัน ได้แก่ add, shout และ echo ซึ่งแต่ละฟังก์ชันทำหน้าที่แตกต่างกัน รับค่า Parameter ต่างกัน

function add รับค่า Parameter ตาม position ของตัวแปรที่รอรับ
function shout รับค่า Parameter ตาม keyword
function echo รับค่า Parameter ตาม keyword และ Position

ลองรัน code ดูผลลัพธ์ตามนะครับ

ตัวอย่าง Function Arguments

Arbitrary Arguments
เป็นการรับค่า Parameter เข้ามาในฟังก์ชัน ซึ่งจะแยก Type ตามจำนวนของ * ดังนี้

*args เป็น Parameter ของตัวแปรชนิด Array 
**kwargs เป็น Parameter ของตัวแปรชนิด Dictionaries
ปล.ต้องใช้ type ให้ถูกต้องเท่านั้น ใช้ผิดบาปแน่นอน
Arbitrary Arguments
จากตัวอย่างด้านบน ตัวแปร *args และ **kwargs สามารถเปลี่ยนชื่อได้นะ แบบ code ด้านล่างนี้
Arbitrary Arguments#2

Class

ใน class ประกอบด้วย contructor ของ class ที่จะมีการถูกวิ่งเข้ามาทำงานก่อนในครั้งแรก ซึ่งจะไปเรียกใช้งาน Base Class ของ Python ที่ชื่อว่า Object

Class Declaration
ตูตัวอย่างการสร้าง Class อย่างง่ายจาก code ด้านล่าง

class ตามด้วย ชื่อคลาส(object) 
ปล. object จะใส่หรือไม่ใส่ก็ได้
Class Declaration

Class Attributes
ดูตัวอย่าง class ง่ายๆ ตาม code ด้านล่างครับ จาก code เราจะเรียก name และ is_staff ว่าเป็น Attributes ของ class
Attribute ที่สร้างขึ้น ไม่สามารถแก้ไขค่าได้ (Immutable)

Class Attributes

Class Methods
คือการสร้าง function ภายใน class ดูตัวอย่าง code ด้านล่างครับ

Class Methods

Class Instantiation & Attribute Access
การเข้าถึง Instant และ Attribute ของ Class

Class Instantiation & Attribute Access

Class Inheritance
การสืบทอด Class จากตัวอย่าง code เราทำการสืบทอดคุณสมบัติของ Class User มาไว้ใน Class ใหม่ซึ่งก็คือ SuperUser และสามารถเปลี่ยนแปลงค่า Instance ใน Class ลูกได้

Class Inheritance

เนื้อหาใน ฺBasic Python 1 นี้ เป็นการรวบรวมพื้นฐานที่ควรจะรู้ไว้ ในการเขียนโปรแกรมด้วยภาษา Python เดี๋ยวต่อไป เราจะไปดูเรื่องของ Python Network Programming กันใน Basic Python 2: Python Network Programming

ใครมีข้อสงสัย หรือพบข้อผิดพลาดอะไร ในบทความก็แวะเข้ามาติชม พูดคุย คอมเมนต์กันได้นะครับ :)

Link บทความที่เกี่ยวข้อง
- Basic Python 2: Python Network Programming
- ESP8266 With MicroPython Coming soon…

--

--

Anu Sakpibal

I’m miscellaneous developer. Work with Javascipt, C#, Python, iot @Dectre <code ’n’ craft lover/> https://github.com/nuSapb