Cách gọi từng hàm một trong python

Hướng dẫn bằng video này giải thích các Hàm Python và các loại của chúng như hàm do người dùng xác định & hàm tích hợp. Bạn sẽ học cách định nghĩa và gọi Hàm Python

Mặc dù người tạo ra Python “Guido Van Rossum” không có ý định Python trở thành một ngôn ngữ chức năng, nhưng các chức năng đóng một vai trò quan trọng trong Python

Chúng ta có thể định nghĩa Hàm là một hộp chứa các câu lệnh được sử dụng và sử dụng lại bất cứ khi nào có nhu cầu. Trong hướng dẫn này, chúng ta sẽ thảo luận về các hàm Python cùng với các ví dụ đơn giản

Các hàm Python có một số thuộc tính khiến chúng trở nên lý tưởng cho các chương trình lớn và phức tạp. Python có ba loại chức năng – Chức năng tích hợp, Người dùng xác định và Hàm ẩn danh

=> Truy cập vào đây để học Python từ đầu

Cách gọi từng hàm một trong python

Bạn sẽ học được gì

  • Hàm Trong Python. Video hướng dẫn
  • Tại sao nên sử dụng hàm Python
    • Đối tượng hạng nhất
    • Hàm bậc cao
    • Sử dụng lại mã
    • Phân tách thủ tục
  • Xác định một chức năng
    • Các tham số và đối số của hàm
      • Tham số chức năng Vs Đối số
      • Xác định chức năng không có tham số
      • Xác định tham số với giá trị mặc định
      • Xác định tham số Với *args
      • Xác định tham số Với **kwargs
  • Hàm Vs Phương thức
    • Phạm vi của các biến
      • Phạm vi địa phương
      • Phạm vi kèm theo
      • Phạm vi toàn cầu
      • từ khóa toàn cầu
      • Phạm vi tích hợp
    • Câu lệnh trả về hàm
      • Trả về nhiều giá trị
      • Trả về một chức năng
    • Các câu hỏi thường gặp
    • Thông tin thêm về chức năng
  • Sự kết luận
    • đề xuất đọc

Hàm Trong Python. Video hướng dẫn

Đối số hàm trong Python. Video #1

Hàm, gọi hàm và câu lệnh trả về trong Python. Video #2

Tại sao nên sử dụng hàm Python

Các chức năng là rất nhiều, ngay cả đối với các ngôn ngữ lập trình khác. Các hàm quan trọng trong Python ở điểm chúng ta có các hàm dựng sẵn (các hàm được xác định trước trong Python)

Trước khi đi vào chi tiết, chúng ta hãy hiểu tại sao các chức năng lại quan trọng

  • Là đối tượng hạng nhất
  • Là các hàm bậc cao
  • Cung cấp khả năng sử dụng lại mã
  • Cung cấp phân rã thủ tục

Đối tượng hạng nhất

Các hàm trong Python là các đối tượng hạng nhất giống như số nguyên, chuỗi và từ điển. Là một đối tượng hạng nhất đi kèm với các thuộc tính cho phép lập trình với kiểu chức năng

Những thuộc tính này

  • Có thể được tạo trong thời gian chạy
  • Có thể được gán cho các biến và được sử dụng làm thành phần trong cấu trúc dữ liệu
  • Có thể được truyền dưới dạng đối số cho các chức năng khác
  • Có thể được trả về do kết quả của các chức năng khác

Đừng lo lắng nếu các thuộc tính trên khó hiểu. Khi chúng ta tiến bộ trong hướng dẫn này, chúng ta sẽ hiểu chúng tốt hơn

Hàm bậc cao

Trong Python, các hàm có thể lấy các hàm khác làm đối số và/hoặc trả về kết quả của một hàm. Điều này làm cho cuộc sống dễ dàng đối với một số chức năng như bản đồ, bộ lọc là một số chức năng bậc cao nổi tiếng

Ví dụ 1. Sử dụng hàm map(), tính danh sách các số nguyên từ một chuỗi số.

Hàm bản đồ tích hợp sẽ nhận hai đối số, một hàm (int) và chuỗi số của chúng ta. Sau đó, nó sẽ chuyển từng phần tử của chuỗi vào hàm đối số của nó để được tính toán. Điều này sẽ không thể thực hiện được nếu các hàm Python không có bậc cao hơn

# string of numbers
str_numb = "123456789" 
# create a list of integers from a string of numbers
result = list(map(int, str_numb)) 

print("RESULT: ", result)

đầu ra

Cách gọi từng hàm một trong python

Sử dụng lại mã

Như đã đề cập ở trên, các chức năng kèm theo báo cáo. Điều này giúp chúng ta không phải viết đi viết lại cùng một câu lệnh mỗi khi chúng ta cần chúng và điều này thường dẫn đến việc sao chép mã

Nếu chúng ta có một logic mà chúng ta muốn sử dụng ở các vùng khác nhau trong mã của mình, thì sẽ là khôn ngoan và chuyên nghiệp khi đóng gói chúng trong một chức năng thay vì lặp lại logic ở các vùng khác nhau

Thuật ngữ được sử dụng để mô tả hiện tượng này là “khả năng sử dụng lại” và nó tuân theo một nguyên tắc mạnh mẽ trong phát triển phần mềm có tên là Don't Repeat Yourself (DRY)

Phân tách thủ tục

Trong Python, hàm giúp phân chia hệ thống thành nhiều phần (mô-đun), do đó giúp quản lý và bảo trì dễ dàng hơn

Các chức năng cho phép chúng tôi thực hiện một mô hình thiết kế thuật toán rất mạnh có tên là “Chia để trị”, về cơ bản chia nhỏ một ý tưởng thành hai hoặc nhiều ý tưởng phụ và làm cho chúng đủ đơn giản để thực hiện

Hãy tưởng tượng rằng chúng ta muốn thực hiện quy trình chúng ta “ra khỏi nhà đi làm” mỗi sáng

Nếu bạn là người

  • Thức dậy lúc 6 giờ sáng,
  • Suy gẫm lời Chúa trong 30 phút,
  • Làm mới trong 15 phút,
  • Ăn sáng trong 10 phút,
  • Rồi cuối cùng đi làm

Sau đó, bạn sẽ nhận ra một vài quy trình phụ chi phối quá trình chúng ta “rời nhà đi làm”

Chúng tôi đã chia nhỏ quy trình thành các quy trình con và việc triển khai sẽ dễ dàng vì chúng tôi có thể tách biệt rõ ràng các quy trình con và triển khai từng quy trình một bằng cách sử dụng các hàm

Xác định một chức năng

Trước đó trong hướng dẫn này, chúng ta đã thấy hai chức năng tích hợp sẵn (map, int). Trong khi Python có các hàm dựng sẵn, chúng ta cũng có thể định nghĩa các hàm của riêng mình. Trong phần này, chúng ta sẽ thảo luận về dạng tổng quát của một hàm trong Python

Một hàm Python có cú pháp sau

def function_name(arg1, arg2,...,argN):
    # function code

Như đã thấy ở trên, một hàm Python bắt đầu bằng từ khóa def, theo sau là tên hàm, (các) tham số trong dấu ngoặc đơn (()), sau đó là dấu hai chấm và cuối cùng là mã hàm được thụt lề và thường chứa câu lệnh trả về

Để kỹ lưỡng hơn, hãy xem xét hàm dưới đây nhân hai số và trả về kết quả

Cách gọi từng hàm một trong python
Hình 2. Định nghĩa hàm có chú thích

Chúng ta có thể thấy rằng một hàm có các phần chính sau

từ khóa chắc chắn. “Từ khóa def” được sử dụng để viết các hàm tạo đối tượng mới và gán nó cho tên của hàm. Sau khi gán, tên của hàm bây giờ trở thành một tham chiếu đến đối tượng hàm

Tên chức năng. Tên của hàm giữ một tham chiếu đến đối tượng hàm sau khi được tạo bởi câu lệnh def. Điều này cho phép chúng tôi xác định các chức năng một lần và gọi chúng trong nhiều phần mã của chúng tôi. Trong Python, một hàm ẩn danh không có tên hàm

thông số chức năng. Khi một hàm được xác định để lấy dữ liệu, các tham số được sử dụng để giữ dữ liệu đó và chuyển dữ liệu đó vào phần thân của hàm

Đại tràng. Dấu hai chấm(. ) là một gợi ý cho phần thân của hàm. Đó là, thân hàm được thụt vào sau dấu hai chấm

