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 Show
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 Bạn sẽ học được gì
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 PythonCá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
Đối tượng hạng nhấtCá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
Đừ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 caoTrong 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 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ụcTrong 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
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ăngTrướ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ả Hình 2. Định nghĩa hàm có chú thíchChú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àmNgườ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 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 Xác định tham số với giá trị mặc địnhTrong 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 Đô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 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 *argsMộ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 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 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 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 NB. Vài điều cần lưu ý ở đây
Xác định tham số Với **kwargsTrong 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à
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 code0 đầu ra 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 code1 đầu ra Hàm Vs Phương thứcCá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 code2 đầu ra Phạm vi của các biếnTrong 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ươngMộ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 code3 đầu ra 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 theoPhạ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 code4 Đ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 code5 đầu ra Phạm vi toàn cầuCá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 code6 đầu ra 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ầuChú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 code7 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 code8 đầu ra Phạm vi tích hợpPhạ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 code9 đầu ra Câu lệnh trả về hàmTrong 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à
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 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 Trả về một chức năngMộ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ác câu hỏi thường gặpCâ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 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à
Thông tin thêm về chức năngHà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
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 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 đầu ra Xin chào con trăn 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 đầu ra Ngôn ngữ hiện tại là. 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 đầu ra Đố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ố
#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 arguments0 đầu ra Tổng của hai số là. 11 đầu ra #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 arguments1 đầu ra ngôn ngữ hiện tại là. con trăn đầu ra #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 arguments2 đầu ra Quốc gia hiện tại là. New York đầu ra #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 arguments3 đầu ra Tổng là. 7 ví dụ 2 đối số từ khóa def display(): # no parameters in () print("Hello World!") if __name__ == '__main__': display() # called without arguments4 đầu ra Tên là John Tên là John đầu ra Sự kết luậnTrong 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ó. |