Hướng dẫn invoke a function in python - gọi một hàm trong python

Hướng dẫn invoke a function in python - gọi một hàm trong python

Python có một loạt các chức năng tích hợp hữu ích mà bạn có thể sử dụng để làm tất cả các loại công cụ. Và mỗi người thực hiện một nhiệm vụ cụ thể.

Nhưng bạn có biết rằng Python cũng cho phép bạn xác định các chức năng của riêng mình?

Bài viết này sẽ chỉ cho bạn cách tạo và gọi các chức năng Python của riêng bạn. Nó cũng sẽ cung cấp cho bạn một cái nhìn tổng quan về cách truyền các tham số đầu vào và đối số cho các chức năng của bạn.

Hàm là gì?

Một hàm là một khối mã bị cô lập thực hiện một nhiệm vụ cụ thể.

Các chức năng rất hữu ích trong việc lập trình vì chúng loại bỏ không cần thiết và sao chép quá mức và dán mã thông qua một chương trình.

Nếu một hành động nhất định được yêu cầu thường xuyên và ở những nơi khác nhau, đó là một chỉ số tốt mà bạn có thể viết một chức năng cho nó. Các chức năng có nghĩa là có thể tái sử dụng.

Chức năng cũng giúp tổ chức mã của bạn.

Nếu bạn cần thực hiện thay đổi, bạn sẽ chỉ cần cập nhật chức năng nhất định đó. Điều này giúp bạn không phải tìm kiếm các phần khác nhau của cùng một mã đã được phân tán ở các vị trí khác nhau trong chương trình của bạn bằng cách sao chép và dán.

Điều này tuân thủ nguyên tắc khô (không lặp lại) trong phát triển phần mềm.

Mã bên trong một hàm chỉ chạy khi hàm chúng được gọi.

Các chức năng có thể chấp nhận các đối số và mặc định và có thể hoặc không trả lại các giá trị trở lại người gọi sau khi mã đã chạy.

Cách xác định một hàm trong Python

Cú pháp chung để tạo một hàm trong Python trông giống như sau:

def function_name(parameters):
    function body

Hãy phá vỡ những gì đang xảy ra ở đây:

  • function_name(arguments)
    
    9 là một từ khóa cho Python biết một chức năng mới đang được xác định.
  • Tiếp đến là một tên chức năng hợp lệ của sự lựa chọn của bạn. Tên hợp lệ bắt đầu bằng một chữ cái hoặc dấu gạch dưới nhưng có thể bao gồm các số. Từ ngữ là chữ thường và được phân tách bằng dấu gạch dưới. Điều quan trọng là phải biết rằng tên chức năng không thể là từ khóa dành riêng Python.
  • Sau đó, chúng tôi có một bộ dấu ngoặc đơn mở và đóng,
    hello_world_func()
    
    #Output
    #hello world 
    
    0. Bên trong họ, có thể có số không, một hoặc nhiều tham số phân tách dấu phẩy tùy chọn hơn với các giá trị mặc định tùy chọn của chúng. Chúng được truyền cho chức năng.
  • Tiếp theo là một dấu hai chấm,
    hello_world_func()
    
    #Output
    #hello world 
    
    1, kết thúc dòng định nghĩa của hàm.
  • Sau đó, có một dòng mới theo sau là một cấp độ thụt (bạn có thể thực hiện điều này với 4 khoảng trống bằng bàn phím của bạn hoặc với 1 tab thay thế). Thắng rất quan trọng vì nó cho phép Python biết mã nào sẽ thuộc về chức năng.
  • Sau đó, chúng ta có cơ thể của chức năng. Đây là mã sẽ được thực thi - nội dung với các hành động được thực hiện khi hàm được gọi.
  • Cuối cùng, có một câu lệnh trả về tùy chọn trong cơ thể của chức năng, chuyển lại giá trị cho người gọi khi chức năng được thoát.

Hãy nhớ rằng nếu bạn quên dấu ngoặc đơn hoặc đại tràng

hello_world_func()

#Output
#hello world 
1 khi cố gắng xác định chức năng mới, Python sẽ cho bạn biết với
hello_world_func()

#Output
#hello world 
4.

Cách xác định và gọi một hàm cơ bản trong Python

Dưới đây là một ví dụ về chức năng cơ bản không có câu lệnh trả về và không có bất kỳ tham số nào.

Nó chỉ in

hello_world_func()

#Output
#hello world 
5 bất cứ khi nào nó được gọi.

