[Basic Python] สรุปวีดิโอสอนเขียน Python ของ SIPA

ล่าสุดไปเจอคนแชร์วีดิโอสอนเขียนโปรแกรมของ SIPA ครับ ซึ่งมีภาษา C กับ Python พอดีภาษา C เคยเขียนนิดหน่อยแล้ว เลยมาลองเรียน Python ดู

คนสอนคอร์สนี้คือพี่ปิงครับ เป็นรุ่นพี่ที่จุฬาฯ ซึ่งเนื้อหาดีมากครับ โจทย์ก็ไม่ง่าย ขนาดเคยเขียนโปรแกรมมาแล้วยังต้องหยุดคิด (แต่ถ้าสอนติดตั้ง Python ด้วยจะดีมาก ; w 😉 ถ้าสนใจดูวีดิโอได้ที่ด้านล่างเลย อ้อ อันนี้เค้าไม่ได้ทำ Playlist ไว้ครับ บางทีต้องมานั่งกดดูตอนต่อไปจากข้าง ๆ เอง

ส่วนถ้าขี้เกียจดูวีดิโอ ในบลอคนี้ก็จะสรุปให้คร่าว ๆ ครับ

ข้อมูลคร่าว ๆ ของภาษา Python

Python เป็นภาษาที่โค้ดไม่มี ; ปิดท้าย และไม่มี { } โดยจะใช้พวก : แทน เช่น

x = 10
if(x == 10):
  print("x is 10")
y = 5

นอกจากนั้นต้องใช้ย่อหน้าแทน { } เช่น เวลาอยากได้ if ซ้อนกัน เช่น

if (x == 10):
  if(y == 5):
    print("x is 10 and y is 5")

การประกาศตัวแปรใน Python

Python ประกาศแบบง่าย ๆ เลย ไม่ต้องกำหนดประเภทตัวแปรให้ลำบาก เช่น

x = "Hello World"

การเขียนเงื่อนไข If, Else ใน Python

แต่ละภาษานี่ if, else ปวดหัวมาก เพราะบางตัวเขียน elseif บางตัวเขียน else if = = ส่วนของ Python หน้าตาเป็นแบบนี้

if (x == 10):
  xxx
elif(x == 5):
  xxx
else:
  xxx

Python นี่งงกว่าเดิม เขียน elif… จะตัดคำไปไหนครับ T_T

ส่วนการเปรียบเทียบก็จะมี ==, !=, >, <, >=, <=, >_< (อันสุดท้ายไม่มีนะครับ)

นอกจากนั้นถ้าจะมีหลายเงื่อนไขใน if เดียว สามารถใช้ and หรือ or เชื่อมได้ จะใส่กี่เงื่อนไขเชื่อมกันก็ได้ เช่น

if (x == 10 and y == 10):
if (x == 10 or y == 10 or z == 10):

การเล่นกับ String ใน Python

เราสามารถกำหนด String โดยใช้ “…” ครอบได้ เช่น

hello = "Hello World"

โดยจะแบ่ง index เป็น Array ตามตัวอักษร เช่น hello[0] จะเป็นตัว H โดยเรียงไป 0 1 2 3 4 = H e l l o

ซึ่งความเมพของ Python คือมันสามารถเลือกตัวอักษรเป็น Range ได้โดยใช้ : คั่นระหว่างตำแหน่ง เช่น

hello[0:4] // ได้ Hello
hello[5:9] // ได้ World

นอกจากนั้นไม่ต้องกำหนด index เฉพาะตัวหน้าหรือตัวหลังได้ เพื่อกำหนดเป็นเริ่มจากตัวแรกอัตโนมัติ หรือเลือกไปถึงตัวสุดท้ายแบบอัตโนมัติ เช่น

hello[:4] // Hello
hello[5:] // World

ส่วนถ้าเราอยากได้ความยาว (Length) ของ String ก็สามารถใช้ฟังก์ชั่น len(ชื่อสตริง) ได้ เช่น

print( len(hello) ) // ได้ 10

ส่วนถ้าอยากหาตำแหน่งของคำที่ต้องการจากประโยค สามารถใช้ ชื่อสตริง.find(“คำค้น”) ได้ มันจะ return index ที่เจอคำนั้นมาให้ เช่น

hello = "Hello World"
print( hello.find("World") ) // ได้ 5

pos = hello.find("World") // pos = 5
print( hello[pos:] ) // World

การ Print ค่าต่าง ๆ ใน Python

จะเห็นจากตัวอย่างโค้ดแล้ว ว่าปกติเราสามารถใช้ print(“Hello”) ได้เลย

แต่ Python ก็สามารถทำแบบ printf ในภาษา C ได้แบบใช้ print(“%d – %d” % (var1, var2)) อะไรแบบนี้

การสร้าง Function และใช้ฟังก์ชั่นใน Python

การประกาศฟังก์ชั่นใน Python จะเหมือน Ruby เลยครับ คือใช้ def

def function_name(arg1, arg2):
  arg3 = arg1 + arg2
  return arg1, arg2, arg3

จะเห็นว่ามันก็ส่ง Argument ได้เหมือนภาษาโปรแกรมมิ่งทั่วไป แต่ความเด็ดคือเวลา return มันสามารถ return ค่าได้มากกว่า 1 ค่าพร้อมกัน ซึ่งเวลาเรียกใช้ฟังก์ชั่นก็ทำแบบนี้

a1, a2, a3 = function_name(1, 2)

การวนลูป While ใน Python

ตัวอย่างโค้ดการวน while สามารถทำได้ดังนี้

x = 1
while(x <= 10):
  x += 1

หรือเราสามารถออกจาก Loop โดยการใช้ break ได้ เช่น

x = 1
while(True):
  x = x + 1
  if(x > 5):
    break

การ Cast String ใน Python

การ Cast หมายถึงการเปลี่ยนตัวแปรจากประเภทหนึ่งไปเป็นอีกประเภท อันนี้คือการเปลี่ยนตัวเลขไปเป็น String โดยใช้คำสั่ง str(ชื่อตัวแปร) ได้เลย

x = 5
str(x) // "5"

Array (List) ใน Python

เห็นในคลิปเรียก List แต่เข้าใจว่าหลายคนอาจจะชินกับคำว่า Array มากกว่า การใช้ Array ใน Python ก็เป็น Syntax ที่น่าจะคุ้น ๆ กันอยู่แล้ว ประมาณนี้ครับ

x = [1, 2, "Hello", "World", ["Var1", "Var2"]]
x[0] // 1
x[1:2] // [2, "Hello"]
x[4][0] // "Var1"
x.append(3) // [1, 2, ..., 3]
x.append([3, 4]) // [1, 2, ..., 3, [3, 4]]
x + [3, 4] // [1, 2, ..., 3, [3, 4], 3, 4]
print(len(x)) // ได้จำนวนค่าใน List

ประมาณนี้ก่อน ในวีดิโอถึงประมาณตอนที่ [4-1] ครับ ถ้าสนใจไปเรียนต่อกันได้ที่ Youtube เลย :3


Posted

in

,

by

Tags:

Comments

Leave a Reply

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