เมื่อคนที่ไม่รู้เรื่องการเขียนโค้ด มาเข้าคอร์ส Python หนึ่งวันเต็มๆ – รีวิวคอร์สเรียน Python from Zero โดยเพจ Data Content

สารภาพตรงนี้เลยว่าเมื่อ 24 ชั่วโมงที่แล้ว นับจากเวลาที่เขียนตอนนี้ เราไม่รู้เลยว่า Python เอาไว้ทำอะไร

แม้ว่าเราจะได้ยินชื่อ Python ผ่านหูอยู่บ่อยๆ ไม่ว่าจะในออฟฟิศ หรือใน social media แต่เนื่องจากงานเราไม่ได้ใช้โปรแกรมนี้ เราเลยไม่รู้โดยละเอียดนักว่าการใช้งานมันเป็นยังไง เอาไว้ใช้ทำอะไร (รู้แค่ว่าไว้เขียนโค้ด ทำโปรแกรม) แล้วมันจะมีประโยชน์ยังไง

โชคดีที่เราได้มีโอกาสเข้าร่วมคอร์ส Python from Zero ในวันที่ 11 สิงหาคม 2018 ซึ่งจัดโดยแอดมินเพจ Data Content เพจน้องใหม่ไฟแรงด้าน Data ที่แอดมินเพจคือเพื่อนสนิทสมัย ป.ตรี ของเราเอง นี่เป็นครั้งแรกที่แอดมิน (ขอแทนตัวแบบนี้ละกันเนอะ) คือผู้สอนหลัก ก่อนหน้านี้จะเป็นผู้ช่วยผู้สอนซะมากกว่า รอบนี้เราเลยอยากไปลองเรียนดู เพราะรู้กันอยู่ในกลุ่มเพื่อนว่าแอดมินเป็น self-taught คือฝึกเอง ทำเอง หาที่เรียนเองจนชำนาญ (//กราบ) แล้วก็เป็นคนที่สอนเก่งมากๆ วันนี้แอดมินจับมือกับอาจารย์รอน เจ้าของเพจลุงวิศวกร สอนคำนวณ มาช่วยกันปูพื้นฐาน Python กัน

ก่อนหน้านี้เรารู้สึกว่าศาสตร์อะไรก็ตามที่เกี่ยวกับการเขียนโค้ด การเล่นกับข้อมูล เปรียบเสมือนภาษาอีกภาษาที่หัวสมองเราปิดกั้นไปแล้วเรียบร้อย คือแค่ excel เราก็ลืมไปเกือบครึ่งละ ก่อนมาเรียนวันนี้เราเลยแอบกังวลนิดๆ ว่าเราจะรู้เรื่องมั้ย เราไม่เคยศึกษาเรื่องการเขียนโค้ดเลยนะ จะตามทันมั้ย โลจิกเราก็ไม่แกร่ง สิ่งเดียวที่เราเตรียมตัวก่อนไปเรียนคือไปโหลดโปรแกรม Python มาเตรียมไว้ในเครื่อง แต่เราก็ไม่ได้ลองเล่นก่อนเพราะติดตั้งไม่เป็นจ้า พยายามอ่านข้อมูลแล้วแต่งงจริงๆ สุดท้ายเลยรอติดตั้งในห้องเรียนเลย

เกริ่นกันพอหอมปากหอมคอ แต่ก่อนที่เราจะรีวิวคอร์สเรียน ขอมาแนะนำให้รู้จักก่อนว่า Python คืออะไร

Python คืออะไร?

ขออธิบายแบบสั้นๆ พอให้ตามรีวิวเข้าใจละกัน ถ้าใครอยากรู้ก็เสิร์ช google อ่านเพิ่มได้

Python คือ ภาษาเขียนโปรแกรมภาษาหนึ่ง ท่ามกลางอีกหลายๆ ภาษาในจักรวาลการเขียนโค้ดอย่าง C++, R, Java ฯลฯ ตัวโปรแกรม Python นั้นเป็น open-source คือสามารถไปโหลดฟรีๆ ได้ที่เว็บ python.org เลย ความโดดเด่นของ Python คือมันเป็นภาษาที่ค่อนข้างเบสิกที่สุดแล้ว เทียบกับภาษาอื่นๆ และเป็นภาษาที่เพิ่งมาได้รับความนิยมเมื่อไม่นานมานี้ (แม้จะมีมานานแล้ว) เหตุเพราะมีคนสร้างฟังก์ชั่นเสริมต่างๆ ไว้ใช้กับ Python เยอะมากกกก ชนิดที่ว่าหากเรียนทุกฟังก์ชั่น คงต้องใช้เวลา 300 ปีเลยทีเดียว

อธิบายกันไปพอหอมปากหอมคอ ทีนี้เรามารีวิวคอร์สเรียนซึ่งอัดยาวตั้งแต่ 9 โมงยัน 6 โมงกันเลยดีกว่า เราขอรีวิวแบบคร่าวๆ ไม่ลงลึก อยากให้ไปติดตามเนื้อหาในเพจต้นฉบับ หรือ ไปลองเรียนคอร์สจริงๆ มากกว่า ในรีวิวนี้ขอเขียนบรรยายถึงประสบการณ์ ในฐานะคนที่ไม่รู้เรื่อง python เลย ขอไล่ตาม outline ที่ทาง Data Content ร่างไว้เลยแล้วกัน

** เนื่องจากนี่เป็นครั้งแรกที่เราเรียนรู้ศาสตร์นี้ อาจจะมีบางจุดที่เขียนผิดพลาดบ้าง ถ้าเจอตรงไหนที่ใช้คำหรืออธิบายผิดก็ทักมาบอกได้นะ

1. ติดตั้งโปรแกรม Python และทำความรู้จัก IDLE

ในส่วนแรกนี้ อาจารย์รอนพาทุกคนก้าวเข้าสู่โลกของ Python ด้วยการสอนตั้งแต่วิธีการติดตั้งโปรแกรมเลย เริ่มตั้งแต่การไปที่เว็บ python.org แล้วดาวน์โหลดไฟล์มา ถึงตรงนี้เราติดขัดละ ทำยังไงต่อ? จะติดตั้งโปรแกรมต้องทำไงอะ? จริงๆ คือโปรแกรม Python ถูกติดตั้งเรียบร้อยละ ที่เราจะติดตั้งเพิ่มคือพวก library เสริม และเนื่องจากเครื่องเราเป็น mac ตรงนี้ได้ไขข้อกระจ่างแล้วว่าต้องเปิดโปรแกรม terminal ในการเขียนโค้ดเพื่อติดตั้งฟังก์ชั่นเสริมกันก่อน (สำหรับ windows คือเปิด cmd) ถ้าใครสงสัยว่าหน้าตาโปรแกรมนี้เป็นยังไง ให้ลองนึกภาพหน้าจอที่เต็มไปด้วยโค้ดที่เราอ่านไม่ออก นั่นแหละ อาห์…นี่เป็นครั้งแรกที่ได้ใช้หน้าจอที่เต็มไปด้วยโค้ดแบบนี้ หลังจากที่เห็นคนอื่นใช้มานานแล้วรู้สึกว่าพวกเขาคือมนุษย์ต่างดาว

terminal
หน้าตา Terminal

อาจารย์รอนได้แนะนำถึงการติดตั้งแพ็กเกจเสริมอื่นๆ เช่น matplotlib (แพ็กเกจเสริม เอาไว้พล็อตกราฟ) ซึ่งเราก็จะได้แพ็กเกจชื่อ numpy มาเป็นตัวแถมด้วย (เอาไว้ทำพวก array, matrix) และถ้าใครอยากหาแพ็กเกจเสริมอื่นๆ นอกเหนือจากที่อยู่ในไลบรารี่ของ Python ก็สามารถวาร์ปไปสอยได้ที่ pypi.org (ที่ซึ่งมีฟังก์ชั่นเสริมกินเวลา 300 ปีในการเรียนนั่นแหละ)

โอเค เมื่อติดตั้งฟังก์ชั่นเสริมเรียบร้อยแล้ว ทีนี้เราก็จะมาใช้งานกันจริงๆ ละ หลายคนอาจจะเข้าใจว่า ในเมื่อเรากำลังจะเล่น Python เราก็ต้องเสิร์ชหาโปรแกรมชื่อ Python ใช่มะ ไม่ใช่ละ!! อันที่จริงแล้วเราต้องเปิดโปรแกรมชื่อ IDLE ซึ่งไอ้ตัวนี้จะเป็นที่ที่เราเอาไว้เขียนโค้ดกัน (มันก็คือส่วนหนึ่งของ Python นั่นแหละ)

idle01
ไอคอน IDLE เป็นแบบนี้

ตัว Python นั้นมี 2 โหมด คือ โหมด Immediate กับ โหมด Script

ถ้าเราไปเล่นออนไลน์ในเว็บ หรือ พิมพ์จากหน้าแรกตอนเปิด IDLE เลย อันนั้นคือ Immediate Mode จะเป็นโหมดพิมพ์บรรทัดเดียว กดเอ็นเตอร์ปุ๊บก็จะได้ผลลัพธ์ออกมาทันทีเลย รวดเร็วทันใจเหมือนชื่อนั่นแหละ แต่ข้อเสียคือถ้าเขียนโค้ดผิดนิดเดียว ก็พังไปทั้งแถบเลย ดังนั้นจึงไม่เหมาะกับการเขียนโค้ดที่ซับซ้อน

immediate01
Immediate Mode
web
ในเว็บที่ให้เล่นออนไลน์ก็เป็น immediate mode

ด้วยเหตุนี้ ส่วนใหญ่เราจึงเล่นโหมด Script มากกว่า ซึ่งจะสามารถใช้งานได้เมื่อกด File > New File หลังเปิด IDLE ขึ้นมาแล้ว ทีนี้เราก็จะได้หน้าจอคล้ายๆ Notepad ขึ้นมา ซึ่งจริงๆ มันก็ใช้งานเหมือน Notepad เลย คือเราสามารถพิมพ์โค้ดยาวเท่าไรก็ได้ เมื่อพิมพ์เสร็จค่อยกด Run ซึ่งผลลัพธ์ก็จะโชว์ในหน้าแรกที่เราเคยใช้โหมด Immediate ข้อดีของ Script คือสมมติว่าพิมพ์โค้ดผิด ก็สามารถกลับมาแก้ได้ง่ายๆ พิมพ์เสร็จก็แค่กด Run ใหม่

script01
Script Mode (หน้าตาเหมือน Notepad)

2. คำสั่ง Print(‘Hello World’) 

คำสั่งแรกของวันนี้ที่เราเรียนกันคือการใส่ให้โปรแกรมแสดงผลประโยค Hello World ขึ้นมา ประโยคนี้น่าจะเปรียบเสมือนประโยคขั้นต้นในการฝึกเขียนโค้ดเลยละมั้ง อารมณ์แบบ พอเห็นประโยคนี้ขึ้นมาปุ๊บ คนเขียนโค้ดก็จะโล่งใจแล้วว่าคอมพิวเตอร์มันอ่านออก มันตอบกลับมาว่าสวัสดีชาวโลกแล้ว!! ซึ่งโค้ดก็ไม่ยากเลย แค่พิมพ์ Print(‘Hello World’) แล้วกด Option > Run Module หรือ F5 บนคีย์บอร์ด ก็เรียบร้อยแล้วจ้า อันนี้ง่ายมาก ง่ายจริงๆ ง่ายแบบคนไม่รู้เรื่องโค้ดอย่างเราก็ทำได้ ใครๆ ก็ทำได้

helloworld02
สวัสดีชาวโลกกก
helloworld03
ทริกเกี่ยวกับการเว้นวรรค และการใช้เครื่องหมายคำพูด
error01
เกิด syntax error เมื่อใส่เครื่องหมาย ” ‘ ปนกัน เลือกใช้แค่อย่างใดอย่างนึงพอเน้อ
letter01
hello world ง่ายไปละ มาเขียนจดหมายกันดีกว่า อิ_อิ

3. ตัวแปรชนิด Number, String, Boolean

ต่อมาคือการทำความรู้จักกับตัวแปร 3 รูปแบบ โดย number คือตัวเลข string คือคำพูด ส่วน boolean คือ TRUE FALSE ซึ่งสามแบบนี้ก็จะมีการเจาะลึกลงไปอีก ตามนี้เลย

  • number สามารถแบ่งเป็น int (เลขเต็ม) หรือ float (เลขจับฉ่าย คือจะเป็นเลขจุดทศนิยม ติดเศษส่วน อะไรก็ได้)
  • string นอกจากจะเป็นประโยคปกติแล้ว ยังสามารถลึกล้ำด้วยการกลายร่างเป็น list, tuple, dictionary ได้ด้วย (เดี๋ยวอธิบายอีกที)
  • boolean คือการกำหนด True False ซึ่งต้องเขียนให้ตัวแรกเป็นตัวใหญ่ด้วย ไม่งั้นโปรแกรมจะนึกว่าเป็นข้อมูลชนิด string

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

4. คำนวณพื้นฐาน

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

calc01
คำนวณใน immediate mode กด enter ปุ๊บ ผลลัพธ์ก็มาเลยในหน้าเดียว (หมายเหตุ: + คือบวก – คือลบ * คือคูณ / คือหาร ** คือยกกำลัง // คือหารเอาจำนวนเต็ม % คือหารเอาจำนวนส่วนล่าง)

calc02

calc03
คำนวณแบบกำหนดตัวแปร

5. ข้อมูลชนิด Tuple, List, Dictionary

มาแล้วววว string แบบแอดวานซ์ จะว่าไปแล้วรูปแบบของข้อมูล 3 อย่างนี้ก็จะมีลักษณะคล้ายๆ กัน คือมีความเป็นไอเท็มๆ อยู่ในคำสั่ง เป็นการที่ตัวแปรมีหลายค่า แล้วค่าต่างๆ ก็สามารถถูกเรียกขึ้นมาดูได้ ทั้งสามอย่างต่างกันยังไง ก็ประมาณนี้เลย

  • List คือการกำหนดค่าตัวแปรว่ามีอะไรบ้าง ขอบอกว่าแอดมินยกตัวอย่างมาให้ศึกษาเพียบ แต่ละตัวอย่างก็ครีเอทีฟๆ ทั้งนั้น
list02
เรียก item ใน list ได้โดยพิมพ์ตัวเลขตำแหน่งเข้าไป ถ้าจะนับจากหน้าไปหลัง ต้องนับ 0 ถึง n แต่ถ้าจะนับย้อนหลัง ก็ต้องนับเป็น -n ถึง -1 ไม่ว่าจะนับแบบไหน ได้ผลลัพธ์เดียวกัน
list03
สร้าง list แล้วเรียกผลลัพธ์เป็นช่วงๆ ก็ได้ แต่โปรแกรมจะไม่นับ item ณ หมายเลขที่อยู่ข้างหลังนะ มันจะลบหนึ่ง
list01
สร้าง list มาสองอัน แล้วให้มันแสดงผลรวมกันก็ได้
  • Tuple นั้นคล้ายๆ กับ List ต่างกันเพียงว่าเราไม่สามารถแก้ไขข้อมูลได้ เหมาะสำหรับใช้เวลาจะส่งงานให้ใครแล้วไม่อยากให้คนอื่นมาแก้ลับหลัง
  • Dictionary คือการกำหนดตัวแปรแบบจับคู่ ประมาณว่า ถ้าค่าตัวแปร x เป็นแบบนี้ ตัว y จะต้องเป็นแบบนี้ เหมาะสำหรับเวลาเราต้องการคำตอบที่ match กัน ก็เรียกค่า x ขึ้นมาดูว่า y คืออะไร ในที่นี้ x จะถูกเรียกว่า key ส่วน y จะถูกเรียกว่า value
dictionary01
จับคู่ว่านักเรียนคนไหน ชอบกีฬาอะไร
dictionary02
ยัด list เข้าไปใน dictionary ก็ได้นะ ในกรณีที่ key นึงมีหลาย value

6. คำสั่ง Input ส่วนรับข้อมูลจากภายนอก

คำสั่งนี้สนุกดี แม้ว่าเราจะใช้เวลาสักพักกว่าจะเข้าใจตัวคำสั่ง มันเท่ตรงที่เราสามารถสั่งให้คอมพิวเตอร์ตั้งคำถามเราได้ เมื่อเราพิมพ์คำตอบลงไป ก็จะได้ผลลัพธ์ตามที่เรากำหนดเอาไว้ น่าตื่นตาตื่นใจดีสำหรับมือใหม่อย่างเรา แอดมินบอกว่าเอาไปใช้หลอกคนอื่นได้นะว่านี่คือ AI เชื่อเถอะว่าต้องมีคนหลงกล 555555

input01
สั่งให้โปรแกรมบ้วนคำตอบที่เราพิมพ์เข้าไป
input02
สั่งให้โปรแกรมคำนวณจากคำตอบที่เราพิมพ์เข้าไป อันนี้คือยิ่งร้อน ระดับความเศร้าเรายิ่งสูงขึ้น ฮือๆ

7. การเลือกทำด้วยเงื่อนไข if, if..else, if..elif..else

มาต่อกันที่คำสั่งแบบ decision making (แอดมินบอกว่าเรียกเป็นภาษาอังกฤษเถอะ ดูเท่กว่าภาษาไทยมาก) ซึ่งคำสั่งหลักๆ ที่เราได้เรียนกันก็คือ if ทั้ง 3 แบบ เห็นปุ๊บนี่ภาพ excel ลอยมาเลย ซึ่งหลักการมันก็คล้ายๆ กับ excel นี่ละ คำสั่งนี้ก็เหมือนเป็นการฝึก logic ไปในตัว วิธีที่จะช่วยได้คือวาด flow chart ซึ่งแอดมินก็ลงทุนวาดทั้ง 3 ชาร์ตสำหรับทั้ง 3 คำสั่งเลย แอดมินถึงขั้นออกตัวว่าคงไม่มีที่ไหนสอนดาต้าด้วยการวาดบนกระดานอีกแล้ว (ฮา) ว่าแล้วก็มาสรุปสั้นๆ เกี่ยวกับคำสั่งเลย

  • if คือคำสั่งที่มีความหมายว่า “ถ้าเหตุการณ์เป็นอย่างนี้ ให้ตอบแบบนี้ ห้ามเถียง” เน้นไปที่ condition เดียว
decision01
ถ้าได้คะแนนมากกว่าหรือเท่ากับ 80 ให้แสดงประโยค แต่ถ้าไม่เกิน 80 ก็จะไม่มีผลลัพธ์อะไร
decision02
เพิ่มมากกว่า 1 condition ก็ได้เช่นกัน
  • if…else คือคำสั่งที่ขยายมาจากตัวแรก โดยถ้าหากคำสั่งแรกใช้ True คำสั่งนี้ก็จะเพิ่มสถานการณ์ False ไปด้วยเช่นกัน ว่าถ้า False จะให้เกิดอะไรขึ้น
decision03
ถ้าคะแนนมากกว่าหรือเท่ากับ 50 คือผ่าน แต่ถ้าไม่ถึง 50 คือตกจ้า
decision04
ถ้า = เดียวคือการตั้งค่าตัวแปร แต่ถ้าจะตั้งเป็น condition ต้องเป็น ==
  • if…elif…else ขยายมาจากคำสั่งที่สองอีกนั่นแหละ มันคือการกำหนด condition ออกเป็นหลายๆ ขั้น ดังนั้นคำสั่งจึงต้องมีเยอะตามไปด้วย โดยแอดมินมีทริกนิดนึงคือพิมพ์ else ปิดท้ายด้วยการสั่งให้โปรแกรมพิมพ์ประโยคว่าเกิด ERROR ทั้งนี้ก็เพื่อเตือนเราหากเราใส่ข้อมูลผิดทุก condition จริงๆ
decision05
หลายช่วงคะแนน ก็หลายเกรดตามกันไป แต่ถ้าเผลอใส่ตัวเลขนอกเหนือจาก 0-100 ก็ให้มันเด้งขึ้นมาว่า error
  • nested if หรือ if…else ซ้อน if…else คือการนำคำสั่งข้อสองมาซ้อนกันอีกที ประมาณว่า condition มันมี characteristics ที่หลายหลากมาก จนต้องแบ่งคำสั่งออกเป็นหลายๆ อัน
decision06
อันนี้คือ เลขที่ไม่ติดลบ และไม่ใช่ 0 นั้นมีทั้งเลขคู่และเลขคี่ จับขึ้นไปอยู่ในก้อนเดียวกันเลย

8. Loop สั่งโปรแกรมของเราให้วนซ้ำๆๆ

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

  • while คือคำสั่งที่มีความหมายว่า ถ้า condition ยังไม่ถึงจุดนี้ ยังไม่ต้องเลิกนะ หรือเรียกอีกแบบว่าจะทำงานเมื่อมีเหตุการณ์ให้ตัดสินว่า True หรือ False
loop01
อันนี้แปลได้ว่า หาก count ยังน้อยกว่าหรือเท่ากับ 10 ให้โปรแกรมคำนวณต่อไปเรื่อยๆ
  • for คือคำสั่งที่มีการกำหนดชัดเจนว่าให้โปรแกรมมันวนคำสั่งจนถึงจุดไหน
loop002
ในที่นี้คือตั้ง range ชัดเจนว่าคือ 0 ถึง ร้อย โดยบวกทีละ 2 ก็จะได้เป็นลิสต์ตัวเลขออกมา จบที่ 98

เสริมอีกนิดสำหรับ loop มันมีคำสั่งแยกย่อยออกมา คือ

  • break เอาไว้หยุดการหมุนวนของคำสั่ง แม้เราจะตั้ง condition ไว้กว้างกว่าจุดที่เรา break ก็เถอะ เสมือนเราสามารถไปเชียงใหม่ได้ แต่โดนแม่เบรกบอกว่าให้ไปถึงแค่สีลมเท่านั้น
break001
ในที่นี้คือถ้า number มากกว่า 5 เมื่อไรให้หยุด แม้จะตั้งใน condition ว่าให้คำนวณวนหาก number ยังไม่เกิน 10
  • continue คือการบอกโปรแกรมว่าถ้าเจอ condition นี้ ให้วนคำสั่งต่อไปได้เลย ไม่ต้องสนว่า condition นั้นจะผิดพวก ให้มองผ่านเลยไปเป็นอากาศธาตุซะ
continue01
ในที่นี้คือหมายเลขโทรศัพท์ เรายังอยากให้โปรแกรมอ่านได้แม้จะมีเส้นขีดมาคั่น

เนื้อหาตรงนี้ขอบอกเลยว่าเริ่มซับซ้อนขึ้นแล้ว สารภาพว่านั่งทวนนั่งพิมพ์อยู่นานเหมือนกัน คงต้องอาศัยการฝึกฝนไปเรื่อยๆ จนชำนาญนั่นแหละ

9. Function 

อย่างที่บอกไปขั้นต้นว่า Python มันมีฟังก์ชั่นให้เรียนไปถึง 300 ปี ซึ่งฟังก์ชั่นเสริมเหล่านี้มาจาก 3  แหล่งหลักๆ ด้วยกัน คือ

  • ฝังอยู่ในตัว Python เอง (build-in) ซึ่งส่วนใหญ่คือพวกคำสั่งบนๆ ในข้อข้างบนนั่นอะ
  • library function คือฟังก์ชั่นที่มีอยู่ในตัวโปรแกรมแหละ แต่ถ้าไม่ซัมมอนมันออกมา ก็จะใช้งานไม่ได้
  • library เสริม คือไปโหลดจากข้างนอก เช่น pypi.org

ถึงตรงนี้แอดมินก็ได้สอนวิธีซัมมอนฟังก์ชั่นในไลบรารี่ ซึ่งเราสามารถซัมมอนได้ 2 วิธี หนึ่งคือการ import เข้ามาแล้วตั้งชื่อย่อให้มัน จากนั้นก็ใส่ชื่อย่อนั้นลงไปในทุกๆ บรรทัดของคำสั่ง สองคือการ import โดยใช้ * ข้อดีของอันนี้คือไม่ต้องพิมพ์ชื่อฟังก์ชั่นลงไปในทุกๆ บรรทัด

function01
import ได้ 2 แบบ ได้ผลลัพธ์เหมือนกันเดี๊ยะ

10. ติดตั้งแพ็กเกจเสริม

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

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

turtle01
ล้ำดีอันนี้ ปากกาจะเลื่อนและเปลี่ยนสีไปเรื่อยๆ เราสามารถปรับสี ปรับความหนา ปรับองศาได้ในโค้ด

ฟังก์ชั่นต่อไปคือ Numpy ตัวนี้คือสิ่งที่ทำให้เราสามารถคำนวณเลขใน Python ได้ ดูจากตัวอย่างนี้เลย

Screen Shot 2018-09-15 at 11.13.57 PM
สังเกตว่าถ้าบวก/คูณ list ปกติ มันคือการไล่รวมค่า แต่พอบวก/คูณเป็น array ด้วย numpy ก็จะเห็นว่ามันนำค่ามาบวก/คูณกันจริงๆ

อีกฟังก์ชั่นที่เล่นได้คือ Matplotlib ซึ่งเป็นฟังก์ชั่นวาดกราฟ หน้าตาแบบนี้

mpl01

ฟังก์ชั่น tkinter เป็นฟังก์ชั่นตั้งคำถาม พอกดก็จะแสดงผลที่เราอยากให้มันเด้งขึ้นมา

tkinter01
กดที่ click me now ก็จะขึ้นประโยคว่า Hello Python
tkinter02
สร้างปุ่มตั้งคำถาม

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


จบเนื้อหา Python กันไปแล้ว แอดมินปิดท้ายด้วยการเล่าถึงแนวทางอาชีพด้านดาต้า ไม่ว่าจะเป็นสาย Data Engineering vs Data Science vs Business Analytics ซึ่งทั้ง 3 อย่างก็โฟกัสแตกต่างกันไป ใครอยากเก่งสามสายก็ไม่ว่ากัน แต่ถ้าใครแม่นแค่สายเดียวก็ไม่ต้องน้อยใจ เพราะจริงๆ แล้วเราไม่จำเป็นต้องรู้หมดทุกอย่างหรอก เราแค่เก่งในส่วนที่เราถนัดและชอบก็พอแล้ว

สุดท้ายนี้ คอร์ส Python from Zero เป็นคอร์สที่เหมาะสำหรับผู้เริ่มต้นโดยแท้จริง คอนเฟิร์มโดยเราซึ่งไม่มีพื้นฐานอะไรเลยนอกจาก excel ที่เก่าขึ้นสนิมไปแล้ว การมาเรียนในครั้งนี้ทำให้เรารู้สึกคุ้นเคยกับ Python และการเขียนโค้ดมากขึ้น ขอเวลาตกผลึกอีกนิดแล้วเราอาจจะนำไปปรับใช้กับการทำงานได้บ้างไม่มากก็น้อย หรือถ้าปรับใช้กับการทำงานไม่ได้จริงๆ อย่างน้อยก็ยังพอสามารถคุยกับชาวบ้านรู้เรื่องได้

คอร์สนี้บรรยากาศการเรียนเป็นกันเอง เนื่องจากมีผู้เรียนไม่เยอะ การดูแลจึงค่อนข้างทั่วถึง มีน้ำมีขนมพร้อม ช่วงมื้อเที่ยงก็ไปทานข้าวคุยแลกเปลี่ยนความรู้กับแอดมินได้ ที่สำคัญคือแอดมินใส่ใจในการสอนมากเพราะไม่อยากให้ใครเผลอหลุดไปแม้แต่นิดเดียว ทวนบทเรียนหลายรอบ หลายตัวอย่าง ลงทุนวาดรูปประกอบ แสดงให้เห็นถึงความตั้งใจสุดๆ หากใครสนใจเรียนคอร์สนี้บ้าง ก็ลองไปสอดส่องในเพจ Data Content กันได้ ในอนาคตอันใกล้นี้อาจจะมีการเปิดสอนคอร์สนี้และคอร์สอื่นๆ อีก ติดตามกันต่อไปจ้า

One thought on “เมื่อคนที่ไม่รู้เรื่องการเขียนโค้ด มาเข้าคอร์ส Python หนึ่งวันเต็มๆ – รีวิวคอร์สเรียน Python from Zero โดยเพจ Data Content

Add yours

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Blog at WordPress.com.

Up ↑

%d bloggers like this: