Skip to content
Home » [Update] Machine Learning ภาคผนวก 2: Python อย่างสั้นที่สุด | orange อ่านว่า – NATAVIGUIDES

[Update] Machine Learning ภาคผนวก 2: Python อย่างสั้นที่สุด | orange อ่านว่า – NATAVIGUIDES

orange อ่านว่า: นี่คือโพสต์ที่เกี่ยวข้องกับหัวข้อนี้

Table of Contents

Python อย่างสั้นที่สุด

โดย ชิตพงษ์ กิตตินราดร | มกราคม 2563

บทนี้จะแนะนำ Python สำหรับผู้ที่ไม่มีพื้นฐานการเขียนโค้ดเลย โดยจะอธิบายเฉพาะเรื่องพื้นฐานที่สำคัญจริงๆ อย่างสั้นและกระชับที่สุด เพื่อให้สามารถเริ่มต้นได้และสามารถใช้ Machine learning framework เช่น scikit-learn และ TensorFlow

ขอย้ำอีกรอบ ว่าสิ่งที่แนะนำนี้ไม่ได้ครบถ้วนสมบูรณ์ตามหลักวิชาการ แต่เน้นกระชับ สั้น ง่าย ให้เริ่มต้นเรียนรู้ได้เท่านั้น

Python เป็นภาษาคอมพิวเตอร์แบบ High-level นั่นหมายความว่าเราสามารถสั่งให้ Python ทำสิ่งต่างๆ ได้ในลักษณะที่คล้ายกับภาษาคน โดยไม่ต้องไปสนใจเรื่อง “หลังบ้าน” ของคอมพิวเตอร์มากนัก เช่นการจัดการหน่วยความจำ การระบุประเภทตัวแปร เป็นต้น ทำให้เขียนง่าย อ่านง่าย เข้าใจง่าย

นอกจากนั้น Python ยังเป็นภาษาแบบ Interpret หมายความว่าเวลาเราเรียก Script หรือโปรแกรมที่เขียนด้วย Python เครื่องก็จะตีความ คำนวน และแสดงผลทันที โดยไม่ต้องสั่งแปลงเป็นภาษาเครื่องก่อนจะรันโปรแกรม (เรียกว่าการ Compile) ทำให้สะดวกรวดเร็วในการพัฒนาโปรแกรม แต่แลกมากับการที่ความเร็วและประสิทธิภาพในการคำนวนจะด้อยกว่าภาษาที่ต้อง Compile เช่น C++ เป็นต้น

ปัจจุบัน Python เป็นภาษา “มาตรฐาน” สำหรับงานวิทยาศาสตร์ข้อมูล, AI, Machine learning นอกจากนั้นยังใช้ในอีกหลายวงการ เช่นการสร้างเว็บไซต์ ผ่าน Framework เช่น Django และ Flask เป็นต้น

การติดตั้งและใช้งาน Python

ขั้นแรกให้โหลด Python มาติดตั้งก่อน โดยเข้าไปที่เว็บไซต์ของ Python ไปที่หน้า Downloads และทำตามคำแนะนำได้เลย

อย่างไรก็ตาม ถ้าจะใช้ Python ในงานวิทยาศาสตร์ข้อมูล, AI, Machine learning แนะนำวิธีติดตั้งอีกแบบ คือการติดตั้ง Python และ Library มาตรฐานที่มักจะได้ใช้แบบรวดเดียวจบ ผ่าน Anaconda ก็จะได้ Library พื้นฐาน เช่น numpy, pandas, matplotlib มาเลย ส่วน scikit-learn และ TensorFlow ก็สามารถติดตั้งได้ง่ายๆ โดยใช้คำสั่ง conda ใน Commandline เช่น conda install scikit-learn และ conda install tensorflow เป็นต้น รายละเอียดเรื่องการติดตั้งและจัดการ Package จะไม่อธิบายมาก สามารถอ่านและศึกษาได้โดยตรง

การเขียนโค้ดและเรียกโปรแกรมที่เขียนด้วย Python มีหลายวิธี ดังนี้

  • iPython: เรียก ipython จาก Commandline จะสามารถเขียนโค้ดและรันทีละบรรทัดๆ เหมาะสำหรับการทำลองไอเดียสั้นๆ เร็วๆ หรือใช้ Python เป็นเครื่องคิดเลข
  • IDE: ใช้ Python ผ่านโปรแกรมที่เป็นสภาพแวดล้อมสำหรับการเขียนโค้ดโดยเฉพาะ เช่น PyCharm หรือ Spyder โดยสามารถติดตั้งและเรียกใช้ IDE เหล่านี้ได้เอง
  • Jupyter Lab: ใช้ Python ผ่าน Jupyter Notebook (ปัจจุบันพัฒนาเป็นรุ่นใหม่ เรียกว่า Jupyter Lab) โดยการเรียก jupyter lab จาก Commandline จะเปิดเว็บขึ้นมาในลักษณะ Web-based IDE นั่นเอง สำหรับงาน Data science/ML แนะนำวิธีนี้ เพราะสามารถแยกโค้ดเป็น Cell ย่อยๆ และสามารถใส่ Cell ที่เป็นข้อความธรรมดาเพื่ออธิบายโค้ดของเราควบคู่ไปได้

การคำนวน

เมื่อเรียกใช้ Python ผ่านช่องทางที่ถนัดแล้ว ก็มาเริ่มกันเลย

การคำนวนและการแสดงผล ทำได้ง่ายมาก เช่น:

2*0.5/3

จะได้คำตอบเป็น 0.3333333333333333 สังเกตว่าถ้าเราคำนวนหลายๆ อย่างใน Term เดียว เราอาจจะไม่แน่ใจว่า Python จะคำนวนสัญลักษณ์ไหนก่อน ซึ่งจริงๆ มีลำดับที่ชัดเจน แต่ถ้าไม่อยากจำ แนะนำว่าให้ใส่วงเล็บให้ชัดเจนไปเลย เช่น:

(2*0.5)/3

