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 để thực hiện tất cả các loại nội dung. 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 định nghĩa các chức năng của riêng mình không?
Bài viết này sẽ chỉ cho bạn cách tạo và gọi các hàm Python của riêng bạn. Nó cũng sẽ cung cấp cho bạn cái nhìn tổng quan về cách truyền các tham số và đối số đầu vào cho các hàm của bạn
Chức năng là gì?
Hàm là một khối mã biệt lập thực hiện một tác vụ cụ thể
Các hàm rất hữu ích trong lập trình vì chúng loại bỏ việc sao chép và dán mã không cần thiết và quá mức 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, thì đó là một dấu hiệu tốt để bạn có thể viết một hàm cho nó. Các chức năng có nghĩa là có thể tái sử dụng
Các chức năng cũng giúp tổ chức mã của bạn
Nếu cần thay đổi, bạn 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 đoạn mã khác nhau nằm rải rác ở 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 DRY [Don't Repeat Yourself] trong phát triển phần mềm
Mã bên trong hàm chỉ chạy khi hàm được gọi
Các hàm có thể chấp nhận các đối số và giá trị mặc định và có thể hoặc không trả lại các giá trị cho người gọi sau khi mã đã chạy
Cách xác định hàm trong Python
Cú pháp chung để tạo một hàm trong Python trông giống như thế này
def function_name[parameters]:
function body
Hãy phá vỡ những gì đang xảy ra ở đây
9 là một từ khóa cho Python biết một chức năng mới đang được xác địnhfunction_name[arguments]
- Tiếp đến là tên hàm hợp lệ do bạn chọ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ố. Các từ được viết thường và được phân tách bằng dấu gạch dưới. Điều quan trọng cần biết là tên hàm không thể là từ khóa dành riêng cho Python
- Sau đó, chúng tôi có một tập hợp các dấu ngoặc đơn mở và đóng,
0. Bên trong chúng, có thể có 0, một hoặc nhiều tham số tùy chọn được phân tách bằng dấu phẩy với các giá trị mặc định tùy chọn của chúng. Chúng được chuyển đến chức nănghello_world_func[] #Output #hello world
- Tiếp theo là dấu hai chấm,
1, kết thúc dòng định nghĩa của hàmhello_world_func[] #Output #hello world
- Sau đó, có một dòng mới theo sau là mức độ thụt lề [bạn có thể thực hiện việc này với 4 dấu cách bằng bàn phím hoặc bằng 1 Tab thay thế]. Việc thụt đầu dòng rất quan trọng vì nó cho phép Python biết mã nào sẽ thuộc về hàm
- 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 sẽ được thực hiện khi hàm được gọi
- Cuối cùng, có một câu lệnh return tùy chọn trong phần thân của hàm, trả lại một giá trị cho người gọi khi thoát khỏi hàm
Hãy nhớ rằng nếu bạn quên dấu ngoặc đơn_______20 hoặc dấu hai chấm
hello_world_func[]
#Output
#hello world
1 khi cố gắng xác định một hàm mới, Python sẽ cho bạn biết bằng một dấu ngoặc đơn hello_world_func[]
#Output
#hello world
4Cá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ề hàm cơ bản không có câu lệnh trả về và không nhận 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________số 8Khi bạn đã xác định một chức năng, mã sẽ không tự chạy
Để thực thi mã bên trong hàm, bạn phải thực hiện lệnh gọi hàm hoặc nếu không thì gọi hàm
Sau đó, bạn có thể gọi hàm 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à một 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ố bắt buộc nào, chúng phải được chuyển vào trong ngoặc đơn. Nếu hàm không nhận 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, hàm không nhận 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 hàm có tham số
Cho đến giờ, bạn đã thấy các chức năng đơn giản không thực sự làm được gì nhiều ngoài việc in một cái gì đó ra bàn điều khiển
Điều gì sẽ xảy ra nếu bạn muốn chuyển một số dữ liệu bổ sung cho hàm?
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 chuyển thông tin vào các hàm
Chúng hoạt động như các biến được định nghĩa cục bộ trong dòng định nghĩa của hàm
function_name[arguments]
1Trong ví dụ trên, có một tham số,
hello_world_func[]
#Output
#hello world
6Thay vào đó, chúng ta có thể sử dụng
hello_world_func[]
#Output
#hello world
7 – nó hoạt động giống như ví dụ trướcfunction_name[arguments]
4Có 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
function_name[arguments]
5Ở đây, các tham số trong hàm là
hello_world_func[]
#Output
#hello world
6 và hello_world_func[]
#Output
#hello world
9Khi một hàm được gọi, các đối số được truyền vào
Đối số, giống như tham số, là thông tin được truyền cho hàm
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 hàm từ một ví dụ trước và chuyển vào một đối số sẽ như thế này
function_name[arguments]
8Hàm có thể được gọi nhiều lần, mỗi lần truyền các giá trị khác nhau
function_name[arguments]
9Các đối số được trình bày cho đến nay được gọi là đối số vị trí
Tất cả các đối số vị trí là rất cần thiết
Số lượng đối số vị trí quan trọng
Khi gọi hàm cần truyền đúng số đối số, nếu không sẽ xảy ra lỗi
Khi nói đến các đối số vị trí, số lượng đối số được truyền vào lời gọi hàm phải hoàn toàn giống với số lượng tham số trong định nghĩa của hàm
Bạn không thể bỏ đi hoặc thêm vào bất kỳ điều gì nữa
Giả sử rằng bạn có chức năng này có hai tham số
hello_world_func[]
#Output
#hello world
0Nếu hàm được gọi chỉ với một đối số được truyền vào, như thế này, thì sẽ có lỗi
def hello_world_func[]:
print["hello world"]
0đầu ra
def hello_world_func[]:
print["hello world"]
1Nếu hàm được gọi với ba đối số được truyền vào, sẽ lại xảy ra lỗi
def hello_world_func[]:
print["hello world"]
2def hello_world_func[]:
print["hello world"]
3Cũng sẽ có lỗi nếu chúng ta không chuyển vào đối số
def hello_world_func[]:
print["hello world"]
4def hello_world_func[]:
print["hello world"]
5Thay 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"]
6Thứ tự của các đối số vị trí quan trọng
Bên cạnh việc bao gồm đúng số đối số, đ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 truyền theo đúng thứ tự 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 giống như gán 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 định nghĩa của hàm – v.v.
def hello_world_func[]:
print["hello world"]
7Nếu thứ tự không chính xác, đầu ra có thể không có nhiều ý nghĩa và không như bạn dự định
def hello_world_func[]:
print["hello world"]
8Cách sử dụng đối số từ khóa trong hàm Python
Cho đến giờ, 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ị tương ứng trực tiếp với số lượng, thứ tự và vị trí của từng tham số trong định nghĩa hàm
Tuy nhiên, các hàm trong Python có thể chấp nhận một loại đối số khác, đó là đối số từ khóa
Trong trường hợp này, thay vì chỉ truyền vào các giá trị trong lệnh 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 cho nó, ở dạng
function_name[arguments]
10Mỗi phím 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 sẽ giúp hiểu rõ hơn về những gì bạn đang truyền vào và tránh mọi sự nhầm lẫn có thể xảy ra
def hello_world_func[]:
print["hello world"]
9Các đố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ố theo 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]
0Nhưng bạn vẫn phải đưa ra số đối số chính xác
Bạn có thể sử dụng cả đối số vị trí và từ khóa cùng nhau trong một lệnh gọi hàm, như ví dụ bên dưới khi có một đối số vị trí và một đối số từ khóa
function_name[arguments]
1Trong trường hợp này, thứ tự lại quan trọng
Các đối số vị trí luôn đi trước và tất cả các đối số từ khóa phải tuân theo các đối số vị trí. Nếu không sẽ có lỗi
function_name[arguments]
2Cá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ó 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
function_name[arguments]
11, trong đó function_name[arguments]
12 sẽ là giá trị mặc định cho tham số đófunction_name[arguments]
3Như bạn thấy, các đối số mặc định không bắt buộc trong lệnh gọi hàm và giá trị của
function_name[arguments]
13 sẽ luôn mặc định là Python nếu một giá trị khác không được cung cấp trong lệnh gọiTuy nhiên, các giá trị mặc định có thể dễ dàng bị ghi đè nếu bạn cung cấp một giá trị khác trong lệnh gọi của hàm
function_name[arguments]
4Có 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 số hoặc tất cả các đối số mặc định có thể được cung cấp và thứ tự không thành vấn đề
function_name[arguments]
5Cá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 lời gọi của hàm
Đâ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 [function_name[arguments]
13]function_name[arguments]
6Đối số mặc định,
function_name[arguments]
16, 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 function_name[arguments]
13 khác không được chuyển vào, giá trị sẽ luôn mặc định là PythonMộ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 định nghĩa hàm có ý nghĩa quan trọ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 làm việc
function_name[arguments]
7đầu ra
function_name[arguments]
8Phần kết luận
Trong bài viết này, bạn đã học cách khai báo hàm và gọi chúng bằng 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 hàm đơ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 đã xem xét các loại đối số khác nhau như đối số vị trí, từ khóa và mặc định
Tóm lại
- Thứ tự và số lượng các đối số vị trí quan trọng
- Với các đối số từ khóa, thứ tự không thành vấn đề. Tuy nhiên, số lượng không thành vấn đề 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ả chúng, một số trong số chúng hoặc không có gì cả
Nếu bạn muốn tìm hiểu sâu hơn và tìm hiểu thêm về ngôn ngữ lập trình Python, freeCodeCamp có chứng chỉ Python miễn phí
Bạn sẽ bắt đầu từ những điều cơ bản và nguyên tắc cơ bản của ngôn ngữ, 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 tập vui vẻ
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Học một cái gì đó mới mỗi ngày và viết về nó
Nếu bài viết này hữu ích, hãy tweet nó
Học cách viết mã miễn phí. Chương trình giảng dạy mã 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