ซ่อมคอมพิวเตอร์นอกสถานที่ รามตำแหง บางกะปิ 083-792-5426

วันอังคารที่ 11 กุมภาพันธ์ พ.ศ. 2568

การเรียก การเยื้อง อาร์กิวเมนต์ & ค่าส่งคืน



ฟังก์ชั่นใน Python คืออะไร?

ฟังก์ชันในไพธอนคือส่วนของโค้ดที่ทำงานเมื่อมีการอ้างอิง มันถูกใช้เพื่อใช้ประโยชน์จากรหัสมากกว่าหนึ่งแห่งในโปรแกรม เรียกอีกอย่างว่าวิธีการหรือขั้นตอน Python มีฟังก์ชัน inbuilt มากมาย เช่น print(), input(), compile(), exec() เป็นต้น แต่ยังให้อิสระในการสร้างฟังก์ชันของคุณเอง

 

 

วิธีกำหนดและเรียกใช้ฟังก์ชันใน Python

ฟังก์ชั่นใน Python ถูกกำหนดโดย คำสั่ง “def ”ตามด้วยชื่อฟังก์ชันและวงเล็บ ( () )

ตัวอย่าง:

ให้เรากำหนดฟังก์ชันโดยใช้คำสั่ง ” def func1():” และเรียกใช้ฟังก์ชัน ผลลัพธ์ของฟังก์ชันจะเป็น"ฉันกำลังเรียนรู้ฟังก์ชัน Python"

 

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

ฟังก์ชันprint func1()เรียก def func1(): และพิมพ์คำสั่ง ” ฉันกำลังเรียนรู้ฟังก์ชัน Python None

มีชุดของกฎใน Python เพื่อกำหนดฟังก์ชัน

  • อาร์กิวเมนต์หรือพารามิเตอร์อินพุตควรอยู่ในวงเล็บเหล่านี้
  • คำสั่งแรกของฟังก์ชันอาจเป็นคำสั่งทางเลือกก็ได้- docstring หรือสตริงเอกสารประกอบของฟังก์ชัน
  • รหัสภายในทุกฟังก์ชันเริ่มต้นด้วยเครื่องหมายทวิภาค (:) และควรเยื้อง (เว้นวรรค)
  • คำสั่ง return (นิพจน์) ออกจากฟังก์ชัน โดยเลือกส่งกลับค่าไปยังผู้โทร คำสั่ง return ที่ไม่มี args เหมือนกับ return ไม่มี

ความสำคัญของการเยื้อง (ช่องว่าง) ใน Python

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

Python ใช้รูปแบบเฉพาะของการเยื้องเพื่อกำหนดโค้ด เนื่องจากฟังก์ชัน Python ไม่มีจุดเริ่มต้นหรือจุดสิ้นสุดที่ชัดเจน เช่น วงเล็บปีกกาเพื่อระบุการเริ่มต้นและหยุดของฟังก์ชัน ฟังก์ชันเหล่านี้จึงต้องอาศัยการเยื้องนี้ ต่อไปนี้คือตัวอย่างง่ายๆ ด้วยคำสั่ง "print" เมื่อเราเขียนฟังก์ชัน "print" ด้านล่าง def func 1 (): มันจะแสดง " ข้อผิดพลาดในการเยื้อง: คาดว่าจะมีการเยื้องบล็อก "

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

 


ตอนนี้ เมื่อคุณเพิ่มการเยื้อง (เว้นวรรค) หน้าฟังก์ชัน "print" ควรพิมพ์ตามที่คาดไว้

 

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

อย่างน้อย การเยื้องเพียงครั้งเดียวก็เพียงพอแล้วที่จะทำให้โค้ดของคุณทำงานสำเร็จ แต่ตามแนวทางปฏิบัติที่ดีที่สุด แนะนำให้เว้นวรรค 3-4 เพื่อเรียกใช้ฟังก์ชันของคุณคุณ

นอกจากนี้ยังจำเป็นที่ในขณะที่ประกาศการเยื้อง คุณต้องคงการเยื้องเดิมไว้สำหรับโค้ดที่เหลือของคุณ ตัวอย่างเช่น ในภาพหน้าจอด้านล่างเมื่อเราเรียกคำสั่งอื่นว่า "ยังคงอยู่ใน func1" และเมื่อไม่ได้ประกาศไว้ใต้คำสั่งพิมพ์ครั้งแรก จะแสดงข้อผิดพลาดการเยื้อง"unindent ไม่ตรงกับระดับการเยื้องอื่นๆ"

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

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

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

ฟังก์ชันคืนค่าอย่างไร

คำสั่ง return ใน Python ระบุค่าที่จะคืนให้กับผู้เรียกใช้ฟังก์ชัน มาทำความเข้าใจกับตัวอย่างต่อไปนี้กัน

ขั้นตอนที่ 1) ฟังก์ชั่นไม่ส่งคืนสิ่งใด

ที่นี่ - เราเห็นเมื่อฟังก์ชันไม่ "ส่งคืน" ตัวอย่างเช่น เราต้องการกำลังสองของ 4 และควรให้คำตอบ "16" เมื่อรันโค้ด ซึ่งให้เมื่อเราเพียงแค่ใช้รหัส "print x*x" แต่เมื่อคุณเรียกใช้ฟังก์ชัน "print square" จะให้ "None" เป็นผลลัพธ์ เนื่องจากเมื่อคุณเรียกใช้ฟังก์ชัน การเรียกซ้ำจะไม่เกิดขึ้นและหลุดออกจากจุดสิ้นสุดของฟังก์ชัน Python ส่งคืน "None" สำหรับความล้มเหลวเมื่อสิ้นสุดฟังก์ชัน

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

ขั้นตอนที่ 2) แทนที่คำสั่งพิมพ์ด้วยคำสั่งการมอบหมาย

เพื่อให้ชัดเจนยิ่งขึ้น เราแทนที่คำสั่งพิมพ์ด้วยคำสั่งการมอบหมาย มาตรวจสอบผลลัพธ์กัน

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

เมื่อคุณเรียกใช้คำสั่ง “print square (4)” มันจะคืนค่าของอ็อบเจกต์จริง ๆ เนื่องจากเราไม่มีฟังก์ชันเฉพาะใด ๆ ที่จะเรียกใช้ที่นี่ มันจะส่งคืน “ไม่มี”

ขั้นตอนที่ 3) ใช้ฟังก์ชัน 'return' และรันโค้ด

ตอนนี้เราจะมาดูวิธีการดึงผลลัพธ์โดยใช้คำสั่ง "return" เมื่อคุณใช้ฟังก์ชัน "return" และรันโค้ด มันจะให้ผลลัพธ์เป็น "16"

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

ขั้นตอนที่ 4) เรียกใช้คำสั่ง 'print square'

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

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

อาร์กิวเมนต์ในฟังก์ชัน

อาร์กิวเมนต์คือค่าที่ส่งผ่านไปยังฟังก์ชันเมื่อมีการเรียก

กล่าวอีกนัยหนึ่งในด้านการโทร มันคืออาร์กิวเมนต์ และด้านฟังก์ชัน มันคือพารามิเตอร์

มาดูกันว่า Python Args ทำงานอย่างไร –

ขั้นตอนที่ 1)อาร์กิวเมนต์ถูกประกาศในนิยามฟังก์ชัน ขณะเรียกใช้ฟังก์ชัน คุณสามารถส่งผ่านค่าสำหรับ args นั้นดังที่แสดงด้านล่าง

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

ขั้นตอนที่ 2)ในการประกาศค่าเริ่มต้นของอาร์กิวเมนต์ กำหนดค่าที่นิยามฟังก์ชัน

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

ตัวอย่าง: x ไม่มีค่าเริ่มต้น ค่าเริ่มต้นของ y=0 เมื่อเราใส่อาร์กิวเมนต์เพียงตัวเดียวในขณะที่เรียกใช้ฟังก์ชันการคูณ Python จะกำหนดค่าที่ให้มาให้กับ x โดยที่ยังคงค่าของ y=0 ไว้ ดังนั้นการคูณของ x*y=0

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

ขั้นตอนที่ 3)คราวนี้เราจะเปลี่ยนค่าเป็น y=2 แทนที่จะเป็นค่าเริ่มต้น y=0 และจะคืนค่าเอาต์พุตเป็น (4×2)=8

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

ขั้นตอนที่ 4)คุณยังสามารถเปลี่ยนลำดับในการส่งผ่านอาร์กิวเมนต์ใน Python ที่นี่เราได้กลับลำดับของค่า x และ y เป็น x=4 และ y=2

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

ขั้นตอนที่ 5)หลายอาร์กิวเมนต์สามารถส่งผ่านเป็นอาร์เรย์ได้ ในตัวอย่างนี้ เราเรียก args หลายตัว (1,2,3,4,5) โดยการเรียกใช้ฟังก์ชัน (*args)

ตัวอย่าง:เราประกาศ args หลายตัวเป็นตัวเลข (1,2,3,4,5) เมื่อเราเรียกใช้ฟังก์ชัน (*args) มันพิมพ์ออกมาเป็น (1,2,3,4,5)

บทช่วยสอนฟังก์ชัน Python - กำหนด โทร เยื้อง & อาร์กิวเมนต์

เคล็ดลับ :

  • ในไพทอน 2.7 ไม่รองรับ ฟังก์ชั่นโอเวอร์โหลดใน Python Function Overloading คือความสามารถในการสร้างเมธอดหลายเมธอดที่มีชื่อเดียวกันพร้อมการใช้งานที่แตกต่างกัน รองรับฟังก์ชั่นโอเวอร์โหลดใน Python 3 . อย่างสมบูรณ์
  • มีความสับสนระหว่างวิธีการและการทำงานค่อนข้างมาก เมธอดใน Python เชื่อมโยงกับอินสแตนซ์ของอ็อบเจ็กต์ในขณะที่ฟังก์ชันไม่ได้ใช้งาน เมื่อ Python เรียกใช้เมธอด มันจะผูกพารามิเตอร์แรกของการเรียกนั้นกับการอ้างอิงอ็อบเจ็กต์ที่เหมาะสม กล่าวง่ายๆ ฟังก์ชันสแตนด์อโลนใน Python คือ "ฟังก์ชัน" ในขณะที่ฟังก์ชันที่เป็นแอตทริบิวต์ของคลาสหรืออินสแตนซ์คือ "เมธอด"

นี่คือรหัส Python 3 ที่สมบูรณ์

#กำหนดฟังก์ชั่น
def func1():
   พิมพ์ ("ฉันกำลังเรียนรู้ฟังก์ชัน Python")
   พิมพ์ ("ยังอยู่ใน func1")
   
func1()

def สแควร์ (x):
  	กลับ x*x
พิมพ์(สี่เหลี่ยม(4))

def คูณ (x,y=0):
	พิมพ์ ("ค่าของ x=",x)
	พิมพ์ ("ค่าของ y=",y)
    
	ส่งคืน x*y
  
พิมพ์(คูณ(y=2,x=4))

นี่คือรหัส Python 2 ที่สมบูรณ์

#กำหนดฟังก์ชั่น
def func1():
   พิมพ์ "ฉันกำลังเรียนรู้ฟังก์ชัน Python"
   พิมพ์ "ยังอยู่ใน func1"
   
func1()

def สแควร์ (x):
  	กลับ x*x
พิมพ์สี่เหลี่ยม(4)

def คูณ (x,y=0):
	พิมพ์"ค่าของ x=",x
	พิมพ์"ค่าของ y=",y
    
	ส่งคืน x*y
  
พิมพ์คูณ(y=2,x=4)

สรุป:

ฟังก์ชันใน Python เป็นโค้ดที่ใช้ซ้ำได้ซึ่งใช้ในการดำเนินการเดี่ยวที่เกี่ยวข้อง ในบทความนี้เราจะเห็น

  • ฟังก์ชันที่กำหนดโดยคำสั่งdef
  • บล็อกโค้ดภายในทุกฟังก์ชันเริ่มต้นด้วยโคลอน (:) และควรเยื้อง (เว้นวรรค)
  • อาร์กิวเมนต์หรือพารามิเตอร์อินพุตควรอยู่ในวงเล็บเหล่านี้ ฯลฯ
  • ควรเว้นการเยื้องอย่างน้อยหนึ่งรายการก่อนโค้ดหลังจากประกาศฟังก์ชัน
  • รูปแบบการเยื้องเดียวกันควรคงไว้ตลอดทั้งโค้ดภายในฟังก์ชัน def
  • สำหรับแนวทางปฏิบัติที่ดีที่สุด สามหรือสี่เยื้องถือว่าดีที่สุดก่อนคำสั่ง
  • คุณสามารถใช้คำสั่ง "return" เพื่อคืนค่าการเรียกใช้ฟังก์ชัน
  • Python จะพิมพ์ค่าสุ่มเช่น (0x021B2D30) เมื่ออาร์กิวเมนต์ไม่ถูกส่งไปยังฟังก์ชันการเรียก ตัวอย่าง “ฟังก์ชั่นการพิมพ์”
  • ด้านการโทร มันคืออาร์กิวเมนต์ และด้านฟังก์ชัน มันคือพารามิเตอร์
  • ค่าเริ่มต้นในอาร์กิวเมนต์ – เมื่อเราระบุอาร์กิวเมนต์เพียงตัวเดียวขณะเรียกใช้ฟังก์ชันการคูณหรือฟังก์ชันอื่นๆ Python จะกำหนดอาร์กิวเมนต์อื่นตามค่าเริ่มต้น
  • Python ช่วยให้คุณสามารถย้อนกลับลำดับของอาร์กิวเมนต์ได้เช่นกัน

0 ความคิดเห็น:

แสดงความคิดเห็น

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design Downloaded from Free Blogger Templates Download | free website templates downloads | Vector Graphics | Web Design Resources Download.