นอกจากบวก + ลบ - คูณ * หาร / ยังมี Operator ที่น่ารู้ เช่น ยกกำลัง ** Floor division // (หารไม่เอาเศษ) และ Modulus % (หารแล้วเอาแค่เศษ) สามารถดูเพิ่มเติมได้จากเว็บต่างๆ เช่นที่นี่

Variables: การกำหนดตัวแปร

เวลาเราเขียนโค้ด เรามักจะต้องการเก็บข้อมูลบางอย่างเอาไว้ก่อนเพื่อเรียกใช้ภายหลัง เราเรียกที่เก็บข้อมูลนี้ว่าตัวแปร หรีอ Variable

ตัวอย่างเช่น:

age = 50
name = "John"
print(age)
print(name)

จะได้คำตอบคือ:

50
John

สังเกตว่า ค่าของตัวแปรที่เป็นตัวเลข สามารถใส่ได้เลย ส่วนถ้าเป็นตัวหนังสือ ต้องใช้ Quotation ครอบไว้ จะใช้ " หรือ ' ก็ได้

เราใช้ฟังก์ชัน print() เพื่อแสดงผลสิ่งที่อยู่ในวงเล็บ เราเรียกสิ่งที่อยู่ในวงเล็บว่า Argument โดยในที่นี้เราจะใส่ตัวแปรของเราเป็น Argument ทำให้ Python print ค่าของตัวแปรของเราออกมา อนึ่ง Argument อาจมีได้หลายอัน ขึ้นอยู่กับว่า Function นั้นรองรับ Argument อะไรบ้าง โดยเราใช้ Comma , คั่นระหว่างแต่ละ Argument ซึ่งเดี๋ยวเราจะเห็นตัวอย่างเมื่ออธิบาย Function อื่นๆ ต่อไป

ทีนี้เราจะลองใช้ประโยชน์จากตัวแปร โดยเราต้องการที่จะบอกว่า John อายุ 50 ปี:

print(name + ' is ' + str(age) + ' years old.')

ได้คำตอบว่า:

John is 50 years old.

ลองมาดูกันว่าเกิดอะไรขึ้นบ้าง:

  • เครื่องหมาย + ในที่นี้ คือการเอาข้อความ (เรียกว่า String) มาต่อกัน (เรียกการกระทำแบบนี้ว่า Concatenate)
  • การ Concatenate จะต้องทำระหว่างข้อมูลประเภทเดียวกันเท่านั้น เช่น String กับ String ดังนั้น เราจึงต้องแปลงตัวแปร age จากตัวเลขจำนวนเต็ม (Integer หรือ int) ให้เป็นข้อความ (String หรือ str) ด้วยการเรียกฟังก์ชัน str()
  • สังเกตว่าเราเว้นวรรคบางจุด เช่น ก่อนและหลัง is และก่อน years old เพื่อให้ข้อความที่ออกมามีการเว้นวรรคที่ถูกต้อง เพราะการ Concatenate ไม่ได้เว้นวรรคให้เรา

ทีนี้ถ้าเรากำหนดตัวแปรใหม่ เช่น age = 35 แล้วเรียก print เหมือนเดิมอีกรอบ Output ที่ได้ก็จะเปลี่ยนตามตัวแปรใหม่ นั่นก็คือ John is 35 years old.

Data types: ประเภทของข้อมูล

ตัวแปรสามารถเก็บข้อมูลได้หลายประเภท เราจะทำความรู้จักประเภทข้อมูลพื้นฐานที่สำคัญและใช้บ่อยดังนี้:

  • Text str
  • Numerical int, float
  • Sequence list, tuple
  • Mapping dict
  • Boolean bool

String

เรารู้จัก String กันแล้วก่อนหน้านี้ String มีคุณสมบัติที่น่าสนใจบางอย่าง เช่น:

1) String เป็น Array หมายความว่าตัวอักษรแต่ละตัวจะถูกมองว่าเป็นข้อมูล 1 ชิ้น ดังนั้นเราจึงสามารถจัดการตัวอักษรใน String ได้หลากหลาย เช่น:

หาความยาว โดยใช้ฟังก์ชัน len()

a = "Hello, World!"
print(len(a))

ได้คำตอบคือ 13

ตัดเอา Space ว่างท้าย String ออก โดยใช้ Method .strip() (Method คือฟังก์ชันที่ใช้ได้กับตัวแปร โดยการนำไปต่อท้ายตัวแปรได้ทันที เพื่อกระทำการบางอย่างกับข้อมูลในตัวแปรนั้น ลองดูตัวอย่างข้างล่าง)

a = " Hello, World! "
print(a.strip())

ได้คำตอบว่า Hello, World! โดยไม่มี Space หลัง !

แยกคำออกจากกัน โดยใช้ Method .split()

a = "My name is John."
print(a.split())

จะเป็นการแยกประโยคออกเป็นคำๆ โดยแยกที่ Space ได้ผลคือ ['My', 'name', 'is', 'John.'] ทั้งนี้สามารถกำหนดได้ว่าให้แยกที่พบอักษรอะไร เช่น a.split(",") คือให้แยกเมื่อพบ Comma เป็นต้น

สังเกตว่า ['My', 'name', 'is', 'John.'] เป็นข้อมูลประเภท List ซึ่งจะอธิบายภายหลังว่าคืออะไร ตอนนี้เพียงให้รู้ว่า List นี้มีข้อมูล 4 รายการ คือคำแต่ละคำนั่นเอง คั่นด้วย Comma

เลือกเฉพาะบางตัวอักษรตามลำดับที่ เป็นความสามารถที่เรียกว่า Slicing ซึ่งใช้ได้กับทุกอย่างที่มีลักษณะเป็น Array หลักการคือ Python จะกำหนดให้ข้อมูลชิ้นแรกมีรหัส Index 0 และเพิ่มขึ้นทีละ 1 ต่อไปเรื่อยๆ ดังนั้น:

a = "Hello, World!"
print(a[1])

จะได้ e

เราสามารถเลือก Slicing เป็น Range ได้ โดยใช้ Colon : คั่น โดยจะนับ Index เริ่มต้นเป็นชิ้นแรก (Inclusive) แต่ Index ตัวขบขะไม่นับตัวมันเอง (Exclusive) ตัวอย่างเช่น:

