Python – คีย์เวิร์ด global

Python – คีย์เวิร์ด global เราใช้คีย์เวิร์ด global เพื่ออนุญาติให้สามารถทำการเปลี่ยนแปลงค่าตัวแปรที่อยู่ด้านนอกข้อมูลใน scope ปัจจุบัน จะถูกใช้สำหรับสร้าง global variables และเปลี่ยนค่าตัวแปรใน local context กฏการใช้คีย์เวิร์ด global เมื่อสร้างตัวแปรขึ้นภายในฟังก์ชัน ตัวแปรนั้นจะเป็น local variable โดยอัตโนมัติ เมื่อสร้างตัวแปรขี้นนอกฟังก์ชัน ตัวแปรนั้นจะเป็น global variable โดยอัตโนมัติ โดยไม่ต้องใช้คีย์เวิร์ด global จำเป็นต้องใช้คีย์เวิร์ด global เมื่อต้องการทั้งอ่าน/เขียน ตัวแปร global ภายในฟังก์ชัน หากใช้คีย์เวิร์ด global ภายนอกฟังก์ชัน จะไม่มีผลใดๆ เพิ่มเติม การใช้คีย์เวิร์ด global ตัวอย่างการใช้งาน การเรียกดูของมูล global variable จากภายในฟังก์ชัน # สร้างฟังก์ชันสำหรับคำนวณหาระยะทางที่วัตถุเคลื่อนที่ไป โดยทราบความเร็วคงที่ของวัตถุ และระยะเวลาที่ใช้ในการเดินทาง(ในกรณีที่วัตถุดังกล่าวไม่เคลื่อนที่โดยมีความเร่ง) อ้างอิงจากสมการ s = v Read more about Python – คีย์เวิร์ด global[…]

Python – การใช้งาน global, local, nonlocal

Python – การใช้งาน global, local, nonlocal รู้จักกับ Global Variables โดยทั่วไปแล้วตัวแปรที่ประกาศภายนอกฟังก์ชันหรือใน global scope จะเรียกตัวแปรนั้นว่าเป็น global variable และขอบเขตที่สามารถจะเรียกใช้ตัวแปรนี้ จะถูกเรียกดูข้อมูลได้ทั้งภายในและภายนอกฟังก์ชัน แต่จะสามารถแก้ไขตัวแปรนี้ได้ใน global scope เท่านั้นไม่สามารถทำการแก้ไขได้ภายในฟังก์ชันได้ ตัวอย่างการใช้งาน # ฟังก์ชันสำหรับคำนวณเลขยกกำลัง # ตัวอย่างเช่น 10^3 = 10 x 10 x 10 def calculate_power(power): total = 1 for i in range(1, power+1): total *= base return total # กำหนดค่าของฐานเป็น 10 ซึ่งตัวแปร base เป็น global Read more about Python – การใช้งาน global, local, nonlocal[…]

Python – Anonymous function

