Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ฟังก์ชันนิรนามใน Python


ฟังก์ชันเหล่านี้เรียกว่าไม่ระบุตัวตน เนื่องจากไม่ได้ประกาศในลักษณะมาตรฐานโดยใช้คีย์เวิร์ด def คุณสามารถใช้คีย์เวิร์ดแลมบ์ดาเพื่อสร้างฟังก์ชันนิรนามขนาดเล็กได้

  • แบบฟอร์มแลมบ์ดาสามารถรับอาร์กิวเมนต์จำนวนเท่าใดก็ได้ แต่คืนค่าเพียงค่าเดียวในรูปแบบของนิพจน์ ต้องไม่มีคำสั่งหรือหลายนิพจน์
  • ฟังก์ชันที่ไม่ระบุชื่อไม่สามารถเรียกโดยตรงเพื่อพิมพ์ได้เนื่องจากแลมบ์ดาต้องการนิพจน์
  • ฟังก์ชันแลมบ์ดามีเนมสเปซในเครื่องของตัวเองและไม่สามารถเข้าถึงตัวแปรอื่นนอกเหนือจากที่อยู่ในรายการพารามิเตอร์และเนมสเปซส่วนกลางได้
  • แม้ว่าจะดูเหมือนว่า lambda's เป็นเวอร์ชันหนึ่งบรรทัดของฟังก์ชัน แต่ก็ไม่เทียบเท่ากับคำสั่งแบบอินไลน์ใน C หรือ C++ ซึ่งมีวัตถุประสงค์โดยผ่านการจัดสรรสแต็กของฟังก์ชันระหว่างการเรียกใช้ด้วยเหตุผลด้านประสิทธิภาพ

ไวยากรณ์

วากยสัมพันธ์ของฟังก์ชันแลมบ์ดามีเพียงคำสั่งเดียว ซึ่งมีดังนี้ −

lambda [arg1 [,arg2,.....argn]]:expression

ตัวอย่าง

ต่อไปนี้เป็นตัวอย่างที่แสดงให้เห็นว่ารูปแบบของฟังก์ชันแลมบ์ดาทำงานอย่างไร -

#!/usr/bin/python
# Function definition is here
sum = lambda arg1, arg2: arg1 + arg2;
# Now you can call sum as a function
print "Value of total : ", sum( 10, 20 )
print "Value of total : ", sum( 20, 20 )

ผลลัพธ์

เมื่อโค้ดด้านบนถูกรัน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

Value of total : 30
Value of total : 40