Sự khác biệt giữa phương thức và chức năng trong Python là gì?

Chúng ta chỉ có các phương thức trong Java và chỉ có các hàm trong C nhưng trong Python, chúng ta có cả hàm và phương thức. Chúng trông và hoạt động giống nhau và điều này gây ra nhiều nghi ngờ cho người mới và chủ yếu là cho các lập trình viên đến từ Java và C

Trong bài viết này, chúng tôi mong muốn thảo luận về sự khác biệt giữa Phương thức và Hàm và có được một bức tranh rõ ràng về cả hai

Hàm trong Python

Hàm là tập hợp các dòng mã hoàn thành một nhiệm vụ nhất định. chức năng có

  • Tên
  • Thông số
  • tuyên bố trở lại

Câu lệnh trả về và tham số là tùy chọn. Một chức năng có thể có chúng hoặc không

Tạo một hàm trong Python

Chúng ta có thể tạo một hàm bằng từ khóa def.
Cú pháp

def function_name[parameters]:
    # Statements...

Ví dụ về cách tạo Hàm trong Python

def join[str1, str2]:
    joined_str = str1 + str2
    return joined_str
print[join]

đầu ra

Trong ví dụ mã trên, chúng tôi đã tạo một hàm có tên tham gia kết hợp hai tham số của nó và trả về một chuỗi được nối

Các chức năng chỉ được thực thi khi chúng được gọi

Gọi một hàm trong Python

Không gọi, một chức năng sẽ không bao giờ chạy. Để gọi một hàm, chúng ta sử dụng cú pháp sau

cú pháp

function_name[arguments]

Ví dụ về cách gọi Hàm trong Python

print[join["Python", "Geeks"]]

đầu ra

PythonGeek

Trong ví dụ mã trên, chúng ta đã thực thi hàm join[] bằng cách gọi nó bằng hai đối số “Python” và “Geeks” và nó trả về chuỗi được nối của chúng “PythonGeeks”

Các loại Hàm trong Python

1. Hàm tích hợp trong Python

Các hàm đã được xác định trước trong các mô-đun tích hợp sẵn của Python được gọi là Hàm tích hợp. Vì chúng đã được xác định nên chúng ta không cần tạo chúng. Python bao gồm một số chức năng tích hợp. Để sử dụng các chức năng này, chúng ta chỉ cần gọi chúng

Ví dụ

li = [1,2,3]
ans = sum[li]
print[ans]

đầu ra

6

Trong ví dụ mã trên, chúng tôi đã sử dụng hai hàm tích hợp, sum[] và print[] để tìm và xuất tổng của danh sách li

2. Hàm do người dùng xác định [UDF] trong Python

Các hàm do người dùng xác định được gọi là Hàm do người dùng xác định. UDF là từ viết tắt của Hàm do người dùng xác định. Để sử dụng các hàm này, trước tiên chúng ta cần định nghĩa chúng và gọi chúng là. Chúng ta có thể xác định bao nhiêu UDF tùy thích trong chương trình của mình

Ví dụ

def add[num1, num2]:
    sum = num1 + num2
    return add
print[add[1,2]]

đầu ra

3

Trong ví dụ mã trên, chúng tôi đã xác định hàm add[] của riêng mình. Đây được gọi là Hàm do người dùng xác định. Sau đó, chúng tôi gọi nó với các đối số 1 và 2 để trả về tổng của chúng là 3

3. Hàm ẩn danh trong Python

Các hàm không có tên và được khai báo mà không sử dụng từ khóa def được gọi là Hàm ẩn danh. Để tạo các hàm này, chúng ta sử dụng từ khóa lambda và các hàm này còn được gọi là Hàm Lambda

Ví dụ

li = [1,2,3]
new = list[map[lambda x:x+1, li]]
print[new]

đầu ra

[2, 3, 4]

Trong ví dụ mã trên, chúng tôi đã sử dụng hàm lambda để tăng mọi giá trị trong danh sách

Các phương thức trong Python

