แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน
Moderator: mindphp, ผู้ดูแลกระดาน
-
dawthana
- PHP Super Hero Member
- โพสต์: 604
- ลงทะเบียนเมื่อ: 07/12/2016 10:55 am
โพสต์ที่ยังไม่ได้อ่าน
โดย dawthana »
การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส) คือ
การสร้างฟังก์ชันจะใช้ lambda (แลมด้า) เป็นการสร้างฟังก์ชันโดยไม่ระบุชื่อแต่ยังคงระบุ arguments กี่ตัวก็ได้ แต่จะ
return ค่าได้แค่ค่าเดียว และไม่สามารถเรียกฟังก์ชันเพื่อแสดงผลได้เพราะฟังก์ชันที่ไม่ได้มีการระบุชื่อจำเป็นต้องมี expression (เอ็กเพรสชั่น) คู่กันเสมอ
รูปแบบการสร้างฟังก์ชันแบบ Anonymous
- lambda [arg [,arg , ... , argn]] : expression
- ใช้
loop (ลูป) ในการวนค่าจนครบ arguments โดยภายใต้ [...] จะมีหรือไม่มีก็อได้
- ต้องมี expression คู่กันเสมอ
ตัวอย่างการสร้างฟังก์ชันแบบไม่ระบุชื่อ
- ff1.png (27.89 KiB) Viewed 1257 times
ศึกษาข้อมูลมาจาก
https://www.youtube.com/watch?v=UesLMF6 ... lzdKrpxsMM
-
dawthana
- PHP Super Hero Member
- โพสต์: 604
- ลงทะเบียนเมื่อ: 07/12/2016 10:55 am
-
Dive Demo
- PHP Sr. Member
- โพสต์: 84
- ลงทะเบียนเมื่อ: 01/02/2017 11:10 am
โพสต์ที่ยังไม่ได้อ่าน
โดย Dive Demo »
เข้าใจแล้วครับว่าส่วนของ Anonymous Functions ลักษณะเด่นคือการเป็นฟังก์ชั่นที่ไม่ต้องระบุชื่อ มีArgument ก็ตัวก็ได้แต่ต้องมี expression คู่กันเสมอ
-
Four
- PHP Super Hero Member
- โพสต์: 813
- ลงทะเบียนเมื่อ: 08/01/2018 9:55 am
โพสต์ที่ยังไม่ได้อ่าน
โดย Four »
โค้ด: เลือกทั้งหมด
num = lambda a, b: (a+b) * b
print("sum = ", num(2, 3))
print("sum = ", num(10, 20))
ผลรัน
I am slow walker, but I never walk back. (Abraham Lincoln)
-
Patcharanan.0399
- PHP Hero Member
- โพสต์: 114
- ลงทะเบียนเมื่อ: 09/04/2018 10:04 am
โพสต์ที่ยังไม่ได้อ่าน
โดย Patcharanan.0399 »
รูปแบบการเขียนฟังก์ชัน Anonymous
โค้ด: เลือกทั้งหมด
lambda [arg1 [,arg2, ..., argn]]: expression
โค้ด: เลือกทั้งหมด
summary = lambda arg1, arg2 : (arg1*arg2) + arg1
print 'Summary is : ', summary(28, 62)
print 'Summary is : ', summary(44, 88)
ผลการรัน
- Anonymous.JPG (10.96 KiB) Viewed 1153 times
ฟังก์ชัน Anonymous สามารถระบุ Argument กี่ตัวก็ได้ แต่จะ return ค่าได้แค่ครั้งเดียว และไม่สามารถเรียกฟังก์ชันเพื่อแสดงผลได้ เพราะฟังก์ชันที่ไม่ได้มีการระบุชื่อจำเป็นต้องมี Expression คู่กันเสมอ
ศึกษาจาก
https://youtu.be/UesLMF69WmI
-
rangsan
- PHP Hero Member
- โพสต์: 199
- ลงทะเบียนเมื่อ: 30/04/2018 9:44 am
โพสต์ที่ยังไม่ได้อ่าน
โดย rangsan »
การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส)
โค้ด: เลือกทั้งหมด
Annonymous = lambda arg1,arg2,arg3,arg4,arg5 : (arg1*arg2) + arg3 - arg4 + arg5 # Expression
print "Total of Value : ", Annonymous(20, 40, 60, 80, 100)
print "Total of Value : ", Annonymous(1, 3, 5, 7, 9)
ผลการรันโค้ด
- Annonymous_function.png (20.76 KiB) Viewed 1118 times
ศึกษาจาก :
https://www.youtube.com/watch?v=UesLMF6 ... lzdKrpxsMM
It’s never too late to start again.
-
anuwat somsakul
- PHP Full Member
- โพสต์: 44
- ลงทะเบียนเมื่อ: 08/08/2018 9:49 am
โพสต์ที่ยังไม่ได้อ่าน
โดย anuwat somsakul »
การสร้างฟังก์ชั่นไม่ระบุชื่อ ใน ไพทอน The Anonymous Functions:
โค้ด: เลือกทั้งหมด
summary1 = lambda arg,arg2: (arg*arg2) + arg
print("value of sumary is",summary1(10,20))
print("value of sumary is",summary1(1,2))
ผลลัพธ์
- Selection_011.png (6.78 KiB) Viewed 1073 times
-
jirawoot
- PHP VIP Members
- โพสต์: 3129
- ลงทะเบียนเมื่อ: 17/06/2019 10:30 am
โพสต์ที่ยังไม่ได้อ่าน
โดย jirawoot »
โค้ด: เลือกทั้งหมด
summary= lambda a1, a2:(a1*a2)+a1
print(summary(10, 20))
print(summary(1, 2))
ผลลัพธ์
- Selection_021.png (6.77 KiB) Viewed 405 times
สมาชิกกำลังดูบอร์ดนี้: Bing [Bot], Google [Bot] และบุคลทั่วไป 78