Python – Anonymous function anonymous ฟังก์ชัน คือฟังก์ชันที่ประกาศขึ้นมาโดยไม่ทำการระบุชื่อของฟังก์ชันในการเรียกใช้งาน สำหรับการประกาศฟังก์ชันโดยทั่วไปต้องระบุคีย์เวิร์ด def ไว้หน้าชื่อของฟังก์ชัน เช่น def calculate_price: แต่สำหรับฟังก์ชันแบบ anonymous นั้น จะระบุการประกาศฟังก์ชันโดยใช้คีย์เวิร์ด lambda แทน เราจึงสามารถเรียกฟังก์ชันแบบนี้ว่า lambda ฟังก์ชันได้เช่นเดียวกัน โครงสร้างการใช้งาน anonymous ฟังก์ชัน lambda <ตัวแปร1, ตัวแปร2 …>: <ประโยคคำสั่งของฟังก์ชัน> การสร้างฟังก์ชัน anonymous(lambda ฟังก์ชัน)นี้ เราสามารถทำการกำหนดข้อมูลตัวแปรที่ส่งเข้าไปกี่ตัวก็ได้ขึ้นอยู่กับจุดประสงค์การทำงานของฟังก์ชันที่เราเขียนขึ้นมา แต่สามารถระบุ ประโยคคำสั่ง ได้แค่คำสั่ง(expression)เดียวเท่านั้น โดยโปรแกรมจะทำการประมวลผลข้อมูลที่ป้อนเข้าไปด้วยคำสั่งที่กำหนด แล้วจึงคืนผลลัพท์ออกมา ตัวอย่างการใช้งานของฟังก์ชัน lambda # สร้าง anonymous ฟังก์ชันสำหรับแปลงข้อมูลในหน่วยเซนติเมตร เป็นหน่วยฟุต length_in_foot = lambda length_in_cm: length_in_cm * 0.032808 # กำหนดความยาวในหน่วยเซนติเมตร Read more about Python – Anonymous function[…]

Python – recursive function

การใช้งานฟังก์ชันแบบ recursive ในการใช้งานฟังก์ชันนั้น นอกจากเราจะระบุชุดคำสั่งเพื่อดำเนินการแล้ว เรายังสามารถจะเรียกใช้งานฟังก์ชันอื่นจากในฟังก์ชันได้ และสามารถเรียกใช้ตัวฟังก์ชันตัวเองซ้อนกันได้อีกด้วย ซึ่งการเขียนฟังก์ชันที่มีการเรียกใช้ฟังก์ชันตัวเองนั้นเราจะเรียกการใช้งานแบบนี้ว่า ฟังก์ชัน recursive ตัวอย่างการใช้งาน # สร้างฟังก์ชันสำหรับการคำนวณแฟคทอเรียล(n!) def factorial(n): # ตรวจสอบข้อมูลตัวเลข หากเป็นจำนวนลบ ให้แจ้งข้อผิดพลาด if n < 0: raise ValueError("กรุณาระบุข้อมูลเป็นตัวเลขจำนวนเต็มบวก สำหรับการคำนวณแฟคทอเรียล") # ตรวจสอบข้อมูลตัวเลข หากเป็น 0 ผลลัพท์ของแฟคทอเรียลคือ 1 elif n==0 : return 1 # ตรวจสอบข้อมูลตัวเลข หากเป็นจำนวนเต็มมีค่าตั้งแต่ 1 ขึ้นไป ให้เรียกฟังก์ชันตัวเองซ้อนลงไปเรื่อยๆ เพื่อคำนวณหาแฟคทอเรียล n x (n-1)! elif n > 0: return n*factorial(n-1) n = 6 Read more about Python – recursive function[…]

Python – Function argument