mã chức năng. Mã hàm còn được gọi là thân hàm chứa các câu lệnh thụt lề được thực thi khi hàm được gọi. Nó thường chứa một câu lệnh trả về để thoát khỏi hàm và xác định giá trị sẽ được trả về cho người gọi

Các tham số và đối số của hàm

Người gọi hàm có thể kiểm soát dữ liệu đi vào hàm bằng cách sử dụng các tham số của hàm. Hàm không có tham số không thể nhận dữ liệu từ người gọi. Như chúng ta sẽ thấy ở phần sau của phần này, các tham số và đối số có các định nghĩa khác nhau, mặc dù được cho là có nghĩa giống nhau.

Tham số chức năng Vs Đối số

Tham số thuật ngữ và đối số được cho là được sử dụng cho cùng một thứ. Tuy nhiên, từ quan điểm của hàm, tham số là một trình giữ chỗ (biến) được đặt bên trong dấu ngoặc đơn trong định nghĩa hàm trong khi đối số là giá trị được truyền cho hàm khi nó được gọi

Ví dụ 2. Xét hình 2 bên trên và đoạn code bên dưới, tham số ở đây là x và y. Nhưng khi chúng ta gọi hàm với answer = Multiply(3, 4) như bên dưới, chúng ta chuyển các giá trị 3 và 4 làm đối số.

def multiply(x, y):
    print("Multiply {} and {}".format(x, y))
    result = x * y
    return result

if __name__ == "__main__":
    answer = multiply(3,4)
    print("Answer: ", answer) 

đầu ra

Cách gọi từng hàm một trong python

Xác định chức năng không có tham số

Trước khi chúng ta đi sâu vào việc xác định các tham số của hàm, cần lưu ý rằng các hàm có thể được xác định mà không cần tham số. Trong trường hợp này, người gọi không thể truyền dữ liệu vào hàm

Ví dụ 3. Định nghĩa một hàm gọi là display không nhận đối số và in ra dòng chữ “Hello World. ”

def display(): # no parameters in ()
    print("Hello World!")

if __name__ == '__main__':
    display() # called without arguments

đầu ra

Cách gọi từng hàm một trong python

Xác định tham số với giá trị mặc định

Trong Python, nếu một hàm được xác định với các tham số và người gọi không truyền vào các đối số khớp với số lượng tham số, thì TypeError sẽ xuất hiện

Ví dụ 4. Kiểm tra mã mẫu bên dưới.

# define function with two parameters 
def display(x, y):
    print("X: ", x)
    print("Y: ", y)
    
if __name__ == '__main__':
    # function called and passed only one argument
    display(4)

đầu ra

Cách gọi từng hàm một trong python

Đôi khi, chúng ta muốn xác định hàm của mình bằng các tham số nhưng sẽ mong đợi một số tham số chuyển một số giá trị mặc định vào phần thân của hàm khi chúng ta không cung cấp cho chúng các đối số

Điều này có thể đạt được bằng cách đưa ra các giá trị mặc định cho các tham số được tôn trọng trong định nghĩa hàm

Xem xét mẫu mã trong ví dụ 4 ở trên. Khi hàm được gọi, chỉ có một đối số được truyền vào tham số x. Tuy nhiên, y không nhận được bất kỳ đối số nào. Để ngăn Python đưa ra một ngoại lệ khi điều này xảy ra, chúng ta có thể cung cấp cho tham số y một giá trị mặc định trong quá trình định nghĩa

Bây giờ, x trở thành tham số không mặc định và y trở thành tham số mặc định

Ví dụ 5. Đặt giá trị mặc định cho tham số y.

# define function with two parameters where ‘y’ is a default parameter
def display(x, y=0):
    print("X: ", x)
    print("Y: ", y)
    
if __name__ == '__main__':
    # function called and passed only one argument
    display(4)

đầu ra

Cách gọi từng hàm một trong python

NB. Trong khi đưa ra các giá trị mặc định của tham số chức năng, hãy đảm bảo rằng các tham số không mặc định xuất hiện trước bất kỳ tham số mặc định nào.

Xác định tham số Với *args

Một hàm có thể nhận vào càng nhiều đối số vị trí càng tốt. Tuy nhiên, chúng ta cần đảm bảo rằng số lượng đối số được truyền phải khớp với số lượng tham số được xác định trong dấu ngoặc đơn của hàm

Ví dụ 6. Giả sử chúng ta muốn thêm một số số nguyên nhưng chúng ta không biết tại thời điểm chạy chúng ta muốn thêm bao nhiêu số nguyên. Điều này có thể gây cho chúng ta rất nhiều rắc rối nếu chúng ta sử dụng các tham số vị trí.

Kiểm tra mã mẫu bên dưới

# define function with 4 positional parameters 
def add(a, b, c , d):
    return a + b + c + d
    
if __name__ == '__main__':
    # call function with 4 arguments
    result1 = add(4,5,3,2)
    print(" 1 Result: ", result1)

    # call function with 6 arguments
    result2 = add(4,6,2,7,8,9)
    print(" 2 Result: ", result2

đầu ra

Cách gọi từng hàm một trong python

Từ kết quả trên, lệnh gọi hàm đầu tiên trả về kết quả do 4 đối số được truyền khớp với 4 tham số đã xác định. Tuy nhiên, lệnh gọi hàm thứ hai phát sinh một ngoại lệ TypeError khi sáu đối số được truyền nhưng hàm dự kiến ​​bốn đối số theo số lượng tham số

Ví dụ 7. Chúng ta có thể khắc phục điều này bằng cách xác định hàm của mình bằng một tham số duy nhất và gọi hàm với danh sách các số nguyên cần thêm. Kiểm tra ví dụ dưới đây.

# define function with 1 parameters 
def add(l):
    result = 0
    for items in l:
        result += items
    return result
    
if __name__ == '__main__':
    # call function with a list of 4 integers
    list1 = [4,5,3,2]
    result1 = add(list1)
    print(" 1 Result: ", result1)
    # call function with a list of 6 integers
    list2 = [4,6,2,7,8,9]
    result2 = add(list2)
    print(" 2 Result: ", result2)
)

đầu ra

Cách gọi từng hàm một trong python

Mặc dù điều này hoạt động, nhưng nó có thể trở nên bất tiện vì chúng ta sẽ cần tạo một danh sách tất cả các đối số trước khi chuyển chúng vào hàm

Ví dụ 8. Cách đơn giản nhất để giải quyết vấn đề này là sử dụng *args cho phép chúng ta truyền bao nhiêu đối số vị trí mà không cần biết số đếm.

________số 8

đầu ra

Cách gọi từng hàm một trong python

Ví dụ 9. Nếu chúng ta có một iterable và chúng ta muốn chuyển từng mục vào hàm đã được xác định bằng *args, thì chúng ta có thể sử dụng toán tử giải nén(*) để làm như vậy.

# define function with *args
def add(*args):
    result = 0
    # args becomes a tuple of all the arguments passed into this function.
    for items in args:
        result += items
    return result
    
if __name__ == '__main__':
    # define a list of integers
    list_ints = [4,5,3,2]
    # use the unpacking operator(*) to unpack the list.
    result = add(*list_ints)
    print("Result: ", result)

đầu ra

Cách gọi từng hàm một trong python

NB. Vài điều cần lưu ý ở đây

  • args trong *args chỉ là tên và có thể thay thế bằng bất kỳ tên nào chúng ta muốn
  • args được coi như một bộ trong phần thân của hàm và chứa tất cả các đối số được cung cấp cho hàm
  • *args phải xuất hiện sau bất kỳ tham số không mặc định nào và trước bất kỳ tham số mặc định nào trong quá trình định nghĩa hàm

Xác định tham số Với **kwargs

Trong phần trước, chúng ta đã thấy *args. Trong phần này, chúng ta sẽ xem xét **kwargs, bằng cách nào đó hoạt động tương tự, nhưng không giống như *args xử lý các đối số vị trí, **kwargs xử lý các đối số từ khóa

Trước khi chúng ta xem xét một số ví dụ, điều đáng chú ý là

  • kwargs trong **kwargs chỉ là tên và có thể thay thế bằng bất kỳ tên nào
  • kwargs được coi như một từ điển trong thân hàm chứa các đối số từ khóa được truyền cho nó
  • **kwargs phải là tham số cuối cùng trong quá trình định nghĩa hàm

Ví dụ 10. Đoạn mã dưới đây định nghĩa một hàm với tham số **kwargs, nhận các đối số từ khóa và nối các giá trị của chúng.

def function_name(arg1, arg2,...,argN):
    # function code
0

đầu ra

Cách gọi từng hàm một trong python

Ví dụ 11. Nếu chúng ta có một từ điển và chúng ta muốn chuyển từng cặp khóa-giá trị vào hàm được xác định bằng **kwargs, thì chúng ta có thể sử dụng toán tử giải nén (**) để làm như vậy.

def function_name(arg1, arg2,...,argN):
    # function code
1

đầu ra

Cách gọi từng hàm một trong python

Hàm Vs Phương thức

Các thuật ngữ chức năng và phương pháp đôi khi được sử dụng thay thế cho nhau. Tuy nhiên, trong phát triển phần mềm, các phương thức đơn giản là các hàm được định nghĩa trong một lớp i. e. chúng được gắn vào một đối tượng và không giống như các chức năng, chúng không thể chỉ được gọi bằng tên

Ví dụ: chúng tôi có mô-đun toán học tích hợp Python. Sau khi nhập nó, chúng ta có thể truy cập các phương thức của nó như sqrt, exp, v.v. Chúng được gọi là các phương thức vì chúng được định nghĩa trong mô-đun. Tuy nhiên, tất cả chúng đều đã định nghĩa các hàm giống nhau mà chúng ta đã xử lý trong hướng dẫn này.

Ví dụ 12. Nhập mô-đun toán học và sử dụng phương pháp thích hợp để tìm căn bậc hai của 44.

def function_name(arg1, arg2,...,argN):
    # function code
2

đầu ra

Cách gọi từng hàm một trong python

Phạm vi của các biến

Trong một chương trình, các biến có thể hoặc không thể truy cập được trong mọi phần của chương trình. Các biến chỉ có thể truy cập được trong phạm vi của chúng và Python có bốn loại phạm vi biến (Cục bộ, Kèm theo, Toàn cầu, Tích hợp) giúp xây dựng nền tảng của quy tắc LEGB (thêm về điều này sau)

Phạm vi địa phương

Một biến được xác định trong một hàm chỉ có thể truy cập được trong hàm đó và tồn tại khi hàm đó đang thực thi. Có nghĩa là chúng ta không thể truy cập biến cục bộ của hàm bên ngoài phần thân của nó

Ví dụ 13. Xem xét ví dụ bên dưới.

def function_name(arg1, arg2,...,argN):
    # function code
3

đầu ra

Cách gọi từng hàm một trong python

Từ đầu ra ở trên, việc truy cập vào biến cục bộ của hàm bên ngoài phần thân của nó đã tạo ra một ngoại lệ NameError

Phạm vi kèm theo

Phạm vi kèm theo tồn tại trong các chức năng lồng nhau i. e. một hàm được định nghĩa bên trong một hàm khác

Như chúng ta sẽ thấy trong ví dụ bên dưới, trong một hàm lồng nhau, hàm cha giữ phạm vi cục bộ của nó (là phạm vi bao quanh của hàm con) trong khi hàm con giữ phạm vi cục bộ của chính nó và dựa trên quy tắc LEGB, trình thông dịch Python trông

def function_name(arg1, arg2,...,argN):
    # function code
4

Điều này có nghĩa là, cha mẹ không thể truy cập phạm vi cục bộ của con nhưng một đứa trẻ có thể truy cập phạm vi cục bộ của cha mẹ (là phạm vi kèm theo của nó) mặc dù hàm con là thành viên của phạm vi cục bộ của cha mẹ nó

Ví dụ 14. Xem đoạn mã dưới đây

def function_name(arg1, arg2,...,argN):
    # function code
5

đầu ra

Cách gọi từng hàm một trong python

Phạm vi toàn cầu

Các biến được xác định ở cấp cao nhất của tập lệnh hoặc mô-đun hoặc chương trình của chúng tôi trở thành biến toàn cục và được truy cập ở bất kỳ đâu trong chương trình. e. bất kỳ hàm nào được xác định trong chương trình đó đều có thể truy cập các biến này

Ví dụ 15. Xem xét ví dụ bên dưới.

def function_name(arg1, arg2,...,argN):
    # function code
6

đầu ra

Cách gọi từng hàm một trong python

NB. Trình thông dịch Python trước tiên tìm kiếm biến hello trong phạm vi cục bộ của hàm, nếu không tìm thấy, nó sẽ xem xét phạm vi kèm theo, nếu vẫn không có gì, thì nó sẽ xem xét phạm vi toàn cầu thực sự ở đâu .

từ khóa toàn cầu

Chúng ta đã thấy rằng một biến được định nghĩa trong một hàm là cục bộ của hàm đó và không thể truy cập được bên ngoài phần thân của nó. Từ khóa toàn cục xuất hiện khi chúng ta muốn truy cập biến cục bộ của hàm bên ngoài phần thân của nó. e. biến cục bộ của hàm thành toàn cục

Tất cả những gì chúng ta phải làm là khai báo biến cụ thể với từ khóa toàn cầu như bên dưới

def function_name(arg1, arg2,...,argN):
    # function code
7

Ví dụ 16. Hãy sửa đổi ví dụ 13 để đặt biến cục bộ của hàm thành toàn cục và truy cập nó bên ngoài phần thân của nó.

def function_name(arg1, arg2,...,argN):
    # function code
8

đầu ra

Cách gọi từng hàm một trong python

Phạm vi tích hợp

Phạm vi này là lớn nhất trong Python và nó chứa các hàm dựng sẵn, các từ dành riêng và các thuộc tính khác được xác định trước trong Python

Dựa trên quy tắc LEGB, phạm vi cuối cùng trình thông dịch Python sẽ tra cứu tên và nếu không tìm thấy, NameError sẽ xuất hiện. Điều này có nghĩa là bất kỳ biến nào được xác định trong phạm vi tích hợp đều có thể được truy cập ở bất kỳ đâu trong chương trình mà không cần chúng tôi xác định (không giống như phạm vi toàn cầu)

Ví dụ 17. Làm tròn số 43. 9853 đến hai chữ số thập phân.

def function_name(arg1, arg2,...,argN):
    # function code
9

đầu ra

Cách gọi từng hàm một trong python

Câu lệnh trả về hàm

Trong Python, một câu lệnh return kết thúc quá trình thực thi hàm của nó và trả về một giá trị cụ thể cho người gọi nó

Vài điều mà chúng ta nên biết về báo cáo Return là

  • Chúng không thể được sử dụng bên ngoài một chức năng
  • Bất kỳ câu lệnh nào sau câu lệnh return đều bị bỏ qua
  • Câu lệnh trả về không có bất kỳ biểu thức nào trả về Không làm mặc định

Ví dụ 18. Tạo một hàm nhận hai số và trả về tổng của chúng.

def multiply(x, y):
    print("Multiply {} and {}".format(x, y))
    result = x * y
    return result

if __name__ == "__main__":
    answer = multiply(3,4)
    print("Answer: ", answer) 
0

đầu ra

Cách gọi từng hàm một trong python

Trả về nhiều giá trị

Một câu lệnh return không chỉ trả về một giá trị duy nhất. Nó có thể 'trả về' nhiều giá trị được xác định trong bất kỳ cấu trúc dữ liệu nào như bộ dữ liệu, danh sách, từ điển, v.v.

Ví dụ 19. Sửa ví dụ 18 để trả về tổng và tích của các số có hai đối số.

def multiply(x, y):
    print("Multiply {} and {}".format(x, y))
    result = x * y
    return result

if __name__ == "__main__":
    answer = multiply(3,4)
    print("Answer: ", answer) 
1

đầu ra

Cách gọi từng hàm một trong python

Trả về một chức năng

Một câu lệnh return cũng có thể trả về một hàm. Như chúng ta đã thấy trước đó trong hướng dẫn này, các hàm là các đối tượng bậc nhất và bậc cao hơn giúp chúng có thể được trả về từ câu lệnh return

Ví dụ 20. Đoạn mã dưới đây định nghĩa một hàm nhận một đối số và trả về một hàm nhận đối số thứ hai, sau đó tính tổng các số.

def multiply(x, y):
    print("Multiply {} and {}".format(x, y))
    result = x * y
    return result

if __name__ == "__main__":
    answer = multiply(3,4)
    print("Answer: ", answer) 
2

đầu ra

Cách gọi từng hàm một trong python

Các câu hỏi thường gặp

Câu hỏi 1) Bạn có thể trả về câu lệnh in bằng Python không?

Câu trả lời. Bản thân câu lệnh in “in” nội dung của nó ra bàn điều khiển và không trả lại bất kỳ thứ gì. Vì vậy, trả về câu lệnh in trước tiên sẽ thực thi câu lệnh in và trả về bất kỳ thứ gì được trả về từ câu lệnh in này

Tóm lại, trả về câu lệnh in sẽ trả về Không có

def multiply(x, y):
    print("Multiply {} and {}".format(x, y))
    result = x * y
    return result

if __name__ == "__main__":
    answer = multiply(3,4)
    print("Answer: ", answer) 
3

đầu ra

Cách gọi từng hàm một trong python

Q #2) Làm thế nào để bạn kết thúc một hàm mà không quay lại trong Python?

Câu trả lời. Các hàm Python luôn trả về một giá trị. Nếu không được xác định rõ ràng, nó sẽ trả về Không và thoát khỏi chức năng

Q #3) Có bao nhiêu loại hàm trong Python?

Câu trả lời

Trong Python, có 3 loại chức năng cụ thể là

  • Chức năng tích hợp sẵn
  • Hàm do người dùng định nghĩa
  • chức năng ẩn danh

Thông tin thêm về chức năng

Hàm là một khối mã được sử dụng để thực hiện một số hành động cụ thể. Một chức năng cung cấp khả năng sử dụng lại mã và mô đun cao hơn

Các chức năng giúp chia mã lớn thành các mô-đun nhỏ hơn

cú pháp

def multiply(x, y):
    print("Multiply {} and {}".format(x, y))
    result = x * y
    return result

if __name__ == "__main__":
    answer = multiply(3,4)
    print("Answer: ", answer) 
4

Xác định một chức năng

  • Khối chức năng phải luôn bắt đầu bằng từ khóa 'def, theo sau là tên chức năng và dấu ngoặc đơn
  • Chúng ta có thể chuyển bất kỳ số lượng tham số hoặc đối số nào bên trong dấu ngoặc đơn
  • Khối mã của mọi chức năng phải bắt đầu bằng dấu hai chấm (. )
  • Câu lệnh 'return' tùy chọn để trả về giá trị từ hàm

Thí dụ

def multiply(x, y):
    print("Multiply {} and {}".format(x, y))
    result = x * y
    return result

if __name__ == "__main__":
    answer = multiply(3,4)
    print("Answer: ", answer) 
5

Cách gọi từng hàm một trong python

Chỉ cần xác định một chức năng là vô ích trừ khi bạn gọi nó

Gọi một chức năng

Khi cấu trúc của hàm được hoàn thiện, bạn có thể thực thi nó bằng cách gọi hàm bằng tên hàm

Thí dụ

def multiply(x, y):
    print("Multiply {} and {}".format(x, y))
    result = x * y
    return result

if __name__ == "__main__":
    answer = multiply(3,4)
    print("Answer: ", answer) 
6

Cách gọi từng hàm một trong python

đầu ra

Xin chào con trăn

Cách gọi từng hàm một trong python

Gọi hàm sử dụng tham số

Chúng ta có thể xác định bất kỳ số lượng tham số nào trong khi xác định hàm

cú pháp

def multiply(x, y):
    print("Multiply {} and {}".format(x, y))
    result = x * y
    return result

if __name__ == "__main__":
    answer = multiply(3,4)
    print("Answer: ", answer) 
7

Thí dụ

def multiply(x, y):
    print("Multiply {} and {}".format(x, y))
    result = x * y
    return result

if __name__ == "__main__":
    answer = multiply(3,4)
    print("Answer: ", answer) 
8

Cách gọi từng hàm một trong python

đầu ra

Ngôn ngữ hiện tại là. Python
Ngôn ngữ hiện tại là. Java

Cách gọi từng hàm một trong python

Tuyên bố trả lại

Một câu lệnh return được sử dụng để trả về một giá trị từ hàm

Thí dụ

def multiply(x, y):
    print("Multiply {} and {}".format(x, y))
    result = x * y
    return result