a = "Hello, World!"
print(a[2:5])

จะได้ llo

สุดท้าย ถ้าใน String มีเครื่องหมายที่ปกติจะถูกตีความว่ามีความหมายพิเศษ เช่น " เราจะไม่สามารถใส่เครื่องหมายนั้นลงไปได้ตรงๆ ถ้าอยากใส่ ต้องใช้ Backslash \ ไว้ก่อน เราเรียก \ ว่า Escape character ตัวอย่างเช่น:

print("My name is \"John\".")

จะได้ My name is "John".

แถม Escape character ที่มีประโยชน์มาก คือ \n คือการขึ้นบรรทัดใหม่ ส่วน \t คือ Tab

อ่านเพิ่มเติมเกี่ยวกับ String ได้ที่นี่

Int และ Float

Int (Integer) คือจำนวนเต็ม เช่น -1, 0, 5, 100 ส่วน Float คือจำนวนที่มีทศนิยม เช่น -0.12, 5.816497 เป็นต้น เราสามารถดูได้ว่าตัวเลขของเราคือประเภทอะไร โดยใช้ฟังก์ชัน type() เช่น:

x = 1
y = 2.5

print(type(x))
print(type(y))

จะได้:

<class 'int'>
<class 'float'>

เราสามารถแปลงระหว่าง int กับ float ได้ โดยใช้ฟังก์ชัน int() และ float()

List

List เป็นข้อมูลแบบ Array ที่มีสมาชิกหลายตัว สามารถผสมสมาชิกประเภทต่างๆ กันได้ และสามารถสลับตำแหน่ง เปลี่ยนแปลงข้อมูลได้ จึงใช้งานได้หลายวัตถุประสงค์ยืดหยุ่นมาก เราสามารถสร้าง List โดยการใช้ Bracket [] เช่น:

emptylist = []
print(emptylist)

ก็จะได้ List ว่างๆ คือ [] ส่วน List ที่มีสมาชิก ก็ใส่สมาชิกนั้นลงไปเลย คั่นแต่ละตัวด้วย Comma เช่น:

fruitlist = ["apple", "banana", "cherry"]
print(fruitlist)

ก็จะได้ ['apple', 'banana', 'cherry']

สมมุติเราอยากเลือกแค่ banana กับ cherry ก็ใช้ Slicing ได้ เช่น:

fruitlist = ["apple", "banana", "cherry"]
print(fruitlist[1:])

ก็จะได้ ['banana', 'cherry'] สังเกตว่าตอน Slice ถ้าเราไม่ใส่ Index ตัวจบ ก็แปลว่าให้เลือกไปจนถึงสมาชิกตัวสุดท้าย โดยรวมตัวสุดท้ายด้วย ในทางกลับกัน ถ้าไม่ใส่ Index ตัวเริ่ม ก็คือให้เริ่มที่สมาชิกตัวแรกเลย

เราสามารถเปลี่ยนสมาชิกใน List ง่ายๆ เช่น:

fruitlist = ["apple", "banana", "cherry"]
fruitlist[1] = "pineapple"
print(fruitlist)

จะได้ ['apple', 'pineapple', 'cherry'] ทันที

ส่วนถ้าจะเพิ่มสมาชิก ก็ทำได้โดยใช้ Method .append() เช่น:

fruitlist = ["apple", "banana", "cherry"]
fruitlist.append("orange")
print(fruitlist)

จะได้ ['apple', 'banana', 'cherry', 'orange']

นอกจากนี้ยังมีการแทรกสมาชิก ใช้ .insert(index, object) โดยใส่ Index ที่ต้องการแทรกลงไปเป็น Argument ก่อนจะใส่ Object ที่ต้องการแทรก ส่วนการลบสมาชิก ก็สามารถใช้ .remove(object) ซึ่งใส่ชื่อ Object เป็น Argument หรือไม่ก็ .pop(index) ซึ่งใช้หมายเลข Index เป็น Argument (ถ้าไม่ใส่จะหมายถึงให้เอารายการสุดท้ายออก)

ถ้าต้องการลบสมาชิกทั้งหมดใน List ให้เหลือ List ว่างๆ ก็ใช้ .clear()

สุดท้าย เราสามารถเอา List มาต่อกันได้ โดยการใช้เครื่องหมาย + เช่น:

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

list3 = list1 + list2
print(list3)

จะได้ ['a', 'b', 'c', 1, 2, 3]

สุดท้าย เราสามารถนับจำนวนสมาชิกใน List ได้ โดยใช้ฟังก์ชัน len() เช่นเดียวกับการนับจำนวนตัวอักษรใน String

List จะมีประโยชน์มากเมื่อใช้คู่กับ For loop ซึ่งจะอธิบายในส่วนถัดๆ ไป

สามารถอ่านเรื่อง List เพิ่มเติมได้ที่นี่

Tuple

Tuple เป็นข้อมูลแบบ Array ที่มีสมาชิกหลายตัวคล้ายกับ List ต่างกันที่ Tuple นั้นไม่สามารถเปลี่ยนแปลงข้อมูลข้างในได้ เราสามารถสร้าง Tuple โดยใช้วงเล็บ () เช่น:

emptytuple = ()
print(emptytuple)

ก็จะได้ List ว่างๆ คือ () ส่วนคุณสมบัติอื่นๆ ก็เหมือนกับ List ต่างตรงที่ไม่สามารถเพิ่ม ลบ สิ่งที่อยู่ใน Tuple ได้

อ่านเพิ่มเกี่ยวกับ Tuple ได้ที่นี่

Dictionary

Dictionary เป็นประเภทข้อมูลที่เก็บข้อมูลแต่ละตัวเป็นคู่ ซึ่งประกอบด้วยรหัส (Key) กับค่า (Value) เรียกว่า Key-value pair เราสามารถสร้าง Dictionary ด้วยการใช้วงเล็บปีกนก {} ตัวอย่างเช่น:

profiledict = {
    "name": "John",
    "age": 50,
    "sex": "male"
}

print(profiledict)

จะได้ {'name': 'John', 'age': 50, 'sex': 'male'} สังเกตว่าข้อมูลแต่ละคู่จะใช้ Comma แบ่ง

