Jython - ฟังก์ชั่น
ตรรกะการเขียนโปรแกรมที่ซับซ้อนถูกแบ่งออกเป็นบล็อกคำสั่งที่เป็นอิสระและนำกลับมาใช้ใหม่ได้ซึ่งเรียกว่าเป็นฟังก์ชัน ไลบรารีมาตรฐานของ Python มีฟังก์ชันในตัวจำนวนมาก คุณสามารถกำหนดฟังก์ชันของตัวเองโดยใช้defคำสำคัญ. ชื่อที่ผู้ใช้กำหนดของฟังก์ชันตามด้วยบล็อกของคำสั่งที่ประกอบเป็นเนื้อความซึ่งลงท้ายด้วยคำสั่ง return
เมื่อกำหนดแล้วสามารถเรียกใช้จากสภาพแวดล้อมกี่ครั้งก็ได้ ให้เราพิจารณารหัสต่อไปนี้เพื่อให้ประเด็นชัดเจน
#definition of function
defSayHello():
"optional documentation string"
print "Hello World"
return
#calling the function
SayHello()
ฟังก์ชันสามารถออกแบบให้รับพารามิเตอร์ / อาร์กิวเมนต์ตั้งแต่หนึ่งรายการขึ้นไปจากสภาพแวดล้อมการโทร ในขณะที่เรียกใช้ฟังก์ชันที่กำหนดพารามิเตอร์ดังกล่าวคุณต้องระบุจำนวนพารามิเตอร์เดียวกันกับชนิดข้อมูลที่คล้ายกันที่ใช้ในนิยามฟังก์ชันมิฉะนั้นล่าม Jython จะพ่น aTypeError ข้อยกเว้น
ตัวอย่าง
#defining function with two arguments
def area(l,b):
area = l*b
print "area = ",area
return
#calling function
length = 10
breadth = 20
#with two arguments. This is OK
area(length, breadth)
#only one argument provided. This will throw TypeError
area(length)
output จะเป็นดังนี้ -
area = 200
Traceback (most recent call last):
File "area.py", line 11, in <module>
area(length)
TypeError: area() takes exactly 2 arguments (1 given)
หลังจากดำเนินการตามขั้นตอนที่กำหนดไว้แล้วฟังก์ชันที่เรียกจะกลับสู่สภาพแวดล้อมการโทร มันสามารถส่งคืนข้อมูลได้หากมีการกล่าวถึงนิพจน์ไว้หน้าคีย์เวิร์ด return ภายในนิยามของฟังก์ชัน
#defining function
def area(l,b):
area = l*b
print "area = ",area
return area
#calling function
length = 10
breadth = 20
#calling function and obtaining its reurned value
result = area(length, breadth)
print "value returned by function : ", result
ผลลัพธ์ต่อไปนี้จะได้รับหากสคริปต์ด้านบนถูกเรียกใช้จากพรอมต์ Jython
area = 200
value returned by function : 200