def hello_world_func():
    print("hello world")

Khi bạn đã xác định một hàm, mã sẽ không tự chạy.

Để thực thi mã bên trong hàm, bạn đã thực hiện một lời mời chức năng hoặc nếu không thì một cuộc gọi chức năng.

Sau đó, bạn có thể gọi chức năng bao nhiêu lần tùy thích.

Để gọi một chức năng bạn cần phải làm điều này:

function_name(arguments)

Đây là sự cố của mã:

  • Nhập tên chức năng.
  • Tên chức năng phải được theo sau bởi dấu ngoặc đơn. Nếu có bất kỳ đối số cần thiết, chúng phải được thông qua trong dấu ngoặc đơn. Nếu chức năng không có bất kỳ đối số nào, bạn vẫn cần dấu ngoặc đơn.

Để gọi hàm từ ví dụ trên, không có bất kỳ đối số nào, hãy làm như sau:

hello_world_func()

#Output
#hello world 

Cách xác định và gọi các hàm với tham số

Cho đến nay, bạn đã thấy các chức năng đơn giản không thực sự làm nhiều ngoài việc in một cái gì đó vào bảng điều khiển.

Điều gì sẽ xảy ra nếu bạn muốn truyền thêm một số dữ liệu cho chức năng?

Chúng tôi đã sử dụng các thuật ngữ ở đây như tham số và đối số.

Định nghĩa của họ chính xác là gì?

Các tham số là một trình giữ chỗ được đặt tên truyền thông tin vào các chức năng.

Chúng hoạt động như các biến được xác định cục bộ trong dòng định nghĩa của hàm.

def hello_to_you(name):
   print("Hello " + name)

Trong ví dụ trên, có một tham số,

hello_world_func()

#Output
#hello world 
6.

Thay vào đó, chúng tôi có thể đã sử dụng

hello_world_func()

#Output
#hello world 
7 - nó hoạt động giống như ví dụ trước:

def hello_to_you(name):
    print(f"Hello {name}")

Có thể có một danh sách các tham số bên trong dấu ngoặc đơn, tất cả được phân tách bằng dấu phẩy.

def name_and_age(name,age):
    print(f"I am {name} and I am {age} years old!")

Ở đây, các tham số trong hàm là

hello_world_func()

#Output
#hello world 
6 và
hello_world_func()

#Output
#hello world 
9.

Khi một hàm được gọi, các đối số được truyền vào.

Đối số, giống như các tham số, là thông tin được truyền cho các chức năng.

Cụ thể, chúng là các giá trị thực tế tương ứng với các tham số trong định nghĩa hàm.

Gọi chức năng từ một ví dụ trước và truyền trong một đối số sẽ giống như sau:

def hello_to_you(name):
    print(f"Hello {name}")
    
    
hello_to_you("Timmy")
#Output
# Hello Timmy

Hàm có thể được gọi là nhiều lần, chuyển qua các giá trị khác nhau mỗi lần.

def hello_to_you(name):
    print(f"Hello {name}")
    
hello_to_you("Timmy")
hello_to_you("Kristy")
hello_to_you("Jackie")
hello_to_you("Liv")

#Output:
#"Hello Timmy"
#"Hello Kristy"
#"Hello Jackie"
#"Hello Liv"

Các đối số được trình bày cho đến nay được gọi là đối số vị trí.positional arguments.

Tất cả các đối số vị trí là rất nhiều yêu cầu.required.

Số lượng đối số vị trí quan trọng

Khi gọi các chức năng, bạn cần vượt qua số lượng đối số chính xác, nếu không sẽ có lỗi.

Khi nói đến các đối số vị trí, số lượng đối số được chuyển vào lệnh gọi hàm phải giống hệt như số lượng tham số trong định nghĩa của hàm.

Bạn không thể bỏ ra hoặc thêm vào bất kỳ điều gì nữa.

Nói rằng bạn có chức năng này có hai tham số:

def hello_to_you(first_name,last_name):
    print(f"Hello, {first_name} {last_name}")

Nếu hàm được gọi chỉ với một đối số được truyền vào, như thế này, sẽ có một lỗi:

def hello_world_func():
    print("hello world")
0

Output:

def hello_world_func():
    print("hello world")
1

Nếu hàm được gọi với ba đối số được truyền vào, sẽ lại có một lỗi:

def hello_world_func():
    print("hello world")
2
def hello_world_func():
    print("hello world")
3

Cũng sẽ có một lỗi nếu chúng ta vượt qua không có đối số.