Python – Function argument ในการสร้างฟังก์ชันขึ้นมาใช้งานเอง(user-defined function) บางกรณีฟังก์ชันที่เราสร้างอาจต้องการข้อมูลประกอบเพื่อใช้ในการประมวลผลเพื่อให้ได้ผลลัพท์ตามต้องการ จึงต้องมีการส่งข้อมูลซึ่งอาจเป็นข้อมูลเดียวหรือหลายข้อมูลเข้าไปในฟังก์ชัน เพื่อให้สามารถประมวลผลตามแต่จุดประสงค์การใช้งานของฟังก์ชันนั้นนั้นๆ 1. การสร้างฟังก์ชันแบบจำเป็นต้องระบุข้อมูลให้ครบตามจำนวนข้อมูลที่ฟังก์ชันต้องการและเรียงลำดับตามที่ประกาศเสมอ การสร้างฟังก์ชันในรูปแบบนี้ เราจำเป็นต้องทำการส่งข้อมูลเข้าไปให้ฟังก์ชันแบบเรียงลำดับตามที่กำหนดไว้ตอนประกาศฟังก์ชัน และจำนวนของข้อมูลนั้นต้องเท่ากันกับจำนวนข้อมูลที่ฟังก์ชันต้องการเสมอ หากทำการป้อนข้อมูลเข้าไปไม่ครบหรือเรียงลำดับของข้อมูลที่ส่งเข้าไปผิดลำดับ ก็อาจทำให้โปรแกรมประมวลผลข้อมูลผิดพลาดได้ ตัวอย่างการใช้งาน import math # ฟังก์ชันคำนวณพื้นที่ของสี่เหลี่ยมจัตุรัสโดยรับข้อมูล: ความยาวของด้าน(d) def calculate_square_area(d): square_area = d * d return square_area # ฟังก์ชันคำนวณพื้นที่ของสามเหลี่ยมโดยรับข้อมูล: ความยาวฐาน(b) และความสูง(h) def calculate_triangle_area(b, h): triangle_area = (1.0/2.0) * b * h return triangle_area # ฟังก์ชันคำนวณพื้นที่ของวงกลมโดยรับข้อมูล: รัศมีของวงกลม(r) def calculate_circle_area(d): circle_area = math.pi Read more about Python – Function argument[…]

Python – Function

Python – function ฟังก์ชันคือการจัดกลุ่มของชุดคำสั่งที่ต้องใช้ในการทำงานร่วมกัน เพื่อให้โปรแกรมมีผลลัพท์ตามเป้าหมายที่กำหนดไว้ การสร้างเป็นฟังก์ชันนั้นจะช่วยในการจัดกลุ่มของชุดคำสั่งที่เราเขียนให้แยกเป็นกลุ่มๆ ตามเป้าหมายของการทำงาน ทำให้สะดวกในการเรียกใช้และยังช่วยให้สามารถแก้ไขหรือค้นหาได้สะดวกขึ้น เพราะเมื่อเราทำการเขียนโปรแกรมที่ซับซ้อนขึ้น จำนวนบรรทัดของคำสั่งก็มากขึ้นตาม ทำให้หากไม่ทำการจัดกลุ่มคำสั่งเป็นชุดๆ จะทำให้ลำบากในการทำการแก้ไขหรือเรียกใช้ในภายหลัง การสร้างฟังก์ชันนั้นนอกจากจะช่วยแบ่งคำสั่งเป็นกลุ่มย่อยๆ แล้วยังทำให้เราสามารถเรียกใช้ชุดคำสั่งนั้นซ้ำๆ ได้โดยไม่ต้องเขียนคำสั่งชุดเดิมใหม่อีกด้วย โครงสร้างฟังก์ชัน # ฟังก์ชันที่ไม่มีการส่งข้อมูลเข้าไป และไม่ทำการคืนค่าข้อมูล def <ชื่อฟังก์ชัน<(): <คำสั่งของฟังก์ชัน1> <คำสั่งของฟังก์ชัน2> … # ฟังก์ชันที่มีการส่งข้อมูลเข้าไป แต่ไม่ทำการคืนค่าข้อมูล def <ชื่อฟังก์ชัน<(<ตัวแปร1>, <ตัวแปร2>, …): <คำสั่งของฟังก์ชัน1> <คำสั่งของฟังก์ชัน2> … # ฟังก์ชันที่มีการส่งข้อมูลเข้าไป และมีการคืนค่าข้อมูล def <ชื่อฟังก์ชัน<(<ตัวแปร1>, <ตัวแปร2>, …): <คำสั่งของฟังก์ชัน1> <คำสั่งของฟังก์ชัน2> … return <ผลลัพท์ที่ต้องการส่งกลับไปให้ส่วนที่เรียกใช้ฟังก์ชัน> ตัวอย่างการใช้งานฟังก์ชัน import datetime # ฟังก์ชันสำหรับทำการปรินท์ค่าข้อมูลวันที่ของวันนี้ ซึ่งเป็นฟังก์ชันที่ไม่มีการส่งข้อมูลเข้าไป และไม่มีการคืนค่า def print_current_date(): Read more about Python – Function[…]

