Hàm void trong python là gì
Khi xác định một hàm Python không có tham số, dấu ngoặc đơn theo sau tên hàm là tùy chọn Chọn một Đúng Sai?
4 Hàm có thể chỉ trả về biểu thức Boolean không? Show
5 Hàm void trả về giá trị gì? 6 Khi hàm void được gán cho một biến, nó sẽ hiển thị? 7 Có bao nhiêu loại dữ liệu trong Python? 8 Điều nào sau đây không đúng về khóa từ điển Mcq? 9 Khóa () trong Python là gì? 10 Khi một hàm Python được gọi Bên trong hàm, các đối số được gán cho các biến được gọi là? Nếu bạn gán kết quả một hàm trống cho một biến trong Python, bạn sẽ nhận được. Với các ví dụ về mã Chúc các bạn một ngày tốt lành. Trong bài đăng này, chúng ta sẽ xem xét cách giải quyết vấn đề Nếu bạn gán kết quả một hàm vô hiệu cho một biến trong Python, bạn sẽ nhận được. câu đố lập trình def void(): print("Bla Bla") x = void print(x) #OUTPUTS: Như chúng ta đã thấy, rất nhiều ví dụ đã được sử dụng để giải quyết vấn đề Nếu bạn gán kết quả một hàm trống cho một biến trong Python, bạn sẽ nhận được. vấn đề Hàm void trong Python là gì?Trong Python, có thể soạn một hàm mà không cần câu lệnh trả về. Các hàm như thế này được gọi là void và chúng trả về Không, đối tượng đặc biệt của Python cho "không có gì" Loại nào sau đây được phép cho khóa từ điển python?Thứ hai, khóa từ điển phải thuộc loại không thay đổi. Ví dụ: bạn có thể sử dụng số nguyên, số float, chuỗi hoặc Boolean làm khóa từ điển. Tuy nhiên, cả danh sách và từ điển khác đều không thể đóng vai trò là khóa từ điển vì danh sách và từ điển có thể thay đổi Khi xác định một hàm Python không có tham số, dấu ngoặc đơn theo sau tên hàm là tùy chọn Chọn một Đúng Sai?'ĐÚNG VẬY'. Khi xác định hàm Python không có tham số, dấu ngoặc đơn theo sau tên hàm là tùy chọn. Toán tử % hoặc mô đun trả về phần còn lại từ phép chia hai số Các chức năng chỉ có thể trả về các biểu thức Boolean?Hàm chỉ có thể trả về biểu thức boolean. Phản hồi Câu trả lời đúng là 'Sai' Hàm void trả về cái gì?Các hàm trống được tạo và sử dụng giống như các hàm trả về giá trị ngoại trừ chúng không trả về giá trị sau khi hàm thực thi. Thay cho kiểu dữ liệu, hàm void sử dụng từ khóa "void. " Hàm void thực hiện một tác vụ, sau đó quyền điều khiển trả về trình gọi–nhưng, nó không trả về giá trị Khi hàm void được gán cho một biến, nó sẽ hiển thị?Trong ví dụ trên, chúng ta đã chuyển hai giá trị cho hàm đã cho, hàm này sau đó trả về tổng của các giá trị đó cho hàm chính bằng cách sử dụng từ khóa return. Ở chế độ tập lệnh, hàm trên không trả về giá trị và không được sử dụng. Khi bạn cố gắng gán một hàm void cho một biến, nó sẽ hiển thị một giá trị đặc biệt được gọi là Không có. 04-09-2020 Có bao nhiêu kiểu dữ liệu trong Python?Mỗi giá trị trong Python đều có một kiểu dữ liệu và mỗi kiểu dữ liệu là một lớp lưu trữ một biến (đối tượng). Trong một ngôn ngữ lập trình như Python, chủ yếu có 4 loại dữ liệu. Chuỗi – Đó là tập hợp các ký tự Unicode (chữ cái, số và ký hiệu) mà chúng ta thấy trên bàn phím Điều nào sau đây không đúng về khóa từ điển Mcq?11. Điều nào sau đây không đúng về khóa từ điển? . Các khóa của từ điển có thể là bất kỳ loại dữ liệu nào không thay đổi. 12 Khóa () trong Python là gì?Phương thức keys() trong Từ điển Python, trả về một đối tượng dạng xem hiển thị danh sách tất cả các khóa trong từ điển theo thứ tự chèn bằng Python. cú pháp. mệnh lệnh. keys() Tham số. Không có tham số. trả lại. Một đối tượng xem được trả về hiển thị tất cả các phím. 10-Aug-2022 Cho đến giờ trong khóa học này, chúng ta đã sử dụng các hàm dựng sẵn đi kèm với Python. Trong bài học này, chúng ta sẽ học cách tạo các chức năng của riêng mình. Nhưng trước khi làm điều đó, hãy dành thời gian tìm hiểu lý do tại sao chúng ta cần chúng ngay từ đầu Giả sử bạn muốn tạo một chương trình cho phép người dùng tính tổng giữa hai số. Tại thời điểm này, bạn sẽ không gặp vấn đề gì khi viết những chương trình như vậy; sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum) Thử ngay bây giờ Chương trình này tính tổng của tất cả các số từ import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()7 đến import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()8. Nếu chúng ta muốn tính tổng các số từ import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()9 đến Hello ! Today is 2017-06-20 13:20:45.2816510, chúng ta cần cập nhật chương trình như sau sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum) Như bạn có thể thấy cả hai phiên bản của chương trình gần như giống hệt nhau, điểm khác biệt duy nhất là ở giá trị của biến Hello ! Today is 2017-06-20 13:20:45.2816511 và Hello ! Today is 2017-06-20 13:20:45.2816512. Vì vậy, mỗi khi chúng ta muốn tính tổng của hai số, chúng ta cần cập nhật mã nguồn của chương trình. Sẽ tốt hơn nếu bằng cách nào đó chúng ta chỉ sử dụng lại toàn bộ mã mà không thực hiện bất kỳ sửa đổi nào. Chúng ta có thể làm điều đó bằng cách sử dụng các chức năng Chức năng là gìMột chức năng được đặt tên là nhóm các câu lệnh, thực hiện một nhiệm vụ cụ thể. Cú pháp định nghĩa một hàm như sau def function_name(arg1, arg2, arg3 .. argN): # function body ... Một chức năng bao gồm hai phần. tiêu đề và cơ thể. Tiêu đề hàm bắt đầu bằng từ khóa Hello ! Today is 2017-06-20 13:20:45.2816513, theo sau là tên của hàm, theo sau là các đối số và kết thúc bằng dấu hai chấm ( Hello ! Today is 2017-06-20 13:20:45.2816514) Hello ! Today is 2017-06-20 13:20:45.2816513 là từ khóa dành riêng, vì vậy bạn không nên sử dụng nó làm tên biến hoặc tên hàm trong chương trình của mình. Hello ! Today is 2017-06-20 13:20:45.2816516 có thể là bất kỳ số nhận dạng hợp lệ nào. Sau tên hàm, chúng ta có một danh sách các đối số bên trong dấu ngoặc đơn được phân tách bằng dấu phẩy ( Hello ! Today is 2017-06-20 13:20:45.2816517). Chúng tôi sử dụng các đối số này để truyền dữ liệu cần thiết cho hàm. Một hàm có thể nhận bất kỳ số lượng đối số nào hoặc không có đối số nào. Nếu hàm không chấp nhận bất kỳ đối số nào thì dấu ngoặc đơn được để trống Trong dòng tiếp theo, chúng ta có một khối câu lệnh hoặc thân hàm. Thân hàm chứa các câu lệnh định nghĩa chức năng làm gì. Như thường lệ, Python sử dụng thụt lề câu lệnh để xác định thời điểm khối bắt đầu và kết thúc. Tất cả các câu lệnh trong phần thân của hàm hàm phải được thụt lề bằng nhau nếu không bạn sẽ gặp lỗi cú pháp Đặc biệt chú ý đến câu lệnh cuối cùng trong thân hàm i. e Hello ! Today is 2017-06-20 13:20:45.2816518. Câu lệnh Hello ! Today is 2017-06-20 13:20:45.2816519 được sử dụng để trả về một giá trị từ hàm. Câu lệnh Hello ! Today is 2017-06-20 13:20:45.2816519 là không bắt buộc, một số hàm trả về giá trị trong khi hàm khác thì không. Nếu một hàm không có câu lệnh Hello ! Today is 2017-06-20 13:20:45.2816519 trong phần thân thì từ khóa dành riêng sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)92 sẽ tự động được trả về. sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)92 thực sự là một đối tượng có kiểu dựng sẵn sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)94. Đừng lo lắng nếu bạn thấy câu lệnh Hello ! Today is 2017-06-20 13:20:45.2816519 khó hiểu; Đây là chức năng nhỏ in ngày giờ hiện tại cùng với lời chào python101/Chương-13/first_function. py import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()4 Thử ngay bây giờ Hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97 không chấp nhận bất kỳ đối số nào, đó là lý do tại sao dấu ngoặc đơn được để trống. Thân hàm chứa hai câu lệnh sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)98. Hai câu lệnh này sẽ được thực thi khi chúng ta gọi hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97. Hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97 không trả về bất kỳ giá trị nào Chức năng gọiMột định nghĩa hàm tự nó không làm gì cả. Để sử dụng một chức năng, chúng ta phải gọi nó. Cú pháp gọi hàm như sau import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()9 Nếu hàm không chấp nhận bất kỳ đối số nào thì hãy sử dụng cú pháp sau Đoạn mã sau gọi hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97 import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()1 python101/Chương-13/calling_first_function. py import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet() Thử ngay bây giờ đầu ra Hello ! Today is 2017-06-20 13:20:45.281651 Lời gọi hàm phải xuất hiện sau khi hàm được định nghĩa, nếu không, bạn sẽ gặp phải ngoại lệ import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()42. Ví dụ python 101/Chương-13/gọi trước khi định nghĩa. py sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)9 Thử ngay bây giờ đầu ra import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()4 Khi một hàm được gọi, điều khiển chương trình sẽ nhảy tới định nghĩa hàm đó và thực thi các câu lệnh bên trong thân hàm. Sau khi thực hiện phần thân của hàm, điều khiển chương trình sẽ nhảy trở lại phần chương trình được gọi là hàm và tiếp tục thực hiện tại thời điểm đó Ví dụ sau minh họa điều gì sẽ xảy ra khi một hàm được gọi python101/Chương-13/transfer_of_control. py sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)0 Thử ngay bây giờ đầu ra sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)1 Trong các dòng 3-5, chúng ta đã định nghĩa một câu lệnh sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97. Câu lệnh sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)98 ở dòng 7, in chuỗi import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()45 ra bàn điều khiển. Ở dòng 8, chúng ta đang gọi hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97. Tại thời điểm này, việc thực hiện các câu lệnh sau lệnh gọi tới sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97 tạm dừng và điều khiển chương trình chuyển sang định nghĩa của hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97. Sau khi thực hiện phần thân của hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97, điều khiển chương trình lại nhảy trở lại điểm mà nó dừng lại và tiếp tục thực hiện từ đó Chương trình trước đây của chúng tôi chỉ có chức năng. Không có gì lạ khi các chương trình có hàng trăm, thậm chí hàng nghìn chức năng. Trong python, quy ước chung là định nghĩa một hàm có tên là sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)00, hàm này được gọi khi chương trình bắt đầu. Hàm sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)00 này sau đó tiếp tục gọi hàm khác khi cần. Chương trình sau minh họa luồng điều khiển chương trình khi chúng ta có hai chức năng trong một chương trình python101/Chương-13/hai_func_program_control. py sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)2 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)3 Thử ngay bây giờ Trong các dòng 3-5 và 8-11, chúng ta đã định nghĩa hai hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97 và sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)00. Hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97 hiện được cập nhật để chấp nhận một đối số có tên là sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)05, sau đó hàm này sẽ sử dụng trong dòng tiếp theo để chào người dùng Hàm sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)00 không chấp nhận bất kỳ đối số nào và có ba câu lệnh bên trong phần thân Câu lệnh ở dòng 13, gọi hàm sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)00. Điều khiển chương trình nhảy đến phần thân của hàm sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)00. Câu lệnh đầu tiên bên trong chuỗi ________ 600 in chuỗi ________ 610 ra bàn điều khiển. Câu lệnh ở dòng 10, gọi hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97 với đối số sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)12 sẽ được gán cho biến sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)05 trong tiêu đề hàm. Tại thời điểm này, việc thực thi các câu lệnh sau lệnh gọi tới sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97 tạm dừng và điều khiển chương trình nhảy tới phần thân của hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97. Sau khi thực hiện phần thân của hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)97, điều khiển chương trình nhảy trở lại nơi nó dừng lại và thực hiện câu lệnh sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)98 trong dòng 11. Vì không còn câu lệnh nào để thực thi trong hàm sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)00 và điều khiển chương trình sẽ nhảy trở lại nơi nó dừng lại để thực hiện các câu lệnh sau lệnh gọi hàm (dòng 13) Biến cục bộ, biến toàn cục và phạm viPhạm vi biến đổi. Phạm vi của một biến đề cập đến một phần của chương trình mà nó có thể được truy cập Biến chúng ta tạo bên trong hàm được gọi là biến cục bộ. Các biến cục bộ chỉ có thể được truy cập bên trong phần thân của hàm mà nó được định nghĩa. Nói cách khác, phạm vi của biến cục bộ bắt đầu từ thời điểm chúng được xác định và tiếp tục cho đến khi kết thúc hàm. Các biến cục bộ có thể được thu gom rác ngay sau khi chức năng kết thúc. Do đó, cố gắng truy cập một biến cục bộ bên ngoài phạm vi của nó sẽ dẫn đến lỗi Ở đầu kia của quang phổ, chúng ta có các biến Toàn cầu. Biến toàn cục là các biến được định nghĩa bên ngoài bất kỳ hàm nào. Phạm vi của biến toàn cục bắt đầu từ thời điểm chúng được xác định và tiếp tục cho đến khi chương trình kết thúc Bây giờ hãy xem xét các ví dụ sau ví dụ 1 python101/Chương-13/biến_scope. py sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)4 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)5 Thử ngay bây giờ đầu ra sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)6 Ở dòng 1, chúng ta đã tạo một biến toàn cục tên là sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)19. Sau đó, nó được truy cập ở dòng 12, bên trong hàm sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)20 và ở dòng 17, bên ngoài hàm. Chúng tôi cũng đã khai báo một biến cục bộ có tên là sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)21 bên trong hàm sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)20. Sau đó, nó được truy cập bên trong hàm ở dòng 9 Hãy xem điều gì xảy ra, nếu chúng ta cố gắng truy cập một biến cục bộ bên ngoài hàm. Để làm như vậy, bỏ ghi chú mã trong dòng 19 và chạy lại chương trình đầu ra sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)7 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)23 cho chúng ta biết rằng không có biến nào tên là sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)21 tồn tại trong phạm vi này Điều gì xảy ra nếu chúng ta có các biến cục bộ và biến toàn cục cùng tên? ví dụ 2 python 101/Chương-13/cùng _global_ và_local. py sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)8 Thử ngay bây giờ đầu ra Ở đây chúng ta có một biến toàn cục sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)25 ở dòng 1 và một biến cục bộ cùng tên bên trong hàm ở dòng 4. Bất cứ khi nào có xung đột giữa biến cục bộ và biến toàn cục bên trong hàm, biến cục bộ sẽ được ưu tiên. Đây là lý do tại sao hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)98 (dòng 5) in ra giá trị của biến cục bộ sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)25. Tuy nhiên, bên ngoài hàm sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)25 đề cập đến biến toàn cục sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)25 Chúng ta cũng có thể sử dụng các tên biến giống nhau trong các hàm khác nhau mà không xung đột với nhau python101/Chương-13/same_variable_names_in_different_functions. py sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)9 def function_name(arg1, arg2, arg3 .. argN): # function body ...0 Thử ngay bây giờ đầu ra def function_name(arg1, arg2, arg3 .. argN): # function body ...1 Vượt qua đối sốĐối số không là gì ngoài một phần dữ liệu được truyền cho hàm, khi nó được gọi. Như đã nói trước đây, một hàm có thể nhận bất kỳ số lượng đối số nào hoặc không có đối số nào. Ví dụ: hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)98 chấp nhận một hoặc nhiều đối số nhưng hàm sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)31 không chấp nhận Muốn một hàm nhận đối số thì khi gọi nó trước tiên ta phải định nghĩa một hoặc nhiều tham số. Tham số hoặc biến tham số chỉ đơn giản là một biến trong tiêu đề hàm nhận đối số khi hàm được gọi. Cũng giống như biến cục bộ, phạm vi của biến tham số chỉ giới hạn trong phần thân của hàm. Đây là một ví dụ về một hàm chấp nhận một đối số duy nhất def function_name(arg1, arg2, arg3 .. argN): # function body ...2 Khi hàm sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)32 được gọi với một đối số, giá trị của đối số được gán cho biến sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)25 và câu lệnh sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)98 in ra giá trị của sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)25 sau khi thêm import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()9 vào nó Chương trình sau minh họa cách gọi một hàm có đối số python 101/Chương-13/đối số chức năng. py def function_name(arg1, arg2, arg3 .. argN): # function body ...3 Thử ngay bây giờ đầu ra Ở dòng 6, hàm sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)32 được gọi với đối số import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()9. Giá trị của đối số sau đó được gán cho biến tham số sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)25 ví dụ 2. Hàm tính giai thừa của một số python101/Chương-13/giai thừa. py def function_name(arg1, arg2, arg3 .. argN): # function body ...4 def function_name(arg1, arg2, arg3 .. argN): # function body ...5 Thử ngay bây giờ đầu ra Giai thừa của một số sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)40 được định nghĩa là phép nhân của tất cả các chữ số từ sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)41 đến sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)40 def function_name(arg1, arg2, arg3 .. argN): # function body ...6 trong đó sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)43 biểu thị giai thừa của sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)40. Dưới đây là một số ví dụ def function_name(arg1, arg2, arg3 .. argN): # function body ...7 Bây giờ, hãy xem vòng lặp for hoạt động như thế nào khi giá trị của sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)40 là sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)46 Trước khi vòng lặp for bắt đầu sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)47 không được xác định sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)48 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)49Sau lần lặp đầu tiên sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)50 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)51 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)52Sau lần lặp thứ 2 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)53 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)54 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)55Sau lần lặp thứ 3 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)56 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)57 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)58Sau lần lặp thứ 4 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)59 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)60 sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)61 Sau khi vòng lặp thứ 4 kết thúc và hàm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)98 in giai thừa của số ví dụ 3. Truyền nhiều đối số cho hàm python 101/Chương-13/nhiều đối số. py def function_name(arg1, arg2, arg3 .. argN): # function body ...8 Thử ngay bây giờ đầu ra def function_name(arg1, arg2, arg3 .. argN): # function body ...9 Khi hàm sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)63 được gọi ở dòng 8, đối số import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()7 được truyền cho biến tham số sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)65 và sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)66 được truyền cho biến tham số sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)67 Thứ tự của các đối số được truyền trong khi gọi hàm phải khớp với thứ tự của các tham số trong tiêu đề hàm, nếu không, bạn có thể nhận được kết quả không mong muốn Vượt qua giá trịNhớ lại rằng mọi thứ trong Python đều là đối tượng. Vì vậy, một biến cho một đối tượng, thực sự là một tham chiếu đến đối tượng. Nói cách khác, một biến lưu trữ địa chỉ mà một đối tượng được lưu trữ trong bộ nhớ. Nó không chứa chính đối tượng thực tế Khi một hàm được gọi với các đối số, nó là địa chỉ của đối tượng được lưu trữ trong đối số được truyền cho biến tham số. Tuy nhiên, để đơn giản, chúng tôi nói rằng giá trị của đối số được truyền cho tham số trong khi gọi hàm. Cơ chế này được gọi là Pass By Value. Xem xét ví dụ sau import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()40 Thử ngay bây giờ đầu ra import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()41 Lưu ý rằng các giá trị sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)68 giống nhau. Điều này có nghĩa là biến sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)69 và sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)70 tham chiếu đến cùng một đối tượng. Nói cách khác, cả sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)69 và sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)70 đều trỏ đến cùng một vị trí bộ nhớ nơi đối tượng sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)73 ( import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()9) được lưu trữ Hành vi này có hai hậu quả quan trọng
Hãy kiểm tra hành vi này bằng cách lấy một số ví dụ ví dụ 1. Truyền các đối tượng không thay đổi để hoạt động python101/Chương-13/passing_immutable_objects. py import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()42 Thử ngay bây giờ đầu ra import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()43 Trong dòng 7, sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)20 được gọi với một đối số sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)69 (trỏ đến một đối tượng không thể thay đổi là sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)73). Giá trị của sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)69 được truyền cho tham số sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)70. Bên trong giá trị hàm của sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)70 được tăng thêm bởi import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()9 (dòng 3). Khi chức năng kết thúc, câu lệnh in ở dòng 8 được thực thi và chuỗi sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)82 được in ra bàn điều khiển. Điều này chứng minh rằng bất kể chức năng nào thực hiện với sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)70, giá trị của sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)69 vẫn giữ nguyên Nếu bạn nghĩ về nó, hành vi này có ý nghĩa hoàn hảo. Nhớ lại rằng không thể thay đổi nội dung của các đối tượng bất biến. Vì vậy, bất cứ khi nào chúng ta gán một giá trị số nguyên mới cho một biến, về cơ bản, chúng ta đang tạo một đối tượng sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)73 hoàn toàn mới và đồng thời gán tham chiếu của đối tượng mới cho biến đó. Đây chính xác là những gì đang xảy ra bên trong hàm sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)20 ví dụ 2. Truyền các đối tượng có thể thay đổi để hoạt động python101/Chương-13/passing_mutable_objects. py import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()44 Thử ngay bây giờ đầu ra import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()45 Mã gần như giống nhau, nhưng ở đây chúng tôi đang chuyển một danh sách cho hàm thay vì một số nguyên. Vì danh sách là một đối tượng có thể thay đổi, do đó, những thay đổi được thực hiện bởi hàm sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)20 ở dòng 2, sẽ ảnh hưởng đến đối tượng được trỏ bởi biến sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)69 Đối số vị trí và từ khóaCác đối số cho một hàm có thể được truyền theo hai cách
Trong phương thức đầu tiên, chúng ta truyền các đối số cho một hàm theo thứ tự như các tham số tương ứng của chúng trong tiêu đề hàm. Chúng tôi đã sử dụng phương thức này để truyền đối số cho các hàm của mình. Ví dụ python 101/Chương-13/bộ ba pythagore. py import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()46 Thử ngay bây giờ Câu lệnh sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)89 chuyển sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)90 đến sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)91, sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)46 đến sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)93 và sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)94 đến sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)95, và in ra sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)96. Tuy nhiên, câu lệnh sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)97, chuyển sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)90 sang cơ sở, sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)94 đến sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)93 và sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)46 đến sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)95 và in ra def function_name(arg1, arg2, arg3 .. argN): # function body ...03, sai. Vì vậy, khi sử dụng các đối số vị trí, hãy luôn đảm bảo rằng thứ tự của các đối số trong lệnh gọi hàm và thứ tự của các tham số trong tiêu đề hàm khớp với nhau. Nếu không, bạn có thể nhận được kết quả mong đợi Một cách khác để truyền đối số cho hàm là sử dụng Đối số từ khóa. Trong phương thức này, chúng tôi chuyển từng đối số theo mẫu sau trong đó def function_name(arg1, arg2, arg3 .. argN): # function body ...04 là tên của biến tham số trong tiêu đề hàm và def function_name(arg1, arg2, arg3 .. argN): # function body ...05 là giá trị bạn muốn chuyển đến biến tham số. Bởi vì, chúng tôi đang liên kết tên tham số với các giá trị, thứ tự của các đối số trong lệnh gọi hàm không quan trọng Dưới đây là một số cách khác nhau để chúng ta có thể gọi hàm def function_name(arg1, arg2, arg3 .. argN): # function body ...06 bằng các đối số từ khóa import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()47 Thử ngay bây giờ Các đối số từ khóa hơi linh hoạt vì chúng ta không phải nhớ thứ tự của các tham số trong tiêu đề hàm Trộn các đối số Vị trí và Từ khóaChúng ta cũng có thể kết hợp các đối số vị trí và đối số từ khóa trong một lệnh gọi hàm. Khi làm như vậy, yêu cầu duy nhất là các đối số vị trí phải xuất hiện trước bất kỳ đối số từ khóa nào. Điều đó có nghĩa là hai lệnh gọi sau hoàn toàn hợp lệ vì trong cả hai lệnh gọi, các đối số vị trí xuất hiện trước các đối số từ khóa import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()48 Thử ngay bây giờ Tuy nhiên, chúng ta không thể làm điều này import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()49 Thử ngay bây giờ Vấn đề ở đây là đối số vị trí ( sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)94) xuất hiện sau đối số từ khóa ( def function_name(arg1, arg2, arg3 .. argN): # function body ...08). Cố gắng gọi def function_name(arg1, arg2, arg3 .. argN): # function body ...06 theo cách này dẫn đến lỗi sau import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()90 Giá trị trả vềCho đến thời điểm này, chúng tôi đã tạo các hàm không trả về bất kỳ giá trị nào, các hàm như vậy còn được gọi là hàm void Để trả về giá trị từ một hàm, chúng ta sử dụng câu lệnh Hello ! Today is 2017-06-20 13:20:45.2816519. Cú pháp của nó là Dấu ngoặc vuông ( def function_name(arg1, arg2, arg3 .. argN): # function body ...11) xung quanh def function_name(arg1, arg2, arg3 .. argN): # function body ...12 chỉ ra rằng nó là tùy chọn. Nếu bỏ qua một giá trị đặc biệt sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)92 được trả về Khi gặp câu lệnh Hello ! Today is 2017-06-20 13:20:45.2816519 bên trong một hàm, hàm đó sẽ kết thúc và giá trị của def function_name(arg1, arg2, arg3 .. argN): # function body ...12 theo sau từ khóa Hello ! Today is 2017-06-20 13:20:45.2816519 được gửi trở lại phần chương trình đã gọi hàm đó. Câu lệnh Hello ! Today is 2017-06-20 13:20:45.2816519 có thể xuất hiện ở bất kỳ đâu trong phần thân của hàm. Các hàm trả về giá trị được gọi là hàm trả về giá trị Đây là một ví dụ import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()91 Một hàm có thể được gọi theo hai cách, tùy thuộc vào việc chúng có trả về giá trị hay không Nếu một hàm trả về một giá trị thì lời gọi hàm đó có thể được sử dụng làm toán hạng trong bất kỳ biểu thức nào trong chương trình. Ví dụ Thử ngay bây giờ Trong biểu thức trên, trước tiên chúng ta gọi hàm def function_name(arg1, arg2, arg3 .. argN): # function body ...18, sau đó gán giá trị trả về của hàm cho biến def function_name(arg1, arg2, arg3 .. argN): # function body ...19. Nếu chúng tôi không sử dụng câu lệnh Hello ! Today is 2017-06-20 13:20:45.2816519 trong hàm def function_name(arg1, arg2, arg3 .. argN): # function body ...18, chúng tôi sẽ không thể viết mã này. Dưới đây là một số cách khác mà chúng ta có thể gọi hàm def function_name(arg1, arg2, arg3 .. argN): # function body ...18 import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()92 Thử ngay bây giờ Chúng tôi không bị ràng buộc sử dụng giá trị trả về từ hàm. Nếu chúng ta không muốn sử dụng giá trị trả về, chỉ cần gọi hàm dưới dạng câu lệnh. Ví dụ Trong trường hợp này, giá trị trả về của def function_name(arg1, arg2, arg3 .. argN): # function body ...18 đơn giản là bị loại bỏ Hãy viết lại chương trình giai thừa của chúng ta để trả về giai thừa thay vì in nó python 101/Chương-13/trả về giai thừa. py import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()93 import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()94 Thử ngay bây giờ đầu ra import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()95 Trong ví dụ trên, chúng tôi đang trả về một giá trị số nguyên từ hàm, nhưng chúng tôi có thể sử dụng bất kỳ loại dữ liệu nào sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)73, def function_name(arg1, arg2, arg3 .. argN): # function body ...25, def function_name(arg1, arg2, arg3 .. argN): # function body ...26, def function_name(arg1, arg2, arg3 .. argN): # function body ...27; . Chương trình sau minh họa cách trả về loại def function_name(arg1, arg2, arg3 .. argN): # function body ...27 từ hàm python101/Chương-13/is_even_or_odd. py sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)2 import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()97 Thử ngay bây giờ Đầu ra lần chạy đầu tiên import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()98 Lần chạy thứ 2 import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()99 Nếu biểu thức theo sau là từ khóa Hello ! Today is 2017-06-20 13:20:45.2816519 bị bỏ qua thì giá trị đặc biệt sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)92 được trả về python 101/Chương-13/không trả về. py import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()10 Thử ngay bây giờ đầu ra Chúng ta cũng có thể sử dụng câu lệnh Hello ! Today is 2017-06-20 13:20:45.2816519 nhiều lần bên trong hàm nhưng ngay khi gặp câu lệnh Hello ! Today is 2017-06-20 13:20:45.2816519 đầu tiên, hàm sẽ kết thúc và tất cả các câu lệnh theo sau nó không được thực thi. Ví dụ python 101/Chương-13/máy tính lớp. py import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()11 import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()12 Thử ngay bây giờ Đầu ra chạy đầu tiên import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()13 Đầu ra lần chạy thứ hai import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()14 Hàm Void trả về Không cóTrong Python, các hàm void hơi khác so với các hàm trong C, C++ hoặc Java. Nếu thân hàm không có bất kỳ câu lệnh Hello ! Today is 2017-06-20 13:20:45.2816519 nào thì một giá trị đặc biệt sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)92 được trả về khi hàm kết thúc. Trong Python, sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)92 là một chữ của loại sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)94 được sử dụng để biểu thị sự vắng mặt của một giá trị. Nó thường được gán cho một biến để chỉ ra rằng biến đó không trỏ đến bất kỳ đối tượng nào Chương trình sau đây chứng minh rằng các hàm void trả về sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)92 python 101/Chương-13/hàm void. py import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()15 Thử ngay bây giờ đầu ra Đảm bảo đủ. Hàm def function_name(arg1, arg2, arg3 .. argN): # function body ...18 thực sự trả về sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)92. Vì vậy, chúng ta có thể nói rằng trong Python, tất cả các hàm đều trả về giá trị cho dù bạn có sử dụng câu lệnh Hello ! Today is 2017-06-20 13:20:45.2816519 hay không. Tuy nhiên, điều này không có nghĩa là bạn có thể sử dụng hàm void giống như hàm trả về giá trị. Xem xét ví dụ sau python101/Chương-13/using_void_function_as_non_void_function. py import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()16 Thử ngay bây giờ đầu ra import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()17 Trong dòng 5, chúng tôi đang cố gắng thêm giá trị được trả về từ def function_name(arg1, arg2, arg3 .. argN): # function body ...18 i. e sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)92 vào số nguyên import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()9, nhưng thao tác không thành công vì thao tác def function_name(arg1, arg2, arg3 .. argN): # function body ...44 không thể thêm sum = 0 start = 10 end = 30 for i in range(start, end+1): sum += i print("Sum is", sum)94 vào sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)73 Đó là lý do tại sao một hàm void thường được gọi dưới dạng một câu lệnh như thế này Trả về nhiều giá trịĐể trả về nhiều giá trị từ một hàm, chỉ cần chỉ định từng giá trị được phân tách bằng dấu phẩy ( Hello ! Today is 2017-06-20 13:20:45.2816517) sau từ khóa Hello ! Today is 2017-06-20 13:20:45.2816519 import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()18 Khi gọi một hàm trả về nhiều giá trị, số lượng biến ở vế trái của toán tử def function_name(arg1, arg2, arg3 .. argN): # function body ...49 phải bằng số lượng giá trị được trả về bởi câu lệnh Hello ! Today is 2017-06-20 13:20:45.2816519. Vì vậy nếu một hàm trả về 2 giá trị thì bạn phải sử dụng 2 biến ở vế trái của toán tử def function_name(arg1, arg2, arg3 .. argN): # function body ...49. Đây là một ví dụ python 101/Chương-13/trả về nhiều giá trị. py def function_name(arg1, arg2, arg3 .. argN): # function body ...4 import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()0 Thử ngay bây giờ đầu ra import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()1 Lưu ý cách các giá trị được gán trong khi gọi hàm. tuyên bố import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()2 gán số nhỏ hơn cho biến def function_name(arg1, arg2, arg3 .. argN): # function body ...52 và số lớn hơn cho biến def function_name(arg1, arg2, arg3 .. argN): # function body ...53 Đối số mặc địnhTrong Python, chúng ta có thể định nghĩa một hàm với các giá trị tham số mặc định, giá trị mặc định này sẽ được sử dụng khi một hàm được gọi mà không có bất kỳ đối số nào. Để chỉ định giá trị mặc định cho tham số, chỉ cần chỉ định giá trị bằng toán tử gán theo sau là tên tham số. Xem xét ví dụ sau python 101/Chương-13/thiết lập giá trị _default_. py def function_name(arg1, arg2, arg3 .. argN): # function body ...4 import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()4 Thử ngay bây giờ đầu ra import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()93 import datetime def greet(): print("Hello !") print("Today is", datetime.datetime.now()) greet()6 Trong dòng 7, chúng tôi đang gọi hàm def function_name(arg1, arg2, arg3 .. argN): # function body ...54 mà không có bất kỳ đối số nào, vì vậy các giá trị mặc định def function_name(arg1, arg2, arg3 .. argN): # function body ...55 và sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)90 sẽ được gán cho các tham số def function_name(arg1, arg2, arg3 .. argN): # function body ...57 và def function_name(arg1, arg2, arg3 .. argN): # function body ...58 tương ứng Trong dòng 8, chúng tôi đang gọi def function_name(arg1, arg2, arg3 .. argN): # function body ...54 bằng cách chuyển sum = 0 start = 100 end = 200 for i in range(start, end+1): sum += i print("Sum is", sum)46 đến def function_name(arg1, arg2, arg3 .. argN): # function body ...57 và def function_name(arg1, arg2, arg3 .. argN): # function body ...62 đến def function_name(arg1, arg2, arg3 .. argN): # function body ...58. Vì các giá trị cho cả hai tham số được cung cấp trong khi gọi hàm, giá trị mặc định sẽ không được sử dụng trong trường hợp này. Điều này cũng đúng với cuộc gọi def function_name(arg1, arg2, arg3 .. argN): # function body ...54 ở dòng 9, ngoại trừ ở đây chúng tôi đang sử dụng đối số từ khóa Trong dòng 10, chúng tôi chỉ cung cấp giá trị cho tham số def function_name(arg1, arg2, arg3 .. argN): # function body ...57 bằng cách sử dụng đối số từ khóa, do đó, giá trị mặc định cho tham số def function_name(arg1, arg2, arg3 .. argN): # function body ...58 sẽ được sử dụng Hàm void là gì?Các hàm trống được tạo và sử dụng giống như các hàm trả về giá trị ngoại trừ việc chúng không trả về giá trị sau khi hàm thực thi . Thay cho kiểu dữ liệu, hàm void sử dụng từ khóa "void. " Hàm void thực hiện một tác vụ và sau đó điều khiển trả về trình gọi--nhưng, nó không trả về giá trị.
ví dụ về hàm void là gì?Hơn nữa, nó thường được gán cho một biến để biểu thị rằng biến đó không trỏ đến bất kỳ đối tượng nào . Thông qua chương trình được đưa ra dưới đây, bạn có thể thấy nó cho thấy các hàm void trả về Không có như thế nào. sao chép mã. Thêm 1 lần xác định (num1, num2). 2 print("Tổng là", num1 + num2) 3 4 return_val = add(300, 500) 5 print(return_val)
Hàm void và non void trong Python là gì?Hàm không trả về bất kỳ giá trị nào được gọi là hàm void và hàm trả về một số giá trị được gọi là hàm non void . Hàm void có thể hoặc không thể sử dụng từ khóa return và câu lệnh in chỉ được viết bên trong định nghĩa hàm. #
Chức năng hiệu quả và vô hiệu trong Python là gì?4. 10 Hàm hiệu quả và hàm void
. Các hàm khác, như print_twice, thực hiện một hành động nhưng không trả về giá trị. Chúng được gọi là hàm void. Some of the functions we are using, such as the math functions, yield results; for lack of a better name, I call them fruitful functions. Other functions, like print_twice, perform an action but don't return a value. They are called void functions. |