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


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

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

dawthana
PHP Super Hero Member
PHP Super Hero Member
Posts: 604
Joined: 07/12/2016 10:55 am

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

Post by dawthana » 11/01/2017 11:01 am

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

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

ตัวอย่างการสร้างฟังก์ชันแบบไม่ระบุชื่อ
ทำความรู้จักกับภาษา python (19) : การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส) ff1.png
ff1.png (27.89 KiB) Viewed 741 times
ศึกษาข้อมูลมาจาก https://www.youtube.com/watch?v=UesLMF6 ... lzdKrpxsMM


Dive Demo
PHP Sr. Member
PHP Sr. Member
Posts: 84
Joined: 01/02/2017 11:10 am

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

Post by Dive Demo » 03/02/2017 2:40 pm

เข้าใจแล้วครับว่าส่วนของ Anonymous Functions ลักษณะเด่นคือการเป็นฟังก์ชั่นที่ไม่ต้องระบุชื่อ มีArgument ก็ตัวก็ได้แต่ต้องมี expression คู่กันเสมอ

Four
PHP Super Hero Member
PHP Super Hero Member
Posts: 813
Joined: 08/01/2018 9:55 am

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

Post by Four » 23/01/2018 3:11 pm

Code: Select all

num = lambda a, b: (a+b) * b
print("sum = ", num(2, 3))
print("sum = ", num(10, 20))
ผลรัน

Image
I am slow walker, but I never walk back. (Abraham Lincoln)

User avatar
Jom07
PHP Super Hero Member
PHP Super Hero Member
Posts: 514
Joined: 08/01/2018 9:56 am

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

Post by Jom07 » 25/01/2018 12:50 am

Code: Select all

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

Image

ศึกษาข้อมูลจาก : https://www.youtube.com/watch?v=UesLMF6 ... jreload=10
Image

Patcharanan.0399
PHP Hero Member
PHP Hero Member
Posts: 114
Joined: 09/04/2018 10:04 am

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

Post by Patcharanan.0399 » 21/04/2018 10:30 am

รูปแบบการเขียนฟังก์ชัน Anonymous

Code: Select all

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

Code: Select all

summary = lambda arg1, arg2 : (arg1*arg2) + arg1
print 'Summary is : ', summary(28, 62)
print 'Summary is : ', summary(44, 88)
ผลการรัน
ทำความรู้จักกับภาษา python (19) : การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส) Anonymous.JPG
Anonymous.JPG (10.96 KiB) Viewed 637 times
ฟังก์ชัน Anonymous สามารถระบุ Argument กี่ตัวก็ได้ แต่จะ return ค่าได้แค่ครั้งเดียว และไม่สามารถเรียกฟังก์ชันเพื่อแสดงผลได้ เพราะฟังก์ชันที่ไม่ได้มีการระบุชื่อจำเป็นต้องมี Expression คู่กันเสมอ


ศึกษาจาก https://youtu.be/UesLMF69WmI

rangsan
PHP Hero Member
PHP Hero Member
Posts: 199
Joined: 30/04/2018 9:44 am

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

Post by rangsan » 03/05/2018 1:01 pm

การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส)

Code: Select all

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)
ผลการรันโค้ด
ทำความรู้จักกับภาษา python (19) : การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส) Annonymous_function.png
Annonymous_function.png (20.76 KiB) Viewed 602 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
Posts: 44
Joined: 08/08/2018 9:49 am

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

Post by anuwat somsakul » 10/08/2018 3:45 pm

การสร้างฟังก์ชั่นไม่ระบุชื่อ ใน ไพทอน The Anonymous Functions:

Code: Select all

summary1 = lambda arg,arg2: (arg*arg2) + arg
print("value of sumary is",summary1(10,20))
print("value of sumary is",summary1(1,2))
ผลลัพธ์
ทำความรู้จักกับภาษา python (19) : การสร้างฟังก์ชันแบบ Anonymous (อะนอนนิมัส) Selection_011.png
Selection_011.png (6.78 KiB) Viewed 557 times

Post Reply

Return to “Python Knowledge”

Users browsing this forum: No registered users and 4 guests