Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ความแตกต่างระหว่างเมธอดและฟังก์ชันใน Python


ฟังก์ชัน

ฟังก์ชันคือบล็อกของรหัสเพื่อดำเนินงานเฉพาะ จะมีขอบเขตของตัวเอง และเรียกตามชื่อ ฟังก์ชันทั้งหมดอาจมีอาร์กิวเมนต์เป็นศูนย์ (ไม่ใช่) หรือมีอาร์กิวเมนต์มากกว่าหนึ่งอาร์กิวเมนต์ เมื่อออก ฟังก์ชันสามารถคืนค่าหนึ่งค่าขึ้นไปหรือไม่สามารถคืนค่าได้

ไวยากรณ์ฟังก์ชันพื้นฐาน

def functionName( arg1, arg2,….):
   …….
   # Function_body
   ……..

เรามาสร้าง (ผู้ใช้) ของเราเอง ซึ่งเป็นฟังก์ชั่นง่ายๆ ที่เรียกว่า sum (ผู้ใช้สามารถตั้งชื่ออะไรก็ได้ที่เขาต้องการ)” ฟังก์ชัน “sum” มีอาร์กิวเมนต์สองตัวที่เรียกว่า num1 และ num2 และจะคืนค่าผลรวมของอาร์กิวเมนต์ที่ส่งไปยังฟังก์ชัน (sum) เมื่อเราเรียกใช้ฟังก์ชัน (ผลรวม) ด้วยค่า (อาร์กิวเมนต์) 5 และ 6 ฟังก์ชันจะส่งกลับ 11

def sum(num1, num2):
   return (num1 + num2)

ผลลัพธ์

>>> sum(5,6)
11

จากด้านบน เราจะเห็นคำสั่ง 'return' ส่งคืนค่าจากฟังก์ชัน python

ฟังก์ชันนี้ช่วยให้เราสามารถนำโค้ดกลับมาใช้ใหม่ได้ ฟังก์ชันมีสามประเภท -

  • ฟังก์ชั่นในตัว ( ตามชื่อ ฟังก์ชั่นเหล่านี้มาพร้อมกับภาษา Python เช่น help() เพื่อขอความช่วยเหลือ max()- เพื่อรับค่าสูงสุด type()- เพื่อส่งคืนประเภทของวัตถุ และอื่นๆ อีกมากมาย)

  • ฟังก์ชันที่ผู้ใช้กำหนดเอง ( นี่คือฟังก์ชันที่ผู้ใช้สร้างขึ้นเพื่อช่วยพวกเขา เช่น ฟังก์ชัน "sum" ที่เราสร้างขึ้นด้านบน)

  • ฟังก์ชันนิรนาม (เรียกอีกอย่างว่าฟังก์ชันแลมบ์ดาและแตกต่างจากฟังก์ชันปกติซึ่งกำหนดโดยใช้ def คำหลักถูกกำหนดโดยใช้ แลมบ์ดา คีย์เวิร์ด)

วิธีการ

เมธอดใน python ค่อนข้างคล้ายกับฟังก์ชัน ยกเว้นว่าจะเชื่อมโยงกับอ็อบเจกต์/คลาส เมธอดใน python นั้นคล้ายกับฟังก์ชันมาก ยกเว้นข้อแตกต่างที่สำคัญสองประการ

  • เมธอดนี้ใช้โดยปริยายสำหรับอ็อบเจ็กต์ที่ถูกเรียก

  • เมธอดนี้เข้าถึงข้อมูลที่อยู่ในคลาสได้

ไวยากรณ์เมธอดทั่วไป

class ClassName:
   def method_name():
      …………..
      # Method_body
      ………………

มาทำความเข้าใจวิธีการโดยใช้โค้ดง่ายๆ เพียงโค้ดเดียว −

class Pet(object):
   def my_method(self):
      print("I am a Cat")
cat = Pet()
cat.my_method()

ผลลัพธ์

I am a Cat

ในโค้ดด้านบนนี้ ขั้นแรกเราได้กำหนดคลาส "Pet" จากนั้นเราก็สร้างวัตถุ "แมว" จากพิมพ์เขียวนี้ ต่อไป เราเรียกเมธอดแบบกำหนดเองที่เรียกว่า my_method ด้วยอ็อบเจกต์ (.i.e. cat)

ความแตกต่างที่สำคัญระหว่างเมธอดและฟังก์ชันในไพ ธ อน

เมื่อเราเข้าใจพื้นฐานของฟังก์ชันและวิธีการทั้งสองแล้ว เรามาเน้นถึงความแตกต่างที่สำคัญระหว่างกัน -

  • เมธอดถูกเรียกบนอ็อบเจ็กต์ต่างจากฟังก์ชัน เช่นเดียวกับในตัวอย่างด้านบน เราเรียกวิธีการของเราว่า .i.e. "my_method" บนวัตถุ "cat" ในขณะที่ฟังก์ชัน "sum" ถูกเรียกโดยไม่มีวัตถุใด ๆ นอกจากนี้ เนื่องจากมีการเรียกใช้เมธอดบนออบเจ็กต์ จึงสามารถเข้าถึงข้อมูลภายในได้

  • ฟังก์ชัน python จะไม่ทำสิ่งนี้ไม่เหมือนกับวิธีที่สามารถเปลี่ยนสถานะของอ็อบเจ็กต์ได้ตามปกติ

เรียกย่อว่า method คือฟังก์ชันที่เป็นของอ็อบเจกต์