เมื่อเราเรียกใช้ฟังก์ชัน การถ่ายโอนข้อมูลจะแยกกันไม่ออกระหว่างฟังก์ชันหลักและฟังก์ชันการเรียกใช้เสมอ ด้วยการถ่ายโอนข้อมูล จะเป็นการ ถ่ายโอนพารามิเตอร์ วัตถุประสงค์ของพารามิเตอร์คือการส่งข้อมูลไปยังฟังก์ชัน
ตัวอย่างเช่น เราซื้อเครื่องคั้นน้ำผลไม้ เมื่อเราใส่แอปเปิ้ล น้ำแอปเปิ้ลก็จะออกมา พารามิเตอร์ต่างๆ จะถูกส่งผ่านไปยังเป้าหมายผ่านฟังก์ชันหลัก ฟังก์ชั่นและฟังก์ชั่นที่เรียกว่าจะส่งกลับผลลัพธ์ให้เรา
ต่อไปเรามาเรียนรู้เกี่ยวกับการส่งพารามิเตอร์กัน
เพื่อเรียนรู้การส่งผ่านพารามิเตอร์ของฟังก์ชัน ก่อนอื่นเราต้องเข้าใจก่อนว่าพารามิเตอร์ที่เป็นทางการและพารามิเตอร์จริงคืออะไร เรามาต่อด้วยตัวอย่างข้างต้น เรามีภาชนะสำหรับเก็บผลไม้ในเครื่องคั้นน้ำผลไม้ เราใส่ผลไม้ลงในภาชนะนี้ จากนั้นเครื่องคั้นน้ำผลไม้ก็เริ่มทำงาน
พารามิเตอร์ที่เป็นทางการ คือพารามิเตอร์ที่กำหนดไว้ในวงเล็บเมื่อเรากำหนดฟังก์ชัน เราจะใช้พารามิเตอร์นี้เพื่อเขียนโค้ดภายในฟังก์ชัน และ พารามิเตอร์จริง คือพารามิเตอร์ที่ส่งผ่านเมื่อมีการเรียกใช้ฟังก์ชัน ผลลัพธ์ที่ส่งคืนโดยฟังก์ชัน บนพารามิเตอร์จริงนี้แทนพารามิเตอร์ที่เป็นทางการ
ดูตัวอย่างต่อไปนี้:
>>>A=30>>>defget_salary(วัน):...salary=days*300...print(salary)...>>>get_salary(A)9000
ในตัวอย่างข้างต้น จำนวนวันของพารามิเตอร์ที่ใช้เมื่อสร้างฟังก์ชันเป็นพารามิเตอร์ที่เป็นทางการ เมื่อเราเรียกใช้ฟังก์ชัน A คือพารามิเตอร์จริง ซึ่งจริงๆ แล้วเป็นพารามิเตอร์ที่จะนำเข้าสู่ฟังก์ชัน
เมื่อเราสร้างฟังก์ชัน เราสามารถกำหนดพารามิเตอร์ที่เป็นทางการหลายรายการในวงเล็บได้ เมื่อเราเรียกมัน จำนวนและตำแหน่งของพารามิเตอร์จะต้องสอดคล้องกับพารามิเตอร์ที่สร้างขึ้น
จะเกิดอะไรขึ้นหากฟังก์ชันที่เราสร้างมีพารามิเตอร์ที่เป็นทางการ 2 ตัว แต่เราใช้พารามิเตอร์จริงเพียง 1 ตัวเท่านั้นเมื่อเรียกมัน ดูตัวอย่างด้านล่าง
>>>defget_message(ที่อยู่,หมายเลข):...พิมพ์(ที่อยู่,หมายเลข)...>>>get_message('Suzhou')Traceback(mostrecentcalllast):File<stdin>,line1,in<module>TypeError:get_message () Missing1requiredpositionalargument: 'หมายเลข'
เราจะพบว่าเมื่อจำนวนพารามิเตอร์จริงไม่เท่ากับจำนวนพารามิเตอร์ที่เป็นทางการ ข้อยกเว้นจะเกิดขึ้น ซึ่งหมายความว่าหมายเลขพารามิเตอร์ตำแหน่งที่จำเป็นหายไปโดยเฉพาะ
เมื่อตำแหน่งของพารามิเตอร์ไม่สอดคล้องกัน ข้อผิดพลาดสองประการจะเกิดขึ้น ประการแรกคือการรายงานข้อผิดพลาดโดยตรง เนื่องจากเราจะกำหนดประเภทที่แตกต่างกันตามลักษณะของพารามิเตอร์เมื่อส่งผ่านพารามิเตอร์ ดังนั้นข้อผิดพลาดประเภทข้อมูลจะทำให้เกิดข้อยกเว้น
ข้อผิดพลาดอีกประการหนึ่งคือประเภทข้อมูลของพารามิเตอร์ที่ส่งเข้ามานั้นถูกต้อง แต่ตำแหน่งไม่ถูกต้อง ซึ่งจะทำให้ผลลัพธ์เอาต์พุตไม่ถูกต้อง
เพื่อปรับปรุงความสามารถในการอ่านของโปรแกรม สามารถใช้อาร์กิวเมนต์ของคำหลักเมื่อเรียกใช้ฟังก์ชันได้
เราเรียนรู้เกี่ยวกับข้อโต้แย้งของคำหลักโดยการคำนวณปริมาตรของคอนเทนเนอร์
>>>defvolume(ความยาว,ความกว้าง,ความสูง):...ปริมาตร=ความยาว*ความกว้าง*ความสูง...พิมพ์('ปริมาตรคือ: ',ปริมาตร)...>>>ปริมาตร(ความยาว=20,ความกว้าง= 30 ,ความสูง=3) ปริมาตรคือ: 1800
การใช้พารามิเตอร์คำหลักสามารถบันทึกกระบวนการกำหนดตัวแปร กำหนดค่าให้กับพารามิเตอร์โดยตรงเมื่อมีการเรียกใช้ฟังก์ชัน จากนั้นส่งต่อไปยังฟังก์ชัน และส่งคืนผลลัพธ์ในที่สุด ในวิธีการถ่ายโอนนี้ ความแตกต่างในตำแหน่งพารามิเตอร์จะไม่ส่งผลต่อผลลัพธ์เอาต์พุต
เมื่อเรากำหนดฟังก์ชัน เราสามารถกำหนดค่าเริ่มต้นสำหรับพารามิเตอร์ของฟังก์ชันได้ ดังนั้นหากไม่มีการกำหนดพารามิเตอร์จริงเมื่อเราเรียกใช้ฟังก์ชัน ฟังก์ชันจะใช้พารามิเตอร์เริ่มต้น
ดูตัวอย่างต่อไปนี้:
>>>defvolume(length=100,width=100,height=10):...volume=length*width*height...print(volume)...>>>volume()#Does ไม่ได้ให้พารามิเตอร์จริง เมื่อกำหนดพารามิเตอร์จริงแล้ว จะใช้พารามิเตอร์เริ่มต้น 100000 >>>ปริมาตร (10,10,10)# พารามิเตอร์จริงจะถูกส่งผ่านและผลลัพธ์เอาต์พุตจะเป็น 1,000
จากตัวอย่างข้างต้น หากเราระบุค่าเริ่มต้นเมื่อสร้างฟังก์ชัน พารามิเตอร์เริ่มต้นจะถูกใช้โดยอัตโนมัติหากเราไม่ระบุพารามิเตอร์จริงเมื่อใช้ฟังก์ชัน
ใน Python จำนวนพารามิเตอร์ของฟังก์ชันสามารถเปลี่ยนแปลงได้ ซึ่งหมายความว่าจำนวนพารามิเตอร์อาจไม่แน่นอน พารามิเตอร์ตัวแปรมีสองประเภท ประเภทหนึ่งคือการเพิ่ม * ก่อนพารามิเตอร์ ด้วยวิธีนี้ พารามิเตอร์ตัวแปรจะถูกส่งผ่านในรูปแบบของสิ่งอันดับสองเมื่อส่งผ่านพารามิเตอร์เหล่านั้น พารามิเตอร์ตัวแปรจะถูกส่งผ่านในรูปแบบของสิ่งอันดับ พารามิเตอร์จะถูกส่งผ่านในรูปแบบของพจนานุกรมเมื่อส่งผ่านพวกมันเป็นหลัก
ดูตัวอย่างต่อไปนี้:
>>>defadd_number(*หมายเลข):...add_num=0...foriinnumber:...add_num+=i...print(add_num)...>>>add_number(1,2,3,4,5 )15
เมื่อใช้พารามิเตอร์ตัวแปร พารามิเตอร์เหล่านี้จะถูกเก็บไว้ในทูเพิลและส่งผ่านไปยังฟังก์ชัน ดังนั้นเมื่อเราต้องการใช้พารามิเตอร์เหล่านี้ เราสามารถใช้ค่าการแวะผ่านหรือดัชนีได้
การส่งผ่านพารามิเตอร์ของฟังก์ชันจะเหมือนกันโดยประมาณ หากคุณต้องการเรียนรู้ฟังก์ชันต่างๆ ให้ดี คุณต้องเชี่ยวชาญการส่งผ่านพารามิเตอร์ให้ถูกต้องเป็นสิ่งสำคัญในการใช้ฟังก์ชัน