เราสามารถเรียก Value ของ Key-value pair โดยการเรียก Key ที่ต้องการ โดยเรียกใน Bracket เช่น:

print(profiledict["name"])

ก็จะได้ Value ของ Key "name" นั่นก็คือ "John"

อีกวิธีในการเรียก Value คือการใช้ Method get(key) ก็ได้ผลเหมือนกัน

เราสามารถเปลี่ยน Value ได้ โดยการเรียก Key แล้วกำหนด Value ใหม่โดยใช้เครื่องหมาย = เช่น:

profiledict = {
    "name": "John",
    "age": 50,
    "sex": "male"
}

profiledict["age"] = 35

print(profiledict)

ก็จะได้ {'name': 'John', 'age': 35, 'sex': 'male'} ตามที่ต้องการ

การเพิ่ม Key-value pair ใหม่ใน Dict ให้ทำเหมือนกับการเปลี่ยน Value โดยกำหนด Key และ Value ตามที่ต้องการได้เลย เช่น:

profiledict = {
    "name": "John",
    "age": 50,
    "sex": "male"
}

profiledict["address"] = "Bangkok"

print(profiledict)

จะได้ {'name': 'John', 'age': 50, 'sex': 'male', 'address': 'Bangkok'}

ส่วนการลบ Key-value pair ก็ใช้ Method .pop(key)

การ Loop สมาชิกใน Dictionary โดยปกติจะได้ Key ออกมา แต่ถ้าอยากได้ Value ก็สามารถทำได้ โดยจะอธิบายในส่วน For loop

อ่านเพิ่มเกี่ยวกับ Dictionary ได้ที่นี่

Boolean

Boolean คือข้อมูลที่มีสองค่าเท่านั้น คือ True หรือ False โดย Python จะพิจารณาจาก Expression ที่ใส่ เช่น:

print(10 > 9)
print(10 == 9)
print(10 < 9)

คำตอบคือ:

True
False
False

สังเกตว่า เวลาเปรียบเทียบความเท่ากัน ใช้ == ไม่ใช่ = เพราะ = เป็นเครื่องหมายสำหรับการกำหนดค่าให้กับตัวแปร (Assignment) ไม่ใช่การเปรียบเทียบว่าจริงหรือไม่ (Validation)

สำหรับรายละเอียดอื่นๆ อ่านเพิ่มได้ที่นี่

Conditions: การกำหนดเงื่อนไข

บ่อยครั้งที่เราต้องการให้โค้ดของเรามีความฉลาด เช่นสามารถทำสิ่งหนึ่งภายใต้เงื่อนไขบางอย่าง หรือให้ทำสิ่งเดิมวนซ้ำๆ จนกระทั่งบรรลุถึงเงื่อนไขที่ต้องการ ความสามารถแบบนี้เรียกว่า Conditions หรือบางทีก็เรียกว่า Flow control เป็นหัวใจของการเขียนโค้ด ควรจะเรียนรู้ไว้ให้คล่อง

เราจะทำความรู้จัก Conditions 3 รูปแบบ คือ:

  • If…Else
  • For loop
  • While loop

If…Else

เราสามารถกำหนดให้โปรแกรม เรียกโค้ดบรรทัดหนึ่งๆ ก็ต่อเมื่อเงื่อนไขบางอย่างเป็นจริง

If: การกำหนดเงื่อนไข ทำได้โดยการเขียน if เว้นวรรค ตามด้วย Statement ที่เป็นเงื่อนไข ตามด้วย Colon : เช่น:

a = 10
b = 25

if b > a:
  print("b is greater than a")

เนื่องจากในกรณีนี้ b มากกว่า a ตามเงื่อนไขใน if (statement): Python ก็จะเรียกโค้ดที่อยู่บรรทัดถัดไป โดยจะเรียกเฉพาะบรรทัดที่ถูก Indent เท่านั้น การ Indent ทำได้โดยการกด Tab หรือเคาะ Space 2 หรือ 4 ที

Elif: ถ้าเราต้องการสร้างเงื่อนไขต่อไป ในกรณีที่เงื่อนไขแรกไม่เป็นจริง ก็ใช้ elif ซึ่งย่อมาจาก Else if เช่น:

a = 25
b = 25

if b > a:
    print("b is greater than a")
elif b == a:
    print("b equals a")

Else: แต่ถ้าเราต้องการเพียงแค่จะดักเงื่อนไขที่ไม่เป็นจริงจาก If ด้านบน ก็เพียงใช้ else ดังนี้:

a = 50
b = 25

if b > a:
    print("b is greater than a")
else:
    print("b is not greater than a")

And/Or: ใน Statement เราสามารถใช้ Operator and หรือ or เชื่อม 2 Statement เข้าด้วยกัน เพื่อสร้างเงื่อนไขที่เจาะจงขึ้นได้ โดย and แปลว่าจะต้องเป็นจริงทั้ง 2 Statement ส่วน or เป็นจริง Statement เดียวก็ถือว่าจริง

สามารถศึกษาเพิ่มเติมเกี่ยวกับ If…Else ได้ที่นี่

For loop

For loop ใช้สำหรับการวนโค้ดซ้ำๆ ตามสมาชิกของข้อมูลแบบ Text, Sequence, และ Mapping นั่นก็คือ str, list, tuple, และ dict สำหรับผู้เริ่มต้นอาจจะงง จึงให้ลองดูตัวอย่างดังนี้:

for i in "banana":
    print(i)

จะได้ Output ว่า:

b
a
n
a
n
a

หลักการทำงานของ For loop คือการกำหนดตัวแปรขึ้นมาตัวหนึ่ง เช่น i (นิยมใช้ เพราะย่อมาจาก Iteration แปลว่าการทำซ้ำเป็นรอบ) แล้วกำหนดค่า i ให้เป็นสมาชิกแต่ละตัวตั้งแต่ตัวแรกไปจนถึงตัวสุดท้าย โดยให้กระทำกับ i ตามโค้ดที่ถูก Indent ไว้ เช่นในที่นี้ ก็เพียงให้พิมพ์ค่า i ออกมา โดยการวนแต่ละรอบ จะ Output ออกหนึ่งบรรทัด พอวนรอบถัดไป ก็ Output ออกบรรทัดใหม่ ทำอย่างนี้ไปเรื่อยๆ จนถึงสมาชิกตัวสุดท้าย

