Functional programming ชื่อไทยคือ “การโปรแกรมเชิงฟังก์ชั่น” ชื่อย่อ FP เป็นแนวคิดหนึ่งของการเขียนโปรแกรม (programming paradigm) ชื่อขึ้นต้นด้วย functional แต่ไม่ได้มีดีแค่ประกาศ function ปุ๊บเสร็จ แล้วเรียกใช้ มันมีเบื้องลึกมากกว่านั้นแน่ๆ
🤔 มันจะต่างจากการเขียนโปรแกรมทีละสเตป ตามลำดับก่อนหลัง มีการวนลูป ที่เน้นแก้ state ของโปรแกรมเป็นหลัก
แต่แนวทาง functional programming จะไม่แก้ state ของโปรแกรมเลย ไม่มีการวนลูบ (ใช้ recursion แทน)
ซึ่งแนวคิดก็ต้องเน้นสร้างฟังก์ชั่นนั่นแหละ แต่หลักสำคัญต้องออกแบบให้หลีกเลี่ยง side-effect (ผลข้างเคียง) ที่จะเกิดต่อ function ตัวเอง และตัวอื่น โดยมีหลักยึด 2 อย่างใหญ่คือ
👉 1) function ที่สร้างขึ้นมา เมื่อมีอินพุตค่าเดิมส่งไปหา (เป็นค่าอากิวเมนต์) ไม่ว่าจะกี่ครั้งก็ตาม function จะรีเทิร์นค่าออกมาเหมือนเดิมทุกครั้ง ...(ไอเดียมาจากฟังก์ชั่นในทางคณิตศาสตร์เลยครับ)
เช่น
func(1); // เรียกครั้งที่ 1 ก็จะได้ค่ารีเทิร์นออกมาเป็น 30
func(1); // เรียกครั้งที่ 2 ก็จะได้ค่ารีเทิร์นออกมาเป็น 30 เหมือนเดิม
func(1); // เรียกครั้งที่ 3 ก็จะได้ค่ารีเทิร์นออกมาเป็น 30 เหมือนเดิม
👉 2) function ต้องไม่ไปเปลี่ยนแปลงค่าของตัวแปรจำพวก global variable หรือ static variable หรือตัวแปรที่อยู่ข้างนอก function ...เพื่อไม่ให้ function อื่นได้รับผลกระทบ
ถ้า function ที่เราประกาศไว้ มีคุณสมบัติ 2 อย่างที่ว่านี้ ก็จะเรียกว่า pure function (ฟังก์ชั่นบริสุทธ์แท้ๆ) 👌
สำหรับอีกคุณลักษณะหนึ่งที่จะไม่กล่าวถึงไม่ได้เลยก็คือ
👉 3) First-class function และ Higher-order function
คำว่า first-class function มาจาก "first class citizen" ที่หมายถึง "พลเมืองชั้นหนึ่ง" ดังนั้น first-class function จะหมายถึง ฟังก์ชั่นเป็นพลเมืองชั้นหนึ่งจริงๆ เลยนะ
คุณสมบัตินี้ function จะถูกมองเป็นข้อมูลประเภทหนึ่ง ไม่ต่างจากข้อมูลตัวเลข สตริง บูลีน ด้วยเหตุนี้จึงสามารถนำ function ไปกำหนดค่าให้กับตัวแปรยังได้เลย เช่น
x = function(){ .....}
ส่วนคุณสมบัติ Higher-order function:
คุณสมบัตินี้หมายถึง เราสามารถใช้ function ส่งไปเป็นค่าอากิวเมนต์แก่ function ตัวอื่น หรือ function จะรีเทิร์นออกมาจาก function ตัวอื่นออกมาก็ได้ด้วย เช่น
- ส่ง function_A เป็นค่าอากิวเมนต์ไปให้ function_X(function_A);
- จากนั้น function_X() ก็จะสร้าง function_Y แล้วรีเทิร์นมันออกมาได้
😜 ===ประโยชน์ functional programming===
🔥 เอาไปเขียนโปรแกรมโดยไม่มีการวนลูป เช่น ไม่ต้องมานั่งเขียน for … หรือ while… วนลูป เพื่อเข้าถึงข้อมูลโครงสร้างพวก array , list ฯลฯ เป็นต้น
🔥 การทำ currying หมายถึงทำให้ฟังก์ชั่น จากเดิมที่มี parameter หลายตัวให้เหลือแค่ตัวเดียว ด้วยการส่งผลลัพธ์เป็น function ที่รับ Parameter ที่เหลือ ...ใช้เทคนิค closure
🔥 หรือจะทำ function Composition (เอาฟังก์ชั่นมาประกอบกัน)
🔥 หรือจะเอาไปใช้เขียนโปรแกรมแบบ parallel computing (โปรแกรมคู่ขนาน)
🔥 หรือจะเขียนโปรแกรมแบบ asynchronous โดยที่โค้ดหลักไม่ต้องรอการประมวลผลฝั่ง I/O ให้แล้วเสร็จ โค้ดหลักสามารถข้ามไปยังบรรทัดถัดไปก่อนได้เลย
🔥 Testability — ผลพลอยได้ก็คือ เอาแนวคิดนี้ไปใช้ทำ test function ได้ง่าย โดยแต่ละการ test จะเป็นอิสระต่อกัน เมื่อใช้วิธีการเดิมในการทดสอบ 10 ครั้ง ก็ควรได้ผลเหมือนเดิม 10 ครั้ง เป็นต้น
++++ 🤔 ++++++
เมื่อเปรียบเทียบกับแนวคิด OOP (โปรแกรมเชิงวัตถุ object-oriented programming)
ถ้าโจทย์ปัญหาเป็น parallel computing หรือ asynchronous การใช้แนวคิด functional programming ดูแล้วคล่องแคล่วปราดเปรียวไม่ยุ่งยาก
เนื่องจากแนวคิด functional programming ไม่มีอะไรซับซ้อนมากนัก เขียนโปรแกรมก็จะกระชับ ง่าย...ง๊าย เมื่อเทียบกับ OOP ที่โค้ดจะเยอะกว่า เพราะมี class มากมาย ยิ่งถ้า inheritance โดยให้มีการสืบทอดสมาชิกหลายชั้น ก็จะสับสนตาลาย มึนงงได้ คงต้องพึ่ง IDE ให้เป็นพี่เลี้ยงช่วยแนะนำว่ามีสมาชิกอะไรที่สืบทอดมา
แต่จุดเด่นเรื่อง OOP จะมีความเป็น Modularity ที่สูง โค้ดที่เขียนเป็นอ็อบเจ็กต์แต่ละตัวจะเป็นอิสระต่อกัน เนื่องจากข้อมูลหรือ state ซึ่งอยู่ภายในตัวอ็อบเจ็กต์เอง จะมีเป็นของใครของมัน ขณะเดียวกันแต่ละอ็อบเจ็กต์จะปฏิสัมพันธ์กันได้ สามารถเอาอ็อบเจ็กต์ที่มีอยู่แล้วมา reuse ใช้ได้ง่าย รวมทั้งถอดเข้าถอดออกขณะโปรแกรม run time
แล้วแต่สถานการณ์ว่าจะใช้แนวทางเขียนโปรแกรมแบบไหน
แต่ก็ยอมรับว่าบางทีเขียนแบบ functional programming ก็ยากต่อการทำความเข้าใจ เพราะโค้ดมันสั้นกระชับเกิ๊น
ยิ่งหลายภาษาโปรแกรมมิ่งสมัยใหม่ในปัจจุบันนี้ มีการแทรกแนวคิด functional programming เข้ามา นอกเหนือจากแนวคิด OOP เช่น JavaScript, Python, Java, C#, Swift, Kotlin แต่ก็อาจประยุกต์แนวคิดนี้ได้ไม่ 100% มากนัก
จะไม่เหมือนบ้างภาษาเช่น Haskell ที่มาพร้อมกับ immutable data structure หมายถึงข้อมูลที่ไม่สามารถแก้ไขค่าได้เลย จึงทำให้ function กลายเป็น functional programming แท้ๆ (pure function)
✍ สรุป แนวคิดนี้ไม่ได้เรื่องใหม่มีมานานก่อนบางคน ...อุ้แว ...อุ้แวเกิดเสียอีก แต่ตอนโน่นแนวคิดนี้ยังไม่ดังเปรี้ยงเหมือน OOP คนที่เขียนภาษา JavaScript รวมไปถึง Node.js ย่อมใช้หลักการนี้อย่างไม่รู้ตัว ยิ่งภาษาสมัยใหม่หลายตัวก็ยอมรับแนวคิด functional programming เข้ามาในภาษาเรียบร้อยแล้ว ไม่มีนี้ถือว่าแปลกมาก
--------
เขียนโดย โปรแกรมเมอร์ไทย thai programmer
同時也有1部Youtube影片,追蹤數超過12萬的網紅prasertcbs,也在其Youtube影片中提到,เข้าใจขอบเขตการเข้าถึงตัวแปร และหลักการเรียกใช้ตัวแปรในกรณีที่มีการสร้างตัวแปรที่มีชื่อเดียวกันใน Class, Method และ Block ============ playlist สอนภา...
「python class variable」的推薦目錄:
- 關於python class variable 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
- 關於python class variable 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最讚貼文
- 關於python class variable 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最佳解答
- 關於python class variable 在 prasertcbs Youtube 的最佳解答
- 關於python class variable 在 correct way to define class variables in Python - Stack Overflow 的評價
- 關於python class variable 在 Classes in Python - Enrijeta Shino 的評價
- 關於python class variable 在 [core] Python class variables not updating between all remote ... 的評價
- 關於python class variable 在 Assigning instance variables in function called by __init__ ... 的評價
python class variable 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最讚貼文
Functional programming ชื่อไทยคือ “การโปรแกรมเชิงฟังก์ชั่น” ชื่อย่อ FP เป็นแนวคิดหนึ่งของการเขียนโปรแกรม (programming paradigm) ชื่อขึ้นต้นด้วย functional แต่ไม่ได้มีดีแค่ประกาศ function ปุ๊บเสร็จ แล้วเรียกใช้ มันมีเบื้องลึกมากกว่านั้นแน่ๆ
🤔 มันจะต่างจากการเขียนโปรแกรมทีละสเตป ตามลำดับก่อนหลัง มีการวนลูป ที่เน้นแก้ state ของโปรแกรมเป็นหลัก
แต่แนวทาง functional programming จะไม่แก้ state ของโปรแกรมเลย ไม่มีการวนลูบ (ใช้ recursion แทน)
ซึ่งแนวคิดก็ต้องเน้นสร้างฟังก์ชั่นนั่นแหละ แต่หลักสำคัญต้องออกแบบให้หลีกเลี่ยง side-effect (ผลข้างเคียง) ที่จะเกิดต่อ function ตัวเอง และตัวอื่น โดยมีหลักยึด 2 อย่างใหญ่คือ
👉 1) function ที่สร้างขึ้นมา เมื่อมีอินพุตค่าเดิมส่งไปหา (เป็นค่าอากิวเมนต์) ไม่ว่าจะกี่ครั้งก็ตาม function จะรีเทิร์นค่าออกมาเหมือนเดิมทุกครั้ง ...(ไอเดียมาจากฟังก์ชั่นในทางคณิตศาสตร์เลยครับ)
เช่น
func(1); // เรียกครั้งที่ 1 ก็จะได้ค่ารีเทิร์นออกมาเป็น 30
func(1); // เรียกครั้งที่ 2 ก็จะได้ค่ารีเทิร์นออกมาเป็น 30 เหมือนเดิม
func(1); // เรียกครั้งที่ 3 ก็จะได้ค่ารีเทิร์นออกมาเป็น 30 เหมือนเดิม
👉 2) function ต้องไม่ไปเปลี่ยนแปลงค่าของตัวแปรจำพวก global variable หรือ static variable หรือตัวแปรที่อยู่ข้างนอก function ...เพื่อไม่ให้ function อื่นได้รับผลกระทบ
ถ้า function ที่เราประกาศไว้ มีคุณสมบัติ 2 อย่างที่ว่านี้ ก็จะเรียกว่า pure function (ฟังก์ชั่นบริสุทธ์แท้ๆ) 👌
สำหรับอีกคุณลักษณะหนึ่งที่จะไม่กล่าวถึงไม่ได้เลยก็คือ
👉 3) First-class function และ Higher-order function
คำว่า first-class function มาจาก "first class citizen" ที่หมายถึง "พลเมืองชั้นหนึ่ง" ดังนั้น first-class function จะหมายถึง ฟังก์ชั่นเป็นพลเมืองชั้นหนึ่งจริงๆ เลยนะ
คุณสมบัตินี้ function จะถูกมองเป็นข้อมูลประเภทหนึ่ง ไม่ต่างจากข้อมูลตัวเลข สตริง บูลีน ด้วยเหตุนี้จึงสามารถนำ function ไปกำหนดค่าให้กับตัวแปรยังได้เลย เช่น
x = function(){ .....}
ส่วนคุณสมบัติ Higher-order function:
คุณสมบัตินี้หมายถึง เราสามารถใช้ function ส่งไปเป็นค่าอากิวเมนต์แก่ function ตัวอื่น หรือ function จะรีเทิร์นออกมาจาก function ตัวอื่นออกมาก็ได้ด้วย เช่น
- ส่ง function_A เป็นค่าอากิวเมนต์ไปให้ function_X(function_A);
- จากนั้น function_X() ก็จะสร้าง function_Y แล้วรีเทิร์นมันออกมาได้
😜 ===ประโยชน์ functional programming===
🔥 เอาไปเขียนโปรแกรมโดยไม่มีการวนลูป เช่น ไม่ต้องมานั่งเขียน for … หรือ while… วนลูป เพื่อเข้าถึงข้อมูลโครงสร้างพวก array , list ฯลฯ เป็นต้น
🔥 การทำ currying หมายถึงทำให้ฟังก์ชั่น จากเดิมที่มี parameter หลายตัวให้เหลือแค่ตัวเดียว ด้วยการส่งผลลัพธ์เป็น function ที่รับ Parameter ที่เหลือ ...ใช้เทคนิค closure
🔥 หรือจะทำ function Composition (เอาฟังก์ชั่นมาประกอบกัน)
🔥 หรือจะเอาไปใช้เขียนโปรแกรมแบบ parallel computing (โปรแกรมคู่ขนาน)
🔥 หรือจะเขียนโปรแกรมแบบ asynchronous โดยที่โค้ดหลักไม่ต้องรอการประมวลผลฝั่ง I/O ให้แล้วเสร็จ โค้ดหลักสามารถข้ามไปยังบรรทัดถัดไปก่อนได้เลย
🔥 Testability — ผลพลอยได้ก็คือ เอาแนวคิดนี้ไปใช้ทำ test function ได้ง่าย โดยแต่ละการ test จะเป็นอิสระต่อกัน เมื่อใช้วิธีการเดิมในการทดสอบ 10 ครั้ง ก็ควรได้ผลเหมือนเดิม 10 ครั้ง เป็นต้น
++++ 🤔 ++++++
เมื่อเปรียบเทียบกับแนวคิด OOP (โปรแกรมเชิงวัตถุ object-oriented programming)
ถ้าโจทย์ปัญหาเป็น parallel computing หรือ asynchronous การใช้แนวคิด functional programming ดูแล้วคล่องแคล่วปราดเปรียวไม่ยุ่งยาก
เนื่องจากแนวคิด functional programming ไม่มีอะไรซับซ้อนมากนัก เขียนโปรแกรมก็จะกระชับ ง่าย...ง๊าย เมื่อเทียบกับ OOP ที่โค้ดจะเยอะกว่า เพราะมี class มากมาย ยิ่งถ้า inheritance โดยให้มีการสืบทอดสมาชิกหลายชั้น ก็จะสับสนตาลาย มึนงงได้ คงต้องพึ่ง IDE ให้เป็นพี่เลี้ยงช่วยแนะนำว่ามีสมาชิกอะไรที่สืบทอดมา
แต่จุดเด่นเรื่อง OOP จะมีความเป็น Modularity ที่สูง โค้ดที่เขียนเป็นอ็อบเจ็กต์แต่ละตัวจะเป็นอิสระต่อกัน เนื่องจากข้อมูลหรือ state ซึ่งอยู่ภายในตัวอ็อบเจ็กต์เอง จะมีเป็นของใครของมัน ขณะเดียวกันแต่ละอ็อบเจ็กต์จะปฏิสัมพันธ์กันได้ สามารถเอาอ็อบเจ็กต์ที่มีอยู่แล้วมา reuse ใช้ได้ง่าย รวมทั้งถอดเข้าถอดออกขณะโปรแกรม run time
แล้วแต่สถานการณ์ว่าจะใช้แนวทางเขียนโปรแกรมแบบไหน
แต่ก็ยอมรับว่าบางทีเขียนแบบ functional programming ก็ยากต่อการทำความเข้าใจ เพราะโค้ดมันสั้นกระชับเกิ๊น
ยิ่งหลายภาษาโปรแกรมมิ่งสมัยใหม่ในปัจจุบันนี้ มีการแทรกแนวคิด functional programming เข้ามา นอกเหนือจากแนวคิด OOP เช่น JavaScript, Python, Java, C#, Swift, Kotlin แต่ก็อาจประยุกต์แนวคิดนี้ได้ไม่ 100% มากนัก
จะไม่เหมือนบ้างภาษาเช่น Haskell ที่มาพร้อมกับ immutable data structure หมายถึงข้อมูลที่ไม่สามารถแก้ไขค่าได้เลย จึงทำให้ function กลายเป็น functional programming แท้ๆ (pure function)
✍ สรุป แนวคิดนี้ไม่ได้เรื่องใหม่มีมานานก่อนบางคน ...อุ้แว ...อุ้แวเกิดเสียอีก แต่ตอนโน่นแนวคิดนี้ยังไม่ดังเปรี้ยงเหมือน OOP คนที่เขียนภาษา JavaScript รวมไปถึง Node.js ย่อมใช้หลักการนี้อย่างไม่รู้ตัว ยิ่งภาษาสมัยใหม่หลายตัวก็ยอมรับแนวคิด functional programming เข้ามาในภาษาเรียบร้อยแล้ว ไม่มีนี้ถือว่าแปลกมาก
--------
เขียนโดย โปรแกรมเมอร์ไทย thai programmer
python class variable 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最佳解答
วิชาใหม่แกะกล่องของกระทรวงศึกษา ชื่อ "วิทยาการคำนวณ" ได้บรรจุภาษาเขียนโปรแกรม Python เป็นหนึ่งในภาษาโปรแกรมมิ่งหลัก ตั้งแต่ระดับชั้น ม.1 เปิดเทอมเดือน พ.ค.นี้ เริ่มเรียนกันได้!
สำหรับเนื้อหาส่วนเขียนโปรแกรม อันนี้เป็นตัวอย่างของ ม.1 เทอมแรก น้องจะได้เรียนแค่นี้เอง ก็ไม่ได้มากมายอะไร (หรือเปล่า)
-รู้จักไพธอน
-ตัวแปร
-ชนิดข้อมูลพื้นฐาน
-การแปลงชนิดข้อมูล
-การเขียนโปรแกรมไพทอนในโหมดสคริปต์
-ฝึกเขียนโปรแกรมกับเต่าไพทอน
-การทำงานแบบวนซ้ำ
-การทำงานแบบมีทางเลือก
ส่วนเนื้อหานอกจากเขียนโปรแกรม ก็จะไปเรียนพวก (ส่วนนี้จะมีหลายบทหน่อย)
-แนวคิดเชิงนามธรรม
-การแก้ปัญหา
-ข้อมูลและการประมวลผล
-การใช้เทคโนโลยีสารสนเทศอย่างปลอดภัย
คือหลักสูตรไม่ได้เน้นเขียนโปรแกรมหนักๆ แบบมหาวิทยาลัยนะครับ สอนอย่างอื่นด้วย นี้แค่ยกตัวอย่างเฉพาะเนื้อหาของ ม.1 เทอมแรกที่น้องจะได้เรียนกัน
เอ่อแล้วหลักสูตรไม่ได้บังคับให้เด็กต้องเรียน Python นะครับ ถ้าโรงเรียนยังไม่พร้อม ก็ไม่ต้องสอน แต่ให้เปลี่ยนมาสอนเขียนโปรแกรมด้วย Scratch แทนที่ ซึ่งง่ายต่อการสอนกว่า เพราะมันเป็นภาษาภาพ ใช้บล็อกคำสั่งมารอยเรียงสั่งงาน
ต้องบอกอย่างนี้ครับ หลักสูตรให้เลือกว่าจะสอนเด็กด้วย Python หรือ Scratch มีแค่ 2 ทางให้เลือกอย่างใดอย่างหนึ่ง ซึ่ง Scratch นี้ เด็กจะได้เปรียบตรงที่เริ่มบรรจุในหลักสูตรตั้งแต่ป. 4 (ถ้าเข้าใจไม่ผิดนะ)
โดยส่วนตัวแล้ว ถ้าโรงเรียนพร้อม+เด็กสนใจเขียนโปรแกรมจริงๆ เลือกสอน Python ไปเลยก็ดี มันต่อยอดไปยังภาษาระดับสูงได้อีกหลายตัว เด็กจะได้มีพื้นฐานตอนเรียนระดับมหาวิทยาลัยอีกด้วย
ดังนั้นต่อไปนี้ Python + Scratch จะเป็นภาษาโปรแกรมแรกๆ ที่เด็กไทยทั่วประเทศจะมีโอกาสเรียนรู้ ไม่ต่างกับหลายๆ ประเทศที่เขาสอนเขียนโปรแกรมตั้งแต่เด็ก ...ยิ่งที่จีนเขาไปไกลเริ่มสอนปัญญาประดิษฐ์(AI) ตั้งแต่เด็กแล้ว
ถึงเขาจะก้าวไปก่อนเรา แต่อย่างน้อยบ้านเราตอนนี้ก็เริ่มสอนดังเช่นเมืองนอกเมืองนาเขาแหละ แล้วต่อไปคงเห็นเด็กยุค 4.0 มีพื้นฐานเขียนโปรแกรมสร้างแอพตั้งแต่เด็ก ...หรือได้กระบวนการคิดพวกตรรกะ มีเหตุผล มีลำดับขั้นตอน ก็ยังดีนะครับ
------------------
หมายเหตุ
------------------
1) วิชา "วิทยาการคำนวณ" ถือเป็นหลักสูตรแกนกลาง เริ่มสอนเด็กตั้งแต่ประถม ป.1 ....พูดง่ายๆ เรียนกันทุกคนตั้งแต่เด็กครับ ทั้งโรงเรียนรัฐและเอกชน
2) แต่ในระดับประถมจะปูพื้นฐานกระบวนการคิดที่จำเป็นต่อการเขียนโปรแกรมเป็นหลัก (เนื้อหาอ่านง่ายเป็นการ์ตูน ไม่น่าเบื่อ) ไม่ได้จับมือเขียนโปรแกรมเป็นเรื่องเป็นราว แต่พอขึ้นป.4 จะเริ่มแทรกลอจิกด้วยภาษา Scratch ซึ่งความยากง่ายเป็นไปตามระดับชั้น
3) พอขึ้นม.4 จะเน้นสอนอัลกอริทึม กระบวนการคิดที่เข้มข้นขึ้น มีโครงงานให้ทำ (ไม่ได้สอนไวยากรณ์ของภาษา Python เหมือนม.ต้น)
4) หลักสูตรจะนำร่องเริ่ม ป.1, ป.4, ม.1 และ ม.4 จากนั้นทยอยสอนให้ครบ 12 ชั้นปี
A new subject to unpack the ministry of education named "calculation" has packed the language. Python is one of the main program since high school class. 1 School starts in the month. Jul. Let's start studying!
For the content, the programming is an example of the university. The first 1 semester, I will be able to study this much. (or not)
- Know Python.
- Variable
- Basic information type
- Conversion of data type
- Pyton programming in script mode
- Programming practice with Pyton Turtle
- Repeated work
- Working with choice
As for the content, besides writing, I will go to study. (there will be many chapters in this part)
- Abstract concept
- Solution
- Data and processing
- Safe use of information technology
Well, the course doesn't focus on writing heavy programs like university. Teaching something else. Just for example, only the content of the university. The first 1 semesters that you will be able to study.
Well, the course is not forcing kids to study Python. If school is not ready, you don't have to teach, but change to write program with scratch instead. It's easier to teach because it's a photo language. Use to block order.
I have to tell you this course to choose whether to teach kids with Python or Scratch. There are only 2 ways to choose from. This Scratch will have an advantage of the course. 4 (If I understand correctly)
Personally, if school is ready + kids are interested in writing a program. Choose to teach Python. It's good. It can continue to the top language. Many more children will have the basics in university.
Therefore, Python + Scratch will be the first language that Thai children all over the country will have a chance to learn. It's not different than many countries that they teach to write programs since they were young... The more they go, he goes far. Start teaching artificial intelligence (AI
Even though they move before us, at least our home is now starting to teach like abroad. Next, I will see kids in the 4.0 s have the basics to build apps since they were young... or have thought process. There is a reason. It's good to have a process.
------------------
Note:
------------------
1) "calculation science" is a core course. Start teaching children from elementary school. 1.... Easy to say. Everyone has studied since we were young. Both cuddle states and private schools.
2) but in elementary school, it will pave the basic thought process that is necessary for programming (easy to read content, not boring). Not holding hands, but when it's enough to the po. 4 will start inserting logic with Scratch, which difficulty is easy to the class.
3) When I go to high school. 4 I will focus on teaching algorithms. Intense thought process. There is a project to do. (not teach Python's grammar like university. (TREE)
4) The course will start the pilot. 1, po. 4, m 1 and high school 4 then gradually teach 12th gradeTranslated
python class variable 在 prasertcbs Youtube 的最佳解答
เข้าใจขอบเขตการเข้าถึงตัวแปร และหลักการเรียกใช้ตัวแปรในกรณีที่มีการสร้างตัวแปรที่มีชื่อเดียวกันใน Class, Method และ Block
============
playlist สอนภาษา C# เบื้องต้น
https://www.youtube.com/watch?v=bu6kwrpOqFM&list=PLoTScYm9O0GE4trr-XPozJRwaY7V9hx8K
============
playlist สอนภาษา C เบื้องต้น
https://www.youtube.com/watch?v=Z_u8Nh_Zlqc&list=PLoTScYm9O0GHHgz0S1tSyIl7vkG0y105z
============
playlist สอนภาษา C++ เบื้องต้น
https://www.youtube.com/watch?v=_NHyJBIxc40&list=PLoTScYm9O0GEfZwqM2KyCBcPTVsc6cU_i
============
playlist สอนภาษาจาวา Java เบื้องต้น
https://www.youtube.com/watch?v=O3rW9JvADfU&list=PLoTScYm9O0GF26yW0zVc2rzjkygafsILN
============
playlist สอนการทำ Unit Test ภาษาจาวา Java
https://www.youtube.com/watch?v=R11yg8hKApU&list=PLoTScYm9O0GHiK3KNdH_PrNB0G3-kb1Bi
============
playlist สอนภาษาไพธอน Python เบื้องต้น
https://www.youtube.com/watch?v=DI7eca5Kzdc&list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
============
playlist สอนภาษาไพธอน Python การเขียนโปรแกรมเชิงวัตถุ (OOP: Object-Oriented Programming)
https://www.youtube.com/watch?v=4bVBSluxJNI&list=PLoTScYm9O0GF_wbU-7layLaSuHjzhIRc9
============
playlist สอนภาษา R เบื้องต้น
https://www.youtube.com/watch?v=oy4qViQLXsI&list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
============
playlist สอนภาษา PHP เบื้องต้น
https://www.youtube.com/watch?v=zlRDiXjYVo4&list=PLoTScYm9O0GH_6LARFxozL_viEsXV2wgO
============
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่
https://www.youtube.com/subscription_center?add_user=prasertcbs
python class variable 在 Classes in Python - Enrijeta Shino 的推薦與評價
Class variables are shared in the sense that they are accessed by all objects (instances) of that class. There is only copy of the class variable and when any ... ... <看更多>
python class variable 在 [core] Python class variables not updating between all remote ... 的推薦與評價
I can use a different class with an counter instance variable and have all of the launched classes update that; I could add the shared state in ... ... <看更多>
python class variable 在 correct way to define class variables in Python - Stack Overflow 的推薦與評價
... <看更多>
相關內容