ทำความรู้จักกับภาษา python (19) : การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส)

แชร์ความรู้ภาษา Python ไพทอน การเขียนโปรแกรมภาษาไพทอน

Moderator: mindphp, ผู้ดูแลกระดาน

dawthana
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 604
ลงทะเบียนเมื่อ: 07/12/2016 10:55 am

ทำความรู้จักกับภาษา python (19) : การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส)

โพสต์ที่ยังไม่ได้อ่าน โดย dawthana »

การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส) คือการสร้างฟังก์ชันจะใช้ lambda (แลมด้า) เป็นการสร้างฟังก์ชันโดยไม่ระบุชื่อแต่ยังคงระบุ arguments กี่ตัวก็ได้ แต่จะ return ค่าได้แค่ค่าเดียว และไม่สามารถเรียกฟังก์ชันเพื่อแสดงผลได้เพราะฟังก์ชันที่ไม่ได้มีการระบุชื่อจำเป็นต้องมี expression (เอ็กเพรสชั่น) คู่กันเสมอ

รูปแบบการสร้างฟังก์ชันแบบ Anonymous
  • lambda [arg [,arg , ... , argn]] : expression
- ใช้loop (ลูป) ในการวนค่าจนครบ arguments โดยภายใต้ [...] จะมีหรือไม่มีก็อได้
- ต้องมี expression คู่กันเสมอ

ตัวอย่างการสร้างฟังก์ชันแบบไม่ระบุชื่อ
ff1.png
ff1.png (27.89 KiB) Viewed 1231 times
ศึกษาข้อมูลมาจาก https://www.youtube.com/watch?v=UesLMF6 ... lzdKrpxsMM
Dive Demo
PHP Sr. Member
PHP Sr. Member
โพสต์: 84
ลงทะเบียนเมื่อ: 01/02/2017 11:10 am

Re: ทำความรู้จักกับภาษา python (19) : การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส)

โพสต์ที่ยังไม่ได้อ่าน โดย Dive Demo »

เข้าใจแล้วครับว่าส่วนของ Anonymous Functions ลักษณะเด่นคือการเป็นฟังก์ชั่นที่ไม่ต้องระบุชื่อ มีArgument ก็ตัวก็ได้แต่ต้องมี expression คู่กันเสมอ
Four
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 813
ลงทะเบียนเมื่อ: 08/01/2018 9:55 am

Re: ทำความรู้จักกับภาษา python (19) : การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส)

โพสต์ที่ยังไม่ได้อ่าน โดย 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)
ภาพประจำตัวสมาชิก
Jom07
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 514
ลงทะเบียนเมื่อ: 08/01/2018 9:56 am

Re: ทำความรู้จักกับภาษา python (19) : การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส)

โพสต์ที่ยังไม่ได้อ่าน โดย Jom07 »

โค้ด: เลือกทั้งหมด

test = lambda a, b: a* (a+b)
print("mindphp = ", test(10, 15))
print("python = ", test(35, 40))
ผลรัน

รูปภาพ

ศึกษาข้อมูลจาก : https://www.youtube.com/watch?v=UesLMF6 ... jreload=10
รูปภาพ
Patcharanan.0399
PHP Hero Member
PHP Hero Member
โพสต์: 114
ลงทะเบียนเมื่อ: 09/04/2018 10:04 am

Re: ทำความรู้จักกับภาษา python (19) : การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส)

โพสต์ที่ยังไม่ได้อ่าน โดย 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
Anonymous.JPG (10.96 KiB) Viewed 1127 times
ฟังก์ชัน Anonymous สามารถระบุ Argument กี่ตัวก็ได้ แต่จะ return ค่าได้แค่ครั้งเดียว และไม่สามารถเรียกฟังก์ชันเพื่อแสดงผลได้ เพราะฟังก์ชันที่ไม่ได้มีการระบุชื่อจำเป็นต้องมี Expression คู่กันเสมอ


ศึกษาจาก https://youtu.be/UesLMF69WmI
rangsan
PHP Hero Member
PHP Hero Member
โพสต์: 199
ลงทะเบียนเมื่อ: 30/04/2018 9:44 am

Re: ทำความรู้จักกับภาษา python (19) : การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส)

โพสต์ที่ยังไม่ได้อ่าน โดย 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
Annonymous_function.png (20.76 KiB) Viewed 1092 times
ศึกษาจาก : https://www.youtube.com/watch?v=UesLMF6 ... lzdKrpxsMM
It’s never too late to start again.
anuwat somsakul
PHP Full Member
PHP Full Member
โพสต์: 44
ลงทะเบียนเมื่อ: 08/08/2018 9:49 am

Re: ทำความรู้จักกับภาษา python (19) : การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส)

โพสต์ที่ยังไม่ได้อ่าน โดย 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
Selection_011.png (6.78 KiB) Viewed 1047 times
ภาพประจำตัวสมาชิก
chatee supasand
PHP VIP Members
PHP VIP Members
โพสต์: 1666
ลงทะเบียนเมื่อ: 04/06/2019 10:06 am

Re: ทำความรู้จักกับภาษา python (19) : การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส)

โพสต์ที่ยังไม่ได้อ่าน โดย chatee supasand »

อย่าธิบายรู้เรื่อง ทำไม่ยากเลยครับ
รูปภาพ
ภาพประจำตัวสมาชิก
jirawoot
PHP VIP Members
PHP VIP Members
โพสต์: 3129
ลงทะเบียนเมื่อ: 17/06/2019 10:30 am

Re: ทำความรู้จักกับภาษา python (19) : การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส)

โพสต์ที่ยังไม่ได้อ่าน โดย jirawoot »

โค้ด: เลือกทั้งหมด

summary= lambda a1, a2:(a1*a2)+a1
print(summary(10, 20))
print(summary(1, 2))
ผลลัพธ์
Selection_021.png
Selection_021.png (6.77 KiB) Viewed 377 times
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 47