def hello_world_func():
    print("hello world")
4
def hello_world_func():
    print("hello world")
5

Thay vào đó, chúng ta cần hai đối số, vì hai tham số được liệt kê trong định nghĩa hàm.

def hello_world_func():
    print("hello world")
6

Thứ tự của các đối số vị trí quan trọng

Bên cạnh việc bao gồm số lượng đối số chính xác, điều quan trọng cần lưu ý là thứ tự mà các đối số được thông qua trong các vấn đề.

Các đối số cần được thông qua theo cùng một thứ tự chính xác như thứ tự của các tham số đã được khai báo trong định nghĩa của hàm.

Nó hoạt động như phân công biến.

Đối số đầu tiên là giá trị của tham số đầu tiên trong định nghĩa của hàm. Đối số thứ hai là giá trị của tham số thứ hai trong ddefinition của hàm - v.v.

def hello_world_func():
    print("hello world")
7

Nếu thứ tự không chính xác, đầu ra có thể không có nhiều ý nghĩa và không phải là những gì bạn dự định.

def hello_world_func():
    print("hello world")
8

Cách sử dụng các đối số từ khóa trong các hàm Python

Cho đến nay bạn đã thấy một loại đối số, đối số vị trí.

Với các đối số vị trí, các hàm được gọi chỉ với các giá trị được truyền trong lệnh gọi hàm. Ở đó, mỗi giá trị trực tiếp tương ứng với số, thứ tự và vị trí của từng tham số trong định nghĩa hàm.

Tuy nhiên, các chức năng trong Python có thể chấp nhận một loại đối số khác, đó là các đối số từ khóa.keyword arguments.

Trong trường hợp này, thay vì chỉ truyền các giá trị trong cuộc gọi hàm, thay vào đó bạn chỉ định tên của tham số và sau đó là giá trị bạn muốn gán nó, dưới dạng

def hello_to_you(name):
   print("Hello " + name)
0.

Mỗi khóa khớp với từng tham số trong định nghĩa hàm.

Gọi rõ ràng tên của các tham số và các giá trị mà chúng nhận được giúp rõ ràng hơn về những gì bạn đang đi và tránh mọi sự nhầm lẫn có thể.

def hello_world_func():
    print("hello world")
9

Đối số từ khóa, như đã thấy ở trên, có thể theo một thứ tự cụ thể. Nhưng chúng linh hoạt hơn các đối số vị trí theo nghĩa là thứ tự của các đối số bây giờ không quan trọng.

Vì vậy, bạn có thể làm điều này và sẽ không có lỗi:

function_name(arguments)
0

Nhưng bạn vẫn phải đưa ra số lượng đối số chính xác.

Bạn có thể sử dụng cả đối số từ vị trí và từ khóa với nhau trong một cuộc gọi hàm, như ví dụ bên dưới nơi có một đối số vị trí và một đối số từ khóa:

function_name(arguments)
1

Trong trường hợp này, đặt hàng lại quan trọng.

Đối số vị trí luôn luôn xuất hiện đầu tiên và tất cả các đối số từ khóa nên tuân theo các đối số vị trí. Nếu không, sẽ có một lỗi:

function_name(arguments)
2

Cách xác định tham số có giá trị mặc định trong Python

Đối số chức năng cũng có thể có các giá trị mặc định. Chúng được gọi là đối số mặc định hoặc tùy chọn.

Để đối số hàm có giá trị mặc định, bạn phải gán giá trị mặc định cho tham số trong định nghĩa của hàm.

Bạn làm điều này với biểu mẫu

def hello_to_you(name):
   print("Hello " + name)
1, trong đó
def hello_to_you(name):
   print("Hello " + name)
2 sẽ là giá trị mặc định cho tham số đó.

function_name(arguments)
3

Như bạn thấy, các đối số mặc định không bắt buộc trong cuộc gọi hàm và giá trị của

def hello_to_you(name):
   print("Hello " + name)
3 sẽ luôn mặc định là Python nếu một giá trị khác không được cung cấp trong cuộc gọi.

Tuy nhiên, các giá trị mặc định có thể dễ dàng ghi đè nếu bạn cung cấp một giá trị khác trong cuộc gọi của hàm:

function_name(arguments)
4

Có thể có nhiều hơn một giá trị mặc định được truyền cho hàm.

Khi hàm được gọi, không, một, một, một số hoặc tất cả các đối số mặc định có thể được cung cấp và đặt hàng không quan trọng.

function_name(arguments)
5

Các đối số mặc định có thể được kết hợp với các đối số không mặc định trong cuộc gọi của hàm.

Dưới đây là một hàm chấp nhận hai đối số: một vị trí, không mặc định (

hello_world_func()

#Output
#hello world 
6) và một tùy chọn, mặc định (
def hello_to_you(name):
   print("Hello " + name)
3).

function_name(arguments)
6

Đối số mặc định,

def hello_to_you(name):
   print("Hello " + name)
6, là tùy chọn. Nhưng đối số vị trí,
hello_world_func()

#Output
#hello world 
6, sẽ luôn luôn được yêu cầu. Nếu một
def hello_to_you(name):
   print("Hello " + name)
3 khác không được chuyển vào, giá trị sẽ luôn mặc định là Python.

Một điều khác cần đề cập ở đây là, khi mặc định và không mặc định được sử dụng cùng nhau, thứ tự chúng được xác định trong các vấn đề xác định chức năng.

Tất cả các đối số vị trí đi trước và được theo sau bởi các đối số mặc định.

Điều này sẽ không hoạt động:

function_name(arguments)
7

Output:

function_name(arguments)
8

Sự kết luận

Trong bài viết này, bạn đã học cách khai báo các chức năng và gọi chúng bằng các tham số trong ngôn ngữ lập trình Python.

Đây là phần giới thiệu về cách tạo các chức năng đơn giản và cách truyền dữ liệu vào chúng, với các tham số. Chúng tôi cũng đã đi qua các loại đối số khác nhau như các đối số vị trí, từ khóa và các đối số mặc định.

Tóm lại:

  • Thứ tự và số lượng đối số vị trí quan trọng.
  • Với các đối số từ khóa, thứ tự không quan trọng. Tuy nhiên, số không quan trọng vì mỗi đối số từ khóa tương ứng với từng tham số trong định nghĩa của hàm.
  • Đối số mặc định là hoàn toàn tùy chọn. Bạn có thể vượt qua tất cả trong số họ, một số trong số họ, hoặc không có gì cả.

Nếu bạn quan tâm đến việc đi sâu hơn và tìm hiểu thêm về ngôn ngữ lập trình Python, Freecodecamp có chứng nhận Python miễn phí.

Bạn sẽ bắt đầu từ những điều cơ bản và các nguyên tắc cơ bản của ngôn ngữ và sau đó tiến tới các khái niệm nâng cao hơn như cấu trúc dữ liệu và cơ sở dữ liệu quan hệ. Cuối cùng, bạn sẽ xây dựng 5 dự án để thực hành những gì bạn đã học.

Cảm ơn bạn đã đọc và học hỏi hạnh phúc.



Học mã miễn phí. Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Làm thế nào để bạn khai báo một chức năng và gọi nó?

6 cách để khai báo các chức năng JavaScript..
Mã JavaScript tạo thành cơ thể chức năng ..
Danh sách các tham số ..
Các biến có thể truy cập từ phạm vi từ vựng ..
Giá trị trả lại ..
Bối cảnh này khi hàm được gọi ..
Được đặt tên hoặc một chức năng ẩn danh ..
Biến giữ đối tượng hàm ..

Làm thế nào một chức năng có thể được gọi?

Gọi hàm JavaScript Mã bên trong một hàm không được thực thi khi hàm được xác định. Mã bên trong một hàm được thực thi khi hàm được gọi. Người ta thường sử dụng thuật ngữ "gọi một hàm" thay vì "gọi hàm".The code inside a function is executed when the function is invoked. It is common to use the term "call a function" instead of "invoke a function".

Một lời cầu khẩn trong Python là gì?

Bối cảnh gọi là một đối tượng chứa các tham số ngữ cảnh thực thi nhất định cũng như các tham số gọi cho chính chức năng Python.Nó được chấp nhận bởi người xử lý cuộc gọi là đối số thứ hai của nó.an object that contains certain execution context parameters as well as invocation parameters for the Python function itself. It is accepted by the call handler as its second argument.

Cách chính xác để gọi một chức năng trong Python là gì?

Làm thế nào để gọi một chức năng trong Python?Khi chúng tôi đã xác định một hàm, chúng tôi có thể gọi nó từ một hàm, chương trình hoặc thậm chí là dấu nhắc Python.Để gọi một hàm, chúng tôi chỉ cần nhập tên hàm với các tham số thích hợp.>>> Chào ('Paul') Xin chào, Paul.