Hướng dẫn what is a parenthesis in function and python? - dấu ngoặc đơn trong hàm và python là gì?

Các chức năng trong Python là các khối mã được xác định thực hiện một nhiệm vụ cụ thể. Trong phần này, chúng tôi sẽ thảo luận về sự khác biệt trong việc gọi các chức năng có và không có dấu ngoặc đơn.

  • Khi chúng ta gọi một chức năng với dấu ngoặc đơn, chức năng sẽ được thực thi và trả về kết quả cho người được gọi.function with parentheses, the function gets execute and returns the result to the callable.
  • Trong một trường hợp khác, khi chúng ta gọi một hàm không có dấu ngoặc đơn, một tham chiếu chức năng sẽ được gửi đến gọi có thể gọi thay vì thực hiện chính chức năng.function without parentheses, a function reference is sent to the callable rather than executing the function itself.

Hãy để thảo luận về 3 khái niệm quan trọng:

  • Gọi các chức năng
  • Trả về các chức năng
  • Vượt qua các chức năng

Hàm Gọi -

Hàm dưới đây thực hiện một tác vụ đơn giản, nối chuỗi. Ở đây chúng tôi sẽ gọi hàm `Concatenate_String` có và không có dấu ngoặc đơn và xem sự khác biệt.

def concatenate_string(*Hello, George0

Hello, George1Hello, George2Hello, George3 Hello, George4Hello, George5Hello, George6

Hello, George1Hello, George8Hello, George3 Hello, George4 return merge_string(string1, string2) 1Hello, George6

Hello, George1 return merge_string(string1, string2) 4 Hello, George2 return merge_string(string1, string2) 6  return merge_string(string1, string2) 7

 return merge_string(string1, string2) 8Hello, George3 concatenate_string(<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 1<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 2<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 3<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 4

<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 5<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 6<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 7<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 4

<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 5return merge_string0

 return merge_string(string1, string2) 8Hello, George3 return merge_string3

<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 5<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 6return merge_string6<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 4

<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 5return merge_string0

Đầu ra

Function call with Parentheses: Hello, George Function call without Parentheses: <function concatenate_string at 0x7f0bb991df28>

Đối với trường hợp đầu tiên, khi chúng tôi gọi Hello, George0, chức năng đã thực thi và trả về chuỗi được nối. Và trong trường hợp thứ hai, khi chúng tôi gọi return merge_string3, tức là không có dấu ngoặc đơn, một tham chiếu được chuyển đến có thể gọi thay vì tự thực hiện chức năng. Ở đây có thể gọi có thể quyết định phải làm gì với tài liệu tham khảo.
And, for the second case, when we call return merge_string3 i.e. without parentheses, a reference is passed to the callable rather than executing the function itself. Here the callable can decide what to do with the reference.

Trả về các chức năng -

Từ các cuộc thảo luận ở trên, bạn có thể hiểu rằng, khi hàm được gọi với dấu ngoặc đơn, mã được thực thi và trả về kết quả. Và, khi nó được gọi là không có dấu ngoặc đơn, một tham chiếu chức năng được trả lại cho Callable. Vì vậy, điều gì xảy ra khi một hàm được mã hóa cùng với câu lệnh trả về với dấu ngoặc đơn và không có dấu ngoặc đơn. Hãy để đi qua một ví dụ.
So, what happens when a function is coded along with a return statement with parentheses and without parentheses. Let’s go through an example.

Với dấu ngoặc đơn

def concatenate_string(*Hello, George0

Hello, George1Hello, George2Hello, George3 Hello, George4Hello, George5Hello, George6

Hello, George1Hello, George8Hello, George3 Hello, George4 return merge_string(string1, string2) 1Hello, George6

Hello, George1 return merge_string(string1, string2) 4 Hello, George2 return merge_string(string1, string2) 6  return merge_string(string1, string2) 7

 return merge_string(string1, string2) 8Hello, George3 concatenate_string(<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 1<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 2<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 3<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 4

 return merge_string(string1, string2) 8Hello, George3 return merge_string3

Đầu ra

Đối với trường hợp đầu tiên, khi chúng tôi gọi Hello, George0, chức năng đã thực thi và trả về chuỗi được nối. Và trong trường hợp thứ hai, khi chúng tôi gọi return merge_string3, tức là không có dấu ngoặc đơn, một tham chiếu được chuyển đến có thể gọi thay vì tự thực hiện chức năng. Ở đây có thể gọi có thể quyết định phải làm gì với tài liệu tham khảo.

Hello, George1<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 5*1

*2

Đầu ra

Hello, George

Đối với trường hợp đầu tiên, khi chúng tôi gọi Hello, George0, chức năng đã thực thi và trả về chuỗi được nối. Và trong trường hợp thứ hai, khi chúng tôi gọi return merge_string3, tức là không có dấu ngoặc đơn, một tham chiếu được chuyển đến có thể gọi thay vì tự thực hiện chức năng. Ở đây có thể gọi có thể quyết định phải làm gì với tài liệu tham khảo.

 return merge_string(string1, string2) 

Trả về các chức năng -

Từ các cuộc thảo luận ở trên, bạn có thể hiểu rằng, khi hàm được gọi với dấu ngoặc đơn, mã được thực thi và trả về kết quả. Và, khi nó được gọi là không có dấu ngoặc đơn, một tham chiếu chức năng được trả lại cho Callable. Vì vậy, điều gì xảy ra khi một hàm được mã hóa cùng với câu lệnh trả về với dấu ngoặc đơn và không có dấu ngoặc đơn. Hãy để đi qua một ví dụ.

Với dấu ngoặc đơn

Hello, George1 return merge_string(string1, string2) 4 Hello, George2 return merge_string(string1, string2) 6  return merge_string(string1, string2) 7

 return merge_string(string1, string2) 8Hello, George3 concatenate_string(<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 1<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 2<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 3<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 4

 return merge_string(string1, string2) 8Hello, George3 return merge_string3

Đầu ra

Đối với trường hợp đầu tiên, khi chúng tôi gọi Hello, George0, chức năng đã thực thi và trả về chuỗi được nối. Và trong trường hợp thứ hai, khi chúng tôi gọi return merge_string3, tức là không có dấu ngoặc đơn, một tham chiếu được chuyển đến có thể gọi thay vì tự thực hiện chức năng. Ở đây có thể gọi có thể quyết định phải làm gì với tài liệu tham khảo.

Hello, George1<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 5Hello, George21

Hello, George1<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 5Hello, George24<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 1<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 2<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 3Hello, George28

*2

Output:

<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George

Trả về các chức năng -

return merge_string

Từ các cuộc thảo luận ở trên, bạn có thể hiểu rằng, khi hàm được gọi với dấu ngoặc đơn, mã được thực thi và trả về kết quả. Và, khi nó được gọi là không có dấu ngoặc đơn, một tham chiếu chức năng được trả lại cho Callable. Vì vậy, điều gì xảy ra khi một hàm được mã hóa cùng với câu lệnh trả về với dấu ngoặc đơn và không có dấu ngoặc đơn. Hãy để đi qua một ví dụ.
And, when we code subfunction without parentheses in a return statement, the main function passes the sub-function reference to the callable rather than executing it. Here the callable decides what to do with the reference.

Với dấu ngoặc đơn

Hello, George1def def0

def concatenate_string(*Hello, George0

Hello, George1Hello, George2Hello, George3 Hello, George4Hello, George5Hello, George6

Hello, George1Hello, George8Hello, George3 Hello, George4 return merge_string(string1, string2) 1Hello, George6

Hello, George1 return merge_string(string1, string2) 4 Hello, George2 return merge_string(string1, string2) 6  return merge_string(string1, string2) 7

 return merge_string(string1, string2) 8Hello, George3 concatenate_string(<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 1<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 2<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 3<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 4

 return merge_string(string1, string2) 8Hello, George3 return merge_string3

Đầu ra

Đối với trường hợp đầu tiên, khi chúng tôi gọi Hello, George0, chức năng đã thực thi và trả về chuỗi được nối. Và trong trường hợp thứ hai, khi chúng tôi gọi return merge_string3, tức là không có dấu ngoặc đơn, một tham chiếu được chuyển đến có thể gọi thay vì tự thực hiện chức năng. Ở đây có thể gọi có thể quyết định phải làm gì với tài liệu tham khảo.

Trả về các chức năng -

Từ các cuộc thảo luận ở trên, bạn có thể hiểu rằng, khi hàm được gọi với dấu ngoặc đơn, mã được thực thi và trả về kết quả. Và, khi nó được gọi là không có dấu ngoặc đơn, một tham chiếu chức năng được trả lại cho Callable. Vì vậy, điều gì xảy ra khi một hàm được mã hóa cùng với câu lệnh trả về với dấu ngoặc đơn và không có dấu ngoặc đơn. Hãy để đi qua một ví dụ.

<function concatenate_string..merge_string at 0x7f1e54ebc158> Hello, George 5Hello, George75

Output:

Hello, George

Với dấu ngoặc đơn

function_call(concatenate_string)

Hello, George1def def0


Một dấu ngoặc đơn trong Python là gì?

Điểm số tiêu chuẩn - () Nói rộng ra, việc sử dụng dấu ngoặc đơn chính trong Python là gọi một đối tượng. Đó là lý do tại sao dấu ngoặc đơn tiêu chuẩn đôi khi được gọi là "toán tử cuộc gọi". Ngoài việc sử dụng chính của chúng, dấu ngoặc đơn cũng được sử dụng để xác định các biểu thức của máy phát.to call an object. That is the reason why standard parentheses are sometimes called the "call operator." Aside from their main use, parentheses are also used to define generator expressions.

Dấu ngoặc đơn trong cuộc gọi chức năng là gì?

Khi chúng ta gọi một chức năng với dấu ngoặc đơn, chức năng sẽ được thực thi và trả về kết quả cho người được gọi.Trong một trường hợp khác, khi chúng ta gọi một hàm không có dấu ngoặc đơn, một tham chiếu chức năng sẽ được gửi đến gọi có thể gọi thay vì thực hiện chính chức năng.the function gets execute and returns the result to the callable. In another case, when we call a function without parentheses, a function reference is sent to the callable rather than executing the function itself.

Def () có nghĩa là gì trong Python?

def là từ khóa để xác định một hàm.Tên hàm được theo sau bởi (các) tham số trong ().Đại tràng: báo hiệu sự khởi đầu của cơ thể chức năng, được đánh dấu bằng vết lõm.Bên trong phần thân hàm, câu lệnh trả về xác định giá trị được trả về.the keyword for defining a function. The function name is followed by parameter(s) in (). The colon : signals the start of the function body, which is marked by indentation. Inside the function body, the return statement determines the value to be returned.

Tại sao Python 3 sử dụng dấu ngoặc đơn?

Trong Python 3, không còn có thể in mà không có dấu ngoặc đơn.Lý do tại sao là vì in từng là một tuyên bố trong Python 2. Trong Python 3 in () là một hàm.Như bạn đã biết, một cuộc gọi chức năng luôn yêu cầu dấu ngoặc đơn.because print used to be a statement in Python 2. In Python 3 print() is a function. As you know, a function call always requires parenthesis.

Chủ đề