Python – Pass

Python – Pass คีย์เวิร์ด pass นั้นคือคำสั่งหนึ่งที่ระบุว่าไม่มีการดำเนินการใดๆ ในบรรทัดนั้น มักจะใช้ในกรณีที่มีการวางโครงสร้างโปรแกรมเอาไว้ แต่ยังไม่ได้ลงรายละเอียดในการระบุคำสั่ง การใช้คีย์เวิร์ด pass นี้ จะต่างกับการใช้คอมเมนท์ตรงที่ หากเป็นการเขียนคอมเมนท์(comment) ตัวแปลภาษาจะไม่ทำการแปลผลโค้ดในส่วนดังกล่าวให้เป็นภาษาที่คอมพิวเตอร์เข้าใจและใช้ดำเนินการ แต่สำหรับการใช้คีย์เวิร์ด pass นั้น ตัวแปลภาษาจะประมวลผลโค้ดส่วนดังกล่าวเป็นภาษาที่คอมพิวเตอร์เข้าใจ ซึ่งตัวคำสั่ง pass เองนั้นทำการระบุว่า ยังไม่ต้องการให้มีการกระทำการใดๆ ตรงบรรทัดนี้ โครงสร้างของ pass # เรียกใช้คีย์เวิร์ด pass pass การใช้งานคีย์เวิร์ด pass สำหรับคลาส สามารถใช้คีย์เวิร์ด pass สำหรับคลาสในส่วนของบล๊อกคำสั่งของคลาส โดยใช้คีย์เวิร์ด pass เพื่อเป็นการบอกว่ายังไม่มีการกำหนดตัวแปร หรือฟังก์ชันใดๆ สำหรับคลาสดังกล่าว ตัวอย่างการใช้งาน class room(): # กำหนดคลาสสำหรับเก็บข้อมูลห้องเรียน แต่ยังไม่มีการระบุรายละเอียดของคำสั่งสามารถเรียกใช้จากคลาสนี้ได้ pass # สร้างออบเจคของคลาส เพื่อจะสามารถเข้าถึงการใช้งานของตัวแปรและฟังก์ชัน r = room() การใช้งานคีย์เวิร์ด Read more about Python – Pass[…]

Python – break และ continue

break และ continue การใช้ break และ continue จะใช้เมื่อต้องการที่จะเพิ่มข้อยกเว้นจากเงื่อนไขการทำงานของลูป เพราะในบางกรณีเราอาจต้องการที่จะข้ามการทำงานบางรอบของลูป หรือต้องการที่จะยุติการทำงานของลูปก่อนจะครบตามเงื่อนไขเดิมที่กำหนดไว้ด้วยข้อยกเว้นบางอย่าง การใช้ break จะยุติการทำงานทั้งหมดของลูปที่บรรจุคำสั่ง break เอาไว้ แต่ในกรณีการใช้ break กับลูปที่ซ้อนกันหลายชั้น(nested-loop) โปรแกรมจะทำการยุติการทำงานเฉพาะแค่ลูปในสุดที่บรรจุคำสั่งนั้นอยู่เท่านั้น โดยที่ลูปชั้นนอกยังคงดำเนินการต่อไป โครงสร้างของ break # โครงสร้างการใช้ break กับ for loop for <data> in <sequence_of_data>: if <test_condition>: break # โครงสร้างการใช้ break กับ while loop while <test_condition1>: if <test_condition2>: break ตัวอย่างการใช้งาน # คะแนนของนักเรียนทั้งหมด student_scores = [90, 40, 71, 52, Read more about Python – break และ continue[…]

Python – while loop