if __name__ == "__main__":
    answer = multiply(3,4)
    print("Answer: ", answer) 
9

đầu ra

tổng là. 5

Cách gọi từng hàm một trong python

đầu ra

Cách gọi từng hàm một trong python

Đối số chức năng

Trong python, chúng ta có thể gọi một hàm bằng 4 loại đối số

  • Đối số bắt buộc
  • đối số từ khóa
  • Đối số mặc định
  • Đối số có độ dài thay đổi

#1) Đối số bắt buộc

Đối số bắt buộc là đối số được truyền cho hàm theo thứ tự tuần tự, số lượng đối số được xác định trong hàm phải khớp với định nghĩa hàm

Thí dụ

def display(): # no parameters in ()
    print("Hello World!")

if __name__ == '__main__':
    display() # called without arguments
0

đầu ra

Tổng của hai số là. 11

Cách gọi từng hàm một trong python

đầu ra

Cách gọi từng hàm một trong python

#2) Đối số từ khóa

Khi chúng ta sử dụng các đối số từ khóa trong một lệnh gọi hàm, người gọi sẽ xác định các đối số theo tên đối số

Thí dụ

def display(): # no parameters in ()
    print("Hello World!")

if __name__ == '__main__':
    display() # called without arguments
1

đầu ra

ngôn ngữ hiện tại là. con trăn

Cách gọi từng hàm một trong python

đầu ra

Cách gọi từng hàm một trong python

#3) Đối số mặc định

Khi một hàm được gọi mà không có bất kỳ đối số nào, thì nó sẽ sử dụng đối số mặc định

Thí dụ

def display(): # no parameters in ()
    print("Hello World!")

if __name__ == '__main__':
    display() # called without arguments
2

đầu ra

Quốc gia hiện tại là. New York
Quốc gia hiện tại là. Luân Đôn
Quốc gia hiện tại là. Ấn Độ

Cách gọi từng hàm một trong python

đầu ra

Cách gọi từng hàm một trong python

#4) Đối số có độ dài thay đổi

Nếu bạn muốn xử lý nhiều đối số hơn trong một hàm so với những gì bạn đã chỉ định khi xác định hàm, thì có thể sử dụng các loại đối số này

ví dụ 1

Đối số không có từ khóa

def display(): # no parameters in ()
    print("Hello World!")

if __name__ == '__main__':
    display() # called without arguments
3

đầu ra

Tổng là. 7
Tổng là. 13
Tổng là. 176

Cách gọi từng hàm một trong python

Cách gọi từng hàm một trong python

ví dụ 2

đối số từ khóa

def display(): # no parameters in ()
    print("Hello World!")

if __name__ == '__main__':
    display() # called without arguments
4

đầu ra

Tên là John
Tuổi 20

Tên là John
Tuổi là 20
Điện thoại là 123456789

Cách gọi từng hàm một trong python

đầu ra

Cách gọi từng hàm một trong python

Sự kết luận

Trong hướng dẫn này, chúng ta đã xem xét các hàm do người dùng định nghĩa, đây là một loại hàm trong Python. Chúng ta đã thảo luận về một số thuộc tính của nó và xem tại sao chúng ta nên sử dụng các hàm

Chúng tôi cũng đã xem xét việc xác định các chức năng mà chúng tôi đã giải quyết. tham số, đối số, phạm vi biến và câu lệnh trả về

Tôi có thể gọi một hàm trong Python khác không?

Trong Python, bất kỳ hàm nào được viết ra đều có thể được gọi bởi một hàm khác . Lưu ý rằng đây có thể là cách đơn giản nhất để chia vấn đề thành các phần nhỏ của vấn đề.

Bạn có thể gọi một hàm trong chính nó bằng Python không?

Python cũng chấp nhận đệ quy hàm, nghĩa là một hàm đã xác định có thể gọi chính nó . Đệ quy là một khái niệm toán học và lập trình phổ biến. Nó có nghĩa là một chức năng gọi chính nó. Điều này có lợi là bạn có thể lặp qua dữ liệu để đạt được kết quả.

Bạn có thể gọi chức năng tương tự trong chính nó không?

Việc gọi một hàm từ bên trong chính nó được gọi là đệ quy và câu trả lời đơn giản là có.