You are on page 1of 3

User-defined function

ใช้สร้างชุดของคำสั่งที่ถูกเรียกใช้บ่อย ๆ โดยมีไวยกรณ์ในการเขียนดังนี้

def function_name(argument1, argument2,...):

do something

return something

In [3]: name = 'Andrew'

print(f"Hello {name}! How are you?")

Hello Andrew! How are you?

In [4]: name2 = "Jenny"

print(f"Hello {name2}! How are you?")

Hello Jenny! How are you?

สร้าง function เพื่อให้ print ข้อความดังกล่าวโดยเปลี่ยนแค่ชื่อในประโยค

In [5]: def greeting(name):

print(f"Hello {name}! How are you?")

In [6]: greeting("Non")

Hello Non! How are you?

In [7]: greeting("Jenny")

Hello Jenny! How are you?

ตัวอย่างการประยุกต์ใช้ function เพื่อทำงานในลักษณะที่ซับซ้อนขึ้น

In [8]: for name in ['Non', 'Andrew', 'Jenny']:

greeting(name)

Hello Non! How are you?

Hello Andrew! How are you?

Hello Jenny! How are you?

default value ของ argument หนึ่ง ๆ ในฟังก์ชันหากไม่ได้ระบุค่าของ argument นั้นในระหว่างการเรียกใช้


ฟังก์ชัน

In [9]: def greeting(name="Mister"):

print(f"Hello {name}! How are you?")

In [11]: greeting()

Hello Mister! How are you?

ตัวอย่าง
การสร้างฟังก์ชันทางคณิตศาสตร์เพื่อคำนวณค่าของสมการดังต่อไปนี้
3 2
y = x − 3x + 3x + 1

In [12]: def y(x):

return x**3 -3*x**2 +3*x +1

In [13]: y(-2)

-25
Out[13]:

In [15]: x = -2

print(x**3 -3*x**2 +3*x +1)

-25

In [14]: y(-1)

-6
Out[14]:

ภายในหนึ่งฟังก์ชั้นสามารถมีได้หลายคำสั่งจนกว่าฟังก์ชันนั้นจะ return ค่าของฟังก์ชั้นออกมา

In [ ]: def y(x):

print(f"calculate for the value of x = {x}")

return x**3 - 3*x**2 + 3*x +1

In [ ]: print(y(-2))

calculate for the value of x = -2

-25

ตัวอย่าง
2 2
z = x + y − 5xy

In [16]: def z(x, y):

return x**2 + y**2 -5*x*y

In [17]: z(2,3)

-17
Out[17]:

In [18]: z(4,5)

-59
Out[18]:

ตัวอย่าง
ฟังก์ชันที่ดำเนินการกับ argument ที่เป็ น string

In [20]: "non.tho@kmutt.ac.th".split("@")[0]

'non.tho'
Out[20]:

In [21]: def print_username(email):

username = email.split("@")[0]

print(username)

In [22]: emaillist = ['john.doe@gmail.com', 'non.tho@kmutt.ac.th', 'cruise@topgun.com',

'jane_foster@hotmail.com', 'Bill_gate@apple.com']

for email in emaillist:

print_username(email)

john.doe

non.tho

cruise

jane_foster

Bill_gate

การสร้างฟังก์ชันโดยใช้ Lambda Expression


function = lambda arguments : expression

3 2
y = x − 3x + 3x + 1

In [24]: def y1(x):

return x**3 -3*x**2 +3*x +1

ฟังก์ชันดังกล่าวสามารถประกาศได้ด้วย lambda expression ดังนี้

In [25]: y2 = lambda x : x**3 -3*x**2 +3*x +1

In [29]: y1(-5)

-214
Out[29]:

In [30]: y2(-5)

-214
Out[30]:

ตัวอย่าง
2 2
z = x + y − 5xy

In [32]: def z1(x, y):

return x**2 + y**2 -5*x*y

In [33]: z2 = lambda x,y : x**2 + y**2 -5*x*y

In [36]: print(z1(-5,7), z2(-5,7))

249 249

You might also like