while loop การใช้ while loop นั้นจะดำเนินการเพื่อทำชุดคำสั่งใดๆ ซ้ำกันไปเรื่อยๆ หากเงื่อนไขที่กำหนดเมื่อตรวจสอบแล้วยังเป็นจริง(True)อยู่ เรามักจะใช้ while loop ในการทำชุดคำสั่งใดๆ ซ้ำในกรณีที่เราไม่รู้จำนวนรอบที่แน่นอนล่วงหน้าก่อนการสั่งดำเนินการ โครงสร้างของลูป while <test_condition>: <ระบุชุดคำสั่งที่ต้องการทำซ้ำ> …   การใช้งาน while loop สำหรับ while loop ใช้สำหรับการดำเนินการชุดคำสั่งใดซ้ำๆ กันคล้ายกับ for loop ซึ่งเรากล่าวถึงไปในบทที่แล้ว แต่จะมีความแตกต่างกับ for loop ตรงที่ while loop มักจะใช้ในการวนลูปทำชุดคำสั่งใดๆ ซ้ำๆ ในกรณีที่เราไม่ทราบจำนวนครั้งที่แน่นอนมาก่อน แต่อาศัยเงื่อนไขในการตัดสินใจว่าต้องการจะวนลูปต่อไปหรือไม่ โดยการทำงานของ while loop นั้นจะทำการตรวจสอบเงื่อนไขตรงส่วน <test_condition> ก่อน โดยหากผลการตรวจสอบเงื่อนไขเป็นจริง(True) ก็จะดำเนินการกับชุดคำสั่งที่ระบุ ซึ่งชุดคำสั่งกับเงื่อนไขจะแยกบล๊อกกันด้วยการย่อหน้า(indent) เมื่อดำเนินการตามชุดคำสั่งครบในหนึ่งรอบแล้วก็จะทำการตรวจสอบเงื่อนไขตรงส่วน <test_condition> ใหม่อีกครั้งหนึ่งเพื่อตัดสินใจว่าจะทำชุดคำสั่งที่กำหนดไว้ซ้ำหรือไม่ และการวนลูปนั้นจะหยุดก็ต่อเมื่อเงื่อนไขตรงส่วน <test_condition> มีผลเป็นเท็จ(false) Read more about Python – while loop[…]

Python – for loop

for loop for loop มักจะนำมาใช้เมื่อต้องการเขียนโปรแกรมแล้วเรียกใช้กลุ่มคำสั่งใดซ้ำๆ กันเพื่อประมวลผลข้อมูลบางอย่างตามจำนวนรอบตามที่ระบุ โดยมักใช้จะใช้ร่วมกันกับชุดข้อมูลที่เป็น list , tuple, string โครงสร้างของ for loop for <val> in <sequence of vals> : <ระบุชุดคำสั่งที่ต้องการทำซ้ำ> <…> โดย val : คือตัวแปรที่ทำการเก็บข้อมูลซึ่งดึงออกมาใช้ประมวลผลในแต่ละรอบ จากชุดของข้อมูล(sequence of vals)ที่ระบุ การทำงานของลูป: จะวนซ้ำต่อเนื่องกันจนกระทั่งถึงข้อมูลตัวสุดท้ายของชุดข้อมูล(sequence of vals) ที่ระบุ ชุดคำสั่ง:  ชุดคำสั่งสำหรับลูปนั้น จะแยกออกมาด้วยการใช้ย่อหน้า เพื่อทำการระบุจุดเริ่มต้นและจุดสิ้นสุดของชุดคำสั่งที่ต้องการดำเนินการสำหรับลูปนั้นๆ ตัวอย่างการใช้งาน # กำหนดชุดข้อมูลของคะแนนที่ได้จากการสอบของนักเรียน student_scores = [90, 81, 60, 52, 40, 88, 71] # กำหนดค่าเริ่มต้นให้ผลรวมของคะแนนทั้งหมดที่ได้จากการสอบครั้งนี้ total_scores = Read more about Python – for loop[…]