Các chức năng bên trong một lớp được gọi là các phương thức. Các phương thức được liên kết với một lớp/đối tượng

Tạo một phương thức trong Python

Chúng tôi sử dụng cú pháp tương tự như hàm nhưng lần này, nó phải nằm trong một lớp

cú pháp

class ClassName:
def method_name[parameters]:
    # Statements…

Ví dụ

________số 8

đầu ra

Gọi một phương thức trong python

Để sử dụng một phương thức, chúng ta cần gọi nó. Chúng ta gọi phương thức giống như một hàm nhưng vì các phương thức được liên kết với lớp/đối tượng nên chúng ta cần sử dụng tên lớp/đối tượng và toán tử dấu chấm để gọi nó

cú pháp

object_name.method_name[arguments]

Ví dụ

def join[str1, str2]:
    joined_str = str1 + str2
    return joined_str
print[join]
0

đầu ra

5

Trong ví dụ mã trên, chúng tôi đã tạo một đối tượng add1 cho lớp Addition của chúng tôi và sử dụng đối tượng đó để gọi phương thức add[] của chúng tôi với các đối số 2 và 3. Sau khi gọi, phương thức của chúng tôi đã được thực thi và trả về giá trị 5

Ở trong một lớp mang lại cho các phương thức thêm một vài khả năng. Các phương thức có thể truy cập các thuộc tính lớp/đối tượng. Vì các phương thức có thể truy cập các thuộc tính của lớp/đối tượng, nên chúng cũng có thể thay đổi chúng

Phương thức vs Hàm trong Python

Hàm trong PythonPhương thức trong Python Các hàm nằm ngoài lớpCác phương thức được tạo bên trong một lớpCác hàm không được liên kết với bất kỳ thứ gìCác phương thức được liên kết với các lớp mà chúng được tạo trongCác hàm có thể được thực thi chỉ bằng cách gọi tên của nóĐể thực thi các phương thức, chúng ta cần sử dụng tên đối tượng hoặc tên lớp và toán tử dấu chấm. Các hàm có thể không có tham số. Các phương thức nên có tham số mặc định là self hoặc cls để lấy địa chỉ của đối tượng hoặc lớp. Các hàm không thể truy cập hoặc sửa đổi các thuộc tính của lớpCác phương thức có thể truy cập và sửa đổi các thuộc tính của lớpHàm độc lập với lớpCác phương thức phụ thuộc vào các lớp

Bằng cách xem xét sự khác biệt ở trên, chúng ta có thể nói một cách đơn giản rằng tất cả các phương thức đều là hàm nhưng tất cả các hàm không phải là phương thức

Câu hỏi phỏng vấn về Phương thức so với Hàm trong Python

Q1. Từ đoạn mã đã cho, viết đầu ra và xác định đâu là hàm và đâu là phương thức

def join[str1, str2]:
    joined_str = str1 + str2
    return joined_str
print[join]
1

trả lời 1. Đầu ra như sau

20
1Chức năng.
eat_many[rau, đếm]Phương pháp.
__init__[bản thân, tên]
eat_one[bản thân]

quý 2. Tạo phương thức is_empty[] trả về “Có” nếu đó là danh sách trống hoặc “Không” nếu đó không phải là danh sách trống

câu trả lời 2. Mã như sau

def join[str1, str2]:
    joined_str = str1 + str2
    return joined_str
print[join]
2

Q3. Tạo một hàm nhận vào một số đối số và trả về căn bậc hai của lũy thừa phần mười của số đó

câu trả lời 3. Mã như sau

def join[str1, str2]:
    joined_str = str1 + str2
    return joined_str
print[join]
3

Q4. Tạo một hàm nhận đối số n và tạo n đối tượng của lớp Nhân viên

câu trả lời 4. Mã như sau

def join[str1, str2]:
    joined_str = str1 + str2
    return joined_str
print[join]
4

Q5. Đoạn mã dưới đây làm tăng NameError. Sửa mã và giải thích tại sao nó gây ra lỗi