ลองมาดู For loop สำหรับ List กัน:

fruitlist = ["apple", "banana", "cherry"]

for i in fruitlist:
    print(i)

จะได้:

apple
banana
cherry

หลายคนอาจสงสัยว่า จะทำอย่างนี้ไปทำไม คำตอบคือมันจะมีประโยชน์เมื่อไปผสมกับอย่างอื่นที่ทำให้ Output นั้นมีความหมาย ตัวอย่างเช่น:

fruitlist = ["apple", "banana", "cherry"]
count = 1

for i in fruitlist:
    print("Fruit number " + str(count) + " is " + i + ".")
    count = count + 1

print("There are " + str(count-1) + " fruit types.")

Output ที่ได้คือ:

Fruit number 1 is apple.
Fruit number 2 is banana.
Fruit number 3 is cherry.
There are 3 fruit types.

อธิบายดังนี้:

  • เรามีข้อมูลตั้งต้นเป็น List ของประเภทผลไม้ เราต้องการให้โปรแกรมระบุลำดับที่ของประเภทผลไม้ พร้อมกับบอกว่าเป็นประเภทอะไร นอกจากนั้น เรายังอยากให้โปรแกรมสรุปว่าสุดท้ายผลไม้ใน List มีทั้งหมดกี่ประเภท
  • เมื่อได้โจทย์แล้ว ก็ต้องวางแผน จะเห็นว่าเราต้องการนับลำดับที่ของผลไม้ โดยให้ตัวเลขเพิ่มขึ้นเรื่อยๆ ดังนั้น เราจะกำหนดตัวแปรสำหรับลำดับที่ที่จะแสดงผล โดยกำหนดไว้เป็น 1 ก่อน ด้วยการกำหนด count = 1
  • จากนั้นก็เริ่มวน For loop โดยใน Loop ให้พิมพ์ count และ i ซึ่งก็คือชื่อผลไม้ใน List นั่นเอง
  • ตอนเราจะจบ Loop แต่ละรอบ เราจะต้องเปลี่ยนตัวแปร count ให้เพิ่มขึ้นรอบละ 1 ซึ่งทำได้โดยการกำหนด count = count + 1 หรือจะย่อว่า count += 1 ก็ได้
  • ดังนั้น พอผ่านรอบแรกมาถึงจุดนี้ count จะเท่ากับ 2 เมื่อ For loop วนรอบสอง ก็จะแสดงค่า count ของรอบนี้ เป็น 2 ตามที่ต้องการ ซึ่งจับคู่กับ banana ทำอย่างนี้ไปเรื่อยๆ จนจบ List
  • สุดท้าย เราจะสรุปจำนวนประเภทผลไม้ ซึ่งก็คือ count แต่ต้องลบ 1 เพราะรอบสุดท้าย คือรอบที่ 3 ได้จบรอบด้วยการบวก count ไปอีก 1 ทำให้ count ตอนจบเท่ากับ 4 ตอนพิมพ์จำนวนสรุปตอนจบนี้ ต้องทำ “นอก Loop” นั่นคือให้กลับไปสร้าง Statement ที่ไม่ได้อยู่ใน Indent นั่นเอง เพราะถ้ายังอยู่ใน Indent โปรแกรมก็จะเรียกโค้ดบรรทัดนี้ทุกครั้งที่วน Loop ซึ่งไม่ใช่สิ่งที่เราต้องการ
  • อนึ่ง วิธีการสรุปจำนวนรายการใน List ที่ง่ายกว่านั้น คือการใช้ฟังก์ชัน len(object) เช่น print("There are " + str(len(fruitlist)) + " fruit types.") สังเกตว่าเราใช้ str() คลุมรอบ len() อีกที เพราะ len() ให้ผลเป็นตัวเลข ซึ่งเอามา Concatenate กับ Text ไม่ได้ ต้องเปลี่ยนตัวเลขให้เป็น str เสียก่อน

เราสามารถหยุด For loop ได้ด้วยการใช้ break และ continue

1) break จะหยุด For loop ก่อนที่จะวนครบทุกรายการ โดยจะรันรายการล่าสุดเป็นรายการสุดท้าย:

fruits = ["apple", "banana", "cherry"]
for i in fruits:
    print(i)
    if i == "banana":
        break

จะได้:

apple
banana

2) continue จะข้ามรายการล่าสุด แล้วไปต่อที่รายการถัดไป:

fruits = ["apple", "banana", "cherry"]
for i in fruits:
    if i == "banana":
        continue
    print(i)

จะได้:

apple
cherry

สามารถศึกษาเพิ่มเติมเกี่ยวกับ For loop ได้ที่นี่

While loop

While loop เป็นการวนซ้ำตราบใดที่เงื่อนไขยังคงเป็นจริง เช่น:

i = 1
while i < 6:
    print(i)
    i += 1

จะได้:

1
2
3
4
5

การใช้ While loop ให้ระวังอย่าลืมบวก i เพิ่ม เพื่อให้มีจุดที่ Loop จะวนจนไปชนเงื่อนไขที่ไม่เป็นจริง มิฉะนั้น หากเงื่อนไขเป็นจริงเสมอ While loop ็จะวนตลอดกาล

การหยุด While loop สามารถใช้ break และ continue ได้เช่นเดียวกับ For loop

สามารถศึกษาเพิ่มเติมเกี่ยวกับ While loop ได้ที่นี่

Function: ฟังก์ชัน

Function คือกลุ่มโค้ดที่จะรันต่อเมื่อถูกเรียกใช้เท่านั้น การสร้างฟังก์ชัน ให้ใช้ def เว้นวรรค ตามด้วยชื่อฟังก์ชันที่ต้องการ ตามด้วย Colon : ตัวอย่างเช่น:

def greeting():
    print("Hello!")

พอจะเรียกฟังก์ชัน ก็เพียงเรียก greeting() ก็จะได้:

Hello!

สังเกตว่าที่ผ่านมา เรารู้จักกับฟังก์ชันที่มาพร้อมกับ Python หลายตัวแล้ว เช่น str() หรือ len() ฟังก์ชันเหล่านี้ก็เหมือนกับฟังก์ชันที่เราสร้างขึ้นเอง ต่างกันที่ Python เตรียมมาให้เราแล้วเท่านั้นเอง

Argument

เราสามารถใส่ข้อมูลเข้าไปในฟังก์ชัน เพื่อให้ฟังก์ชันทำอะไรบางอย่างกับข้อมูล แล้วให้ผลลัพธ์ออกมาได้ โดยผลลัพธ์ก็สามารถออกมาเป็นข้อมูลได้เช่นกัน ข้อมูลที่เราใส่ในฟังก์ชัน เรียกว่า Argument (บางทีก็เรียกว่า Parameter เวลาพูดถึงตัวแปรที่อยู่ในวงเล็บตอนสร้างฟังก์ชัน) โดยใส่ในวงเล็บที่ต่อท้ายชื่อฟังก์ชันตอนเราสร้างฟังก์ชัน ตัวอย่างเช่น:

def greeting(name):
    print("Hello, " + name + "!")

เวลาเรียกฟังก์ชัน ก็ใส่ Argument ที่เราต้องการลงไป เช่น:

greeting("John")

ก็จะได้:

Hello, John!

ถ้าเรากำหนด Argument กี่ตัวตอนสร้าง Function ตอนเรียกเราก็ต้องใส่ Argument จำนวนเท่ากัน เข่น:

def greeting(fname, lname):
    print("Hello, " + fname + " " + lname + "!")

เวลาเรียกฟังก์ชัน ก็ใส่ Argument ทั้งสองลงไปตามลำดับ เช่น:

greeting("John", "Doe")

ก็จะได้:

Hello, John Doe!

หากเราไม่รู้ว่าตอนเรียกฟังก์ชัน จะมี Argument ที่ป้อนเข้าไปกี่ตัว เราสามารถทำดังนี้ตอนสร้างฟังก์ชัน:

1) ใช้ Arbitary argument หรือ *args โดยการใส่ * ก่อนชื่อ Parameter ตอนสร้างฟังก์ชัน วิธีนี้จะเป็นการส่ง Tuple เข้าไปในในฟังก์ชัน โดยไม่ต้องระบุจำนวน Argument ที่แน่นอน ตัวอย่างเช่น:

def fruitlist(*fruit):
    print("The last fruit is " + fruit[-1] + ".")

fruitlist("apple", "banana", "cherry")

ก็จะได้ The last fruit is cherry. สังเกตว่าในฟังก์ชัน เราเลือกผลไม้รายการสุดท้ายโดยการ Slice ด้วย [-1] ซึ่งหมายถึงรายการสุดท้าย

2) ใช้ Keyword argument หรือ kwargs โดยการใส่ Key-value เข้าไปในฟังก์ชัน โดยตอนเรียกให้เรียก Key ก็จะได้ Value วิธีนี้ต้องระบุจำนวน Argument ที่แน่นอน เช่น:

def fruitlist(fruit1, fruit2, fruit3):
    print("The last fruit is " + fruit3 + ".")

fruitlist(fruit1 = "apple", fruit2 = "banana", fruit3 = "cherry")

ก็จะได้ The last fruit is cherry. เช่นเดิม

3) ใช้ Arbitary keyword argument หรือ **kwargs โดยการใส่ ** ก่อนชื่อ Parameter ตอนสร้างฟังก์ชัน วิธีนี้จะเป็นการส่ง Dictionary ของ Argument เข้าไปในฟังก์ชัน โดยตอนเรียกก็เรียก Key จะได้ Value ออกมา วิธีนี้ไม่ต้องระบุจำนวน Argument ที่แน่นอน เช่น:

def fruitlist(**fruits):
    print("The last fruit is " + fruits["fruit3"] + ".")

fruitlist(fruit1 = "apple", fruit2 = "banana", fruit3 = "cherry")

ก็จะได้ The last fruit is cherry. เช่นเดียวกัน

ใช้ List และ Dictionary เป็น Argument

เราสามารถใส่ List หรือ Dictionary ที่กำหนดไว้แล้ว ลงไปเป็น Argument ได้ เช่น:

fruits = ["apple", "banana", "cherry"]

def fruitlist(fruits):
    print("The last fruit is " + fruits[-1] + ".")

fruitlist(fruits)

หรือ:

fruitdict = {
    "fruit1": "apple",
    "fruit2": "banana",
    "fruit3": "cherry"
}

def fruitlist(fruitdict):
    print("The last fruit is " + fruitdict["fruit3"] + ".")

fruitlist(fruitdict)

ก็จะได้ The last fruit is cherry. เช่นเดียวกันทั้งหมด

Return value

เราสามารถให้ฟังก์ชัน Output ค่าออกมาได้ เช่น:

def bmi(weight, height):
    return weight/(height**2)

bmi(70, 1.72)

สามารถศึกษาเพิ่มเติมเกี่ยวกับ Function ได้ที่นี่

Library import: การเรียกใช้ Library

Python มี Library ที่ขยายความสามารถเฉพาะทางให้เลือกใช้จำนวนมาก เช่น numpy เป็น Library สำหรับการประมวลผลแบบ Array หลายมิติที่มีประสิทธิภาพสูง หรือ pandas เอาไว้จัดการข้อมูลแบบตาราง เป็นต้น

ก่อนจะใช้ Library เหล่านี้ เราต้องติดตั้งเสียก่อน โดยถ้าใช้ Python ปกติ ก็ใช้ pip เป็นตัวติดตั้งและจัดการ Package เช่น pip install numpy ส่วนถ้าใช้ Anaconda ที่แนะนำในตอนแรก ก็ใช้คำสั่ง conda จัดการ เช่น conda install numpy เป็นต้น

การเรียกใช้ Library มีสองวิธีใหญ่ๆ ได้แก่:

1) เรียกโดยตรง โดยใช้ import เช่น:

import numpy

เวลาจะใช้งาน ก็ต้องเรียก numpy ก่อน เช่น:

a = numpy.array([[1, 2], [3, 4]])

2) เรียกโดยการเปลี่ยนชื่อ หรือที่เรียกว่า Alias เพื่อย่นชื่อให้สั้นลงโดยใช้ as จะได้เรียกใช้สะดวก เช่น:

import numpy as np

เวลาจะใช้งาน ก็สามารถเรียก np ได้เลย เช่น:

a = np.array([[1, 2], [3, 4]])

3) เรียกเฉพาะบางฟังก์ชันหรือ Class ที่จะใช้ โดยใช้ from...import เช่น:

from numpy import array

เวลาเรียก ก็เรียกชื่อฟังก์ชัน array เลย เช่น:

a = array([[1, 2], [3, 4]])

สามารถศึกษาเพิ่มเติมเกี่ยวกับการ Import library ได้ที่นี่

ทั้งหมดนี้น่าจะพอให้สามารถเริ่มต้นเขียนโค้ดด้วย Python เรียกใช้ Library ต่างๆ และประยุกต์นำไปแก้ปัญหาต่างๆ ได้

หน้าแรก

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

[Update] PANTIP.COM : K7860610 anti อ่านว่า…. [ห้องเรียนภาษาอังกฤษ] | orange อ่านว่า – NATAVIGUIDES

    ความคิดเห็นที่ 6

    an นำหน้า M.A. Candidate ได้จริงหรือ?

    Yes.  It the sound that counts and not whether it is a vowel or a consonant.

    An MBA student, <<<<vowel sound
    An hour (silent ‘h’)

    In contrast:

    A ‘UN’ organisation, << consonant sound,  instead of an UN organisation

    A house, a hotel, a hill (aspirated ‘h’)

    http://www.wordinfo.info/words/index/info/view_unit/3431

    a, an: Grammatical Articles +
    (confusion exists about usage of “a” and “an” in front of other words)
    a, an
    a (AY)

    The correct choice of the “articles” a and an depends on the initial sound of a word, not on the initial letter, of the word that they precede.

    The letter a should be used before all words beginning with a consonant sound except silent h (an honor) and before words beginning with vowels that represent combined consonant and vowel sounds (university, unit).

    Examples: a boy, a European, a j, a picture, a store, a table, a bottle, a window, a phone, a hyphen, and a one-horse town.

    There are also words that begin with vowels that have a consonant sound. Say “unique” out loud and you will hear that it contains in its first syllable a consonant y sound as well as the vowel oo sound. You are saying (phonetically) yoo-NEEK. Similarly, “union&”, “use”, and “eulogy” begin with a consonant y sound and call for the article a. If you use your ears, you will never be guilty of “an historic” or “an unique”

    Let’s repeat and expand this concept: a is used in front of words that begin with a long u (when pronounced as yoo), eu, and ew, and before the word one. Examples: a united country, a usurper, a eulogy, a ewe, a U-boat, a European, a one-horse town, and many a one.

    an (AN)

    The word an should be used before all vowel sounds (a, e, i, o, u). Examples: an entry, an f, an hour, an orange, an ape, an odor, an idea, an eagle, an honor, an umbrella, and an unbeliever.

    One of the most common mistakes, both written and oral, is the use of an before “historical” or “historic”. When the word following the article begins with a consonant sound, the article used is a; when it begins with a vowel sound, the article used is an.

    So remember, a word may in fact begin with a consonant, yet have an initial vowel sound. The word “honest” is a case in point. Say it out loud and you will see what is meant.

    The initial consonant h is silent, so the word has an initial vowel sound; hence, an honest man, an hour ago, an heir to the throne, an honest and an honorable peace; on the other hand, when a word begins with an aspirated h (a speech sound followed by a puff of breath or the speech sound represented by English h), correct usage is a hotel, a house, a hill, a hymn, a honeycomb, and a history or a historical.

    It comes with experience and practice.  

    Now you know.

    Best wishes.

    (came back in to tidy up………………..You are welcome)

    จากคุณ :
    genf
    – [
    14 พ.ค. 52 12:32:40

    ]

 


เรียนรู้คำศัพท์ภาษาอังกฤษเกี่ยวกับสีต่างๆ วิธีออกเสียงที่ถูกต้องพร้อม ภาพตัวอย่าง พร้อมความหมาย


พาน้องๆ มาฝึกอ่านคำศัพท์ภาษาอังกฤษเรื่องสีกันน่ะครับ คำศัพท์ภาษาอังกฤษพื้นฐานที่น้องๆ ควรรู้
เยี่ยมชม Blog ของเรา: https://goo.gl/JthDFX
ติดตามช่องของเราได้ที่: https://goo.gl/Svd65u
============================================
แหล่งข้อมูลความรู้เกี่ยวกับภาษาอังกฤษสำหรับเด็กๆ เพิ่มเติม
============================================
แอพเรียนภาษาอังกฤษ: http://bit.ly/2nsZE7Y
วิธีนับเลขภาษาอังกฤษ: http://bit.ly/2nYNBAx
คำศัพท์ภาษาอังกฤษสำหรับอนุบาล: http://bit.ly/2nYJBA2
คำศัพท์ภาษาอังกฤษ สัตว์ต่างๆ: https://goo.gl/o7LmPY
เพลงภาษาอังกฤษสำหรับอนุบาล: https://goo.gl/nxPQEj
คำศัพท์ภาษาอังกฤษ รูปร่าง รูปทรงเรขาคณิต: https://goo.gl/qpbF3q
คำศัพท์ภาษาอังกฤษ สี color: https://goo.gl/ZuE2YB
เกมส์ฝึกภาษาอังกฤษ: https://goo.gl/Z7uE8G

นอกจากการดูบทความนี้แล้ว คุณยังสามารถดูข้อมูลที่เป็นประโยชน์อื่นๆ อีกมากมายที่เราให้ไว้ที่นี่: ดูเพิ่มเติม

เรียนรู้คำศัพท์ภาษาอังกฤษเกี่ยวกับสีต่างๆ วิธีออกเสียงที่ถูกต้องพร้อม ภาพตัวอย่าง พร้อมความหมาย

คำศัพท์ เสื้อผ้า ภาษาอังกฤษ Clothes


คำศัพท์ เสื้อผ้า ภาษาอังกฤษ Clothes
คำศัพท์เสื้อผ้า ภาษาอังกฤษ eng123
ภาษาอังกฤษออกเสียงแบบอเมริกัน
คำศัพท์เสื้อผ้า
เสื้อผ้าภาษาอังกฤษ
อังกฤษเสื้อผ้า
คำศัพท์เสื้อผ้า

คำศัพท์ เสื้อผ้า ภาษาอังกฤษ Clothes

AM กับ PM ใช้ต่างกันยังไง และใช้ตอนไหน? – English Tips EP.1


หลายคนอาจจะงงว่า AM กับ PM คืออะไร? ใช้ยังไง? และต้องใช้ตอนไหน? หลายคนรู้แล้วแต่ก็ยังสับสนอยู่ว่าตอนไหนใช้ AM ตอนไหนใช้ PM English Tips ตอนแรกวันนี้จะมาไขข้อสงสัย และมีเทคนิคทำความเข้าใจวิธีใช้แบบง่ายๆ มาให้ทุกคนได้ใช้อย่างถูกต้องกัน รับรองว่าจำง่าย ใช้ได้ และไม่ลืมแน่นอน
EnglishTips
อยากฝึกพูดภาษาอังกฤษตัวต่อตัว หรือเรียนภาษาอังกฤษออนไลน์แบบบุฟเฟ่ต์
สมัครได้เลย ​https://www.unfoxenglish.com/
สอบถามแอดไลน์ ​https://lin.ee/5uEdKb7h
ติดตามช่อง YouTube ส่วนตัว
ช่องยูทูปของแล็คต้า https://www.youtube.com/lactawarakorn
ช่องยูทูปของเบล https://www.youtube.com/bellvittawut
ติดตามช่องทางอื่นๆ และพูดคุยกันได้ที่
ชุมชนคนรักภาษาอังกฤษ https://www.unfoxenglish.com
FB: https://www.facebook.com/unfoxenglish
Twitter: https://www.twitter.com/unfoxenglish
Lacta’s IG: https://www.instagram.com/lactawarakorn
Bell’s IG: https://www.instagram.com/toshiroz
ติดต่องาน
Email: [email protected]
Line: http://nav.cx/oOH1Q6T

AM กับ PM ใช้ต่างกันยังไง และใช้ตอนไหน? - English Tips EP.1

คำศัพท์ ผลไม้ ภาษาอังกฤษ พร้อมคำอ่าน ผลไม้ไทย ผลไม้ต่างประเทศ ชื่อผลไม้ต่างๆ Fruits Vocabulary


💖 ถ้าอยากให้กำลังใจ มาสมัครสมาชิกกันนะครับ 💖
กดตรงนี้ 👉 https://www.youtube.com/channel/UCaiwEWHCdfCi23EYN1bWXBQ/join
คำศัพท์ภาษาอังกฤษ ผลไม้ ชื่อผลไม้ต่างๆ ภาษาอังกฤษเรียกว่าอะไร มีทั้งผลไม้ไทย ผลไม้ต่างประเทศ ผลไม้เมืองนอก คำศัพท์ผลไม้ที่น่าสนใจ เช่น แอปเปิ้ล แอปริคอท อะโวคาโด กล้วย บลูเบอร์รี่ สาเก แคนตาลูป เชอรี่ มะพร้าว ข้าวโพด น้อยหน่า ทุเรียน องุ่น ฝรั่ง กีวี ลางสาด ลิ้นจี่ มะม่วง เมลอน ส้ม มะละกอ เสาวรส ลูกท้อ ลูกพลับ สับปะรด ทับทิม ราสเบอร์รี่ ชมพู่ ละมุด มะเฟือง มะยม สตรอเบอร์รี่ น้อยหน่า มะขาม แห้ว แตงโม ฯลฯ คำศัพท์ผลไม้ พร้อมรูป พร้อมคำอ่าน
รวมวิดีโอฝึกฟัง ฝึกพูดภาษาอังกฤษ สำหรับเรียนภาษาอังกฤษด้วยตัวเอง
https://www.youtube.com/playlist?list=PLrstMNlAK0Iu3XViE08wFLjyxyRFFhKYl
เรียนภาษาอังกฤษออนไลน์ ฟรี! คลิก: https://www.tonamorn.com/
แจกศัพท์ภาษาอังกฤษพื้นฐาน 1,000 คลิก: https://www.tonamorn.com/vocabulary
สอน การแต่งประโยคภาษาอังกฤษ
https://www.tonamorn.com/learnenglish/writesentences/
เรียนภาษาอังกฤษ จากภาพสวยๆ บนอินสตาแกรม
https://instagram.com/ajtonamorn
คำศัพท์ภาษาอังกฤษ บทสนทนาภาษาอังกฤษ ไวยากรณ์ แบบฝึกหัดพร้อมเฉลย และบทเรียนภาษาอังกฤษอีกมากมาย เรียนภาษาอังกฤษตั้งแต่พื้นฐาน จนถึงระดับสูง ฟรี 100% โดย อาจารย์ต้นอมร

คำศัพท์ ผลไม้ ภาษาอังกฤษ พร้อมคำอ่าน ผลไม้ไทย ผลไม้ต่างประเทศ ชื่อผลไม้ต่างๆ Fruits Vocabulary

コブクロ「未来」映画「orange -オレンジ-」ver.


【コブクロオフィシャル】
http://emtg.jp/r/kobukuro_official
【黒田俊介Instagram】
https://www.instagram.com/kobukuro_kuroda_official/

コブクロ「未来」映画「orange -オレンジ-」ver.

นอกจากการดูบทความนี้แล้ว คุณยังสามารถดูข้อมูลที่เป็นประโยชน์อื่นๆ อีกมากมายที่เราให้ไว้ที่นี่: ดูบทความเพิ่มเติมในหมวดหมู่LEARN FOREIGN LANGUAGE

ขอบคุณที่รับชมกระทู้ครับ orange อ่านว่า

Leave a Reply

Your email address will not be published. Required fields are marked *