ดูตัวอย่างจาก โค้ดนี้เลยครับ
โค้ด: เลือกทั้งหมด
class tester():
def fn(self):
a = 500
b = 300
return a,b
def fn1(self):
name,name1 = self.fn()
print("ในฟังก์ชั่น : %s " %name)
print("ในฟังก์ชั่น : %s " %name1)
def fn2(self):
print("-------------------------------------ฟังก์ชั่น 3-------------------------------------")
tester.fn1(self)
obj = tester()
mac,mac1 = obj.fn()
obj.fn1()
obj.fn2()
print(mac)
print(mac1)
อธิบายโค้ด ทีละบรรทัดนะครับ
บรรทัดที่ 1 สร้าง class ที่มีชื่อว่า tester ขึ้นมา
บรรทัดที่ 2 สร้างฟังก์ชั่น ที่มีชื่อว่า fn ขึ้นมา self คือตัวที่เราสามารถอ้างอิงเวลาเราเรียกใช่ฟังก์ชั่น หรืออ่านเพิ่มเติ่ม ที่นี่
บรรทัดที่ 3 สร้างตัวแปร a เก็บค่า 500
บรรทัดที่ 4 สร้างตัวแปร b เก็บค่า 300
บรรทัดที่ 5 return ค่า a,b ไว้ใช้นอกฟังก์ชั่น
บรรทัดที่ 6 สร้างฟังก์ชั่น ที่มีชื่อว่า fn1 ขึ้นมา
บรรทัดที่ 7 สร้างตัวแปร name,name1 เพื่อรับค่า a,b ตามลำดับ
บรรทัดที่ 8 print ตัวแปรที่อยู่ใน name ออกมาดู #ผลลัพท์ คือ 500 //จะเห็นได้ว่า ข้อมูลจาก a ที่อยู่ใน fn() จะเข้าอยู่ใน name แล้ว
บรรทัดที่ 9 print ตัวแปรที่อยู่ใน nameๅ ออกมาดู #ผลลัพท์ คือ 300 //จะเห็นได้ว่า ข้อมูลจาก b ที่อยู่ใน fn() จะเข้าอยู่ใน name1 แล้ว
บรรทัดที่ 10 สร้างฟังก์ชั่น fn2() ขึ้นมา
บรรทัดที่ 11 สั่ง ปริ้น -------------------------------------ฟังก์ชั่น 3-------------------------------------
บรรทัดที่ 12 ลองเรียกใช้งาน fn1() ใหม่ทำงานในฟังก์ชั่น fn2()
บรรทัดที่ 13 สร้าง object ชื่อ obj เรียกใช้งาน class tester
บรรทัดที่ 14 สร้างตัวแปร mac,mac1 เพื่อมารับ ข้อมูลจาก fn() คือตัวแปร a,b ตามลำดับ
บรรทัดที่ 15 object obj เรียกใช้งานฟังก์ fn1()
บรรทัดที่ 16 object obj เรียกใช้งานฟังก์ fn2()
บรรทัดที่ 17 print แสดงค่า name
บรรทัดที่ 18 print แสดงค่า name1
ผลลัพท์
ในฟังก์ชั่น : 500
ในฟังก์ชั่น : 300
-------------------------------------ฟังก์ชั่น 3-------------------------------------
ในฟังก์ชั่น : 500
ในฟังก์ชั่น : 300
500
300