def join[str1, str2]:
    joined_str = str1 + str2
    return joined_str
print[join]
5

câu trả lời 5. NameError xảy ra do phương thức được gọi mà không sử dụng tên đối tượng. Mã đã sửa là

def join[str1, str2]:
    joined_str = str1 + str2
    return joined_str
print[join]
6

đầu ra

4

Phương thức Python so với Câu đố về hàm

Giới hạn thời gian. 0

Tóm tắt bài kiểm tra

0 trong tổng số 10 câu hỏi đã hoàn thành

câu hỏi

Thông tin

Bạn đã hoàn thành bài kiểm tra trước đây. Do đó bạn không thể bắt đầu lại

Bài kiểm tra đang tải…

Bạn phải đăng nhập hoặc đăng ký để bắt đầu bài kiểm tra

Trước tiên bạn phải hoàn thành những điều sau đây

Kết quả

hoàn thành bài kiểm tra. Kết quả đang được ghi lại

Kết quả

0 của 10 Câu hỏi đã được trả lời đúng

Thời gian của bạn

Thời gian đã trôi qua

Bạn đã đạt 0 của 0 điểm 0]

[Các] Điểm đã kiếm được. 0 của 0 , [ . ]
0 Essay[s] Pending [Possible Point[s]: 0 ]

Thể loại

  1. Không được phân loại 0%

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10

  1. Hiện hành
  2. Đánh giá / Bỏ qua
  3. đã trả lời
  4. Chính xác
  5. Không đúng

  1. Câu hỏi 1 của 10

    1 . Câu hỏi

    Từ khóa nào được sử dụng để xác định cả phương thức và chức năng?

    • định nghĩa
    • chắc chắn
    • lớp
    • chức năng

    Chính xác

    Không đúng

  2. Câu hỏi 2 của 10

    2 . Câu hỏi

    ____ độc lập với các lớp

    • phương pháp
    • Chức năng
    • Cả A và B
    • Không có điều nào ở trên

    Chính xác

    Không đúng

  3. Câu hỏi 3 của 10

    3 . Câu hỏi

    ____ có thể truy cập hoặc sửa đổi các thuộc tính của lớp

    • phương pháp
    • Chức năng
    • Cả A và B
    • Không có điều nào ở trên

    Chính xác

    Không đúng

  4. Câu hỏi 4 của 10

    4 . Câu hỏi

    Các hàm được tạo _____ một lớp và các phương thức được tạo _____  một lớp

    • Bên trong, bên trong
    • Bên ngoài, bên ngoài
    • Bên trong bên ngoài
    • Bên ngoài bên trong

    Chính xác

    Không đúng

  5. Câu hỏi 5 của 10

    5 . Câu hỏi

    [Những] phát biểu nào sau đây là đúng?

    Tuyên bố 1. Các chức năng bên trong một lớp được gọi là các phương thức

    Tuyên bố 2. Tất cả các phương thức đều là hàm nhưng tất cả các hàm không phải là phương thức

    • Phát biểu 1 là đúng
    • Phát biểu 2 là đúng
    • Cả hai tuyên bố đều đúng
    • Không có tuyên bố nào là đúng

    Chính xác

    Không đúng

  6. Câu hỏi 6 của 10

    6 . Câu hỏi

    Chọn một cuộc gọi phương thức chính xác cho đoạn mã sau

    Mã số

    >>> lớp Xin chào

    >>>    thế giới xác định [bản thân]

    >>>        print[“Xin chào thế giới”]

    >>> obj = Xin chào[]

    • thế giới[]
    • thế giới [bản thân]
    • Xin chào. thế giới[]
    • đối tượng. thế giới[]

    Chính xác

    Không đúng

  7. Câu hỏi 7 của 10

    7 . Câu hỏi

    Đầu ra của đoạn mã dưới đây là gì?

    Mã số

    >>> xác định thêm [num1, num2]

    >>>    trả lại số1 + số2

    >>> in[thêm[2, 3]]

     

    • 5
    • 6
    • 4
    • Lỗi cú pháp

    Chính xác

    Không đúng

  8. Câu hỏi 8 của 10

    8 . Câu hỏi

    Đầu ra của đoạn mã dưới đây là gì?

    Mã số

    >>> lớp trừ

     

    >>>    khác biệt rõ ràng[bản thân, số1, số2]

    >>>        trả lại num2 – num1

     

    >>> phụ = Trừ []

    >>> in[phụ. sự khác biệt [2,4]]

    • -2
    • 2
    • 4
    • Lỗi cú pháp

    Chính xác

    Không đúng

  9. Câu hỏi 9 của 10

    9 . Câu hỏi

    Đọc mã và chọn tùy chọn đúng

     

    Mã số

    >>> hạng Chó

    >>>    tiếng sủa chắc chắn [bản thân]

    >>>        print[“Sủa”]

     

    >>> chắc chắn tạo_dogs[]

    >>>    dog1 = Dog[]

    >>>    con chó1. sủa[]

     

    >>> tạo_dogs[]

    • Nó in ra chuỗi “Barking”
    • create_dogs[] là một hàm
    • vỏ cây [] là một phương thức
    • Tất cả những điều trên

    Chính xác

    Không đúng

  10. Câu hỏi 10 của 10

    10 . Câu hỏi

    Đầu ra của đoạn mã dưới đây là gì?

    Mã số

    >>> lớp nhân viên

     

    >>>    def __init__[bản thân, id, thanh toán]

    >>>        bản thân. id = id

    >>>        bản thân. trả = trả

     

    >>>    mức tăng xác định [bản thân]

    >>>        bản thân. trả = tự. trả*2

    >>>        tự trả về. trả

     

    >>> def total_increment[num]

     

    >>>    nhân viên = []

    >>>    cho id trong phạm vi[1, num+1]

    >>>        nhân viên. nối thêm [Nhân viên [id, id * 1000]]

     

    >>>    gia số = [emp. gia tăng [] cho emp trong nhân viên]

     

    >>>    tổng trả về [số gia]

     

    >>> in[total_increment[3]]

     

    • 12000
    • 11000
    • 6000
    • 13000

    Chính xác

    Không đúng

Phần kết luận

Trong bài này, chúng ta đã thảo luận về sự khác nhau giữa hàm và phương thức. Hơn nữa, nếu bạn có bất kỳ câu hỏi nào, xin vui lòng chia sẻ chúng với chúng tôi trong phần bình luận

Sự khác biệt giữa chức năng và phương pháp là gì?

Hàm là một tập hợp các hướng dẫn hoặc quy trình để thực hiện một tác vụ cụ thể và phương thức là một tập hợp các hướng dẫn được liên kết với một đối tượng .

Sự khác biệt giữa phương thức và chức năng trong Python là gì?

Một phương thức, giống như một hàm, là một tập hợp các hướng dẫn thực hiện một tác vụ. Sự khác biệt là một phương thức được liên kết với một đối tượng, trong khi một hàm thì không .

sự khác biệt giữa chức năng và phương pháp với ví dụ là gì?

Phương thức và hàm giống nhau, với các thuật ngữ khác nhau. Phương thức là một thủ tục hoặc hàm trong lập trình hướng đối tượng. Hàm là một nhóm mã có thể tái sử dụng có thể được gọi ở bất kỳ đâu trong chương trình của bạn. Điều này giúp loại bỏ nhu cầu viết đi viết lại cùng một mã

Nó được gọi là hàm hay phương thức trong Python?

Phương thức Python được gọi trên một đối tượng, không giống như hàm . Trong ví dụ của chúng tôi ở trên, chúng tôi gọi start[] trên đối tượng 'car'. Ngược lại, chúng tôi gọi hàm Python khá chung chung - chúng tôi không gọi nó trên bất kỳ đối tượng nào. Vì chúng ta gọi một phương thức trên một đối tượng, nên nó có thể truy cập dữ liệu bên trong nó.

Chủ Đề