Trong bất kỳ ngôn ngữ lập trình nào, các chức năng tạo điều kiện cho việc tái sử dụng mã. Nói một cách đơn giản, khi bạn muốn làm điều gì đó nhiều lần, bạn có thể xác định rằng một cái gì đó là một hàm và chức năng gọi điện bất cứ khi nào bạn cần. Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các chức năng do người dùng xác định trong Python. Khi bạn bắt đầu mã hóa trong Python, bạn đã sử dụng chức năng
6 tích hợp trong chương trình def my_func[]:
print["Hello! Hope you're doing well"]
7 của mình và chức năng def my_func[]:
print["Hello! Hope you're doing well"]
8 để đọc trong đầu vào từ người dùng.def my_func[]:
print["Hello! Hope you're doing well"]
Miễn là bạn biết cách sử dụng các chức năng này, bạn không phải lo lắng về cách chúng được thực hiện.
Trong lập trình, điều này được gọi là trừu tượng. Nó cho phép bạn sử dụng các chức năng bằng cách gọi hàm với các đối số cần thiết mà không phải lo lắng về cách chúng thực sự hoạt động.
Có một loạt các chức năng tích hợp trong Python. Trong bài đăng này, chúng ta sẽ thấy cách chúng ta có thể xác định và sử dụng các chức năng của riêng mình. Bắt đầu nào!
Cú pháp chức năng Python
Đoạn trích sau đây cho thấy cú pháp chung để xác định hàm trong Python:
def function_name[parameters]:
# What the function does goes here
return result
- Bạn cần sử dụng từ khóa
9, đặt tên cho chức năng của bạn, theo sau là một cặp dấu ngoặc đơn và kết thúc dòng bằng một dấu hai chấm [:].def my_func[]: print["Hello! Hope you're doing well"]
- Nếu chức năng của bạn có các đối số, tên của các đối số [tham số] được đề cập bên trong dấu ngoặc đơn mở và đóng.
- Xin lưu ý rằng trong định nghĩa chức năng, các đối số mà hàm của bạn tiêu thụ được gọi là tham số.
- Khi bạn gọi hàm với các giá trị cụ thể cho các tham số này, chúng được gọi là đối số hoặc tham số thực tế. Điều này là do các đối số trong lệnh gọi hàm là các giá trị được sử dụng cho các tham số của hàm.
- Sau đó, bạn bắt đầu một khối thụt lề. Đây là phần thân của chức năng mô tả những gì chức năng của bạn làm.
- Có một tuyên bố
0 trả về kết quả của hoạt động trên các đối số. Câu lệnhmy_func[] # Output Hello! Hope you're doing well
0 trả về kiểm soát đến điểm mà hàm ban đầu được gọi là.my_func[] # Output Hello! Hope you're doing well
Lưu ý rằng câu lệnh
my_func[]
# Output
Hello! Hope you're doing well
2 và my_func[]
# Output
Hello! Hope you're doing well
0 là tùy chọn. Điều này có nghĩa là bạn có thể có một chức năng không có đối số và không trả lại gì. 😀Bây giờ chúng ta hãy cố gắng hiểu các câu trên bằng cách sử dụng các ví dụ đơn giản.
Cách tạo một chức năng đơn giản trong Python
Bây giờ chúng ta hãy tạo một chức năng đơn giản trong Python chào người dùng, như được hiển thị bên dưới:
def my_func[]:
print["Hello! Hope you're doing well"]
Như bạn có thể thấy, hàm
my_func[]
# Output
Hello! Hope you're doing well
4:- Không có tranh luận,
- trả lại không có gì, và
- In ra
5 bất cứ khi nào nó được gọi.my_func[] # Output Hello! Hope you're doing well
Lưu ý rằng định nghĩa hàm trên là tính toán hàm được kích hoạt hoặc gọi. Hãy tiếp tục và gọi chức năng
my_func[]
# Output
Hello! Hope you're doing well
4 và kiểm tra đầu ra.my_func[]
# Output
Hello! Hope you're doing well
Cách tạo chức năng với các đối số trong Python
Bây giờ, chúng tôi sẽ sửa đổi chức năng
my_func[]
# Output
Hello! Hope you're doing well
4 để bao gồm my_func[]
# Output
Hello! Hope you're doing well
8 và my_func[]
# Output
Hello! Hope you're doing well
9 của người dùng. def my_func[name,place]:
print[f"Hello {name}! Are you from {place}?"]
Bây giờ chúng ta có thể gọi
my_func[]
# Output
Hello! Hope you're doing well
4 bằng cách chuyển hai chuỗi cho my_func[]
# Output
Hello! Hope you're doing well
8 và my_func[]
# Output
Hello! Hope you're doing well
9 của người dùng, như được hiển thị bên dưới.my_func["Jane","Paris"]
# Output
Hello Jane! Are you from Paris?
Điều gì xảy ra nếu bạn chỉ định
my_func[]
# Output
Hello! Hope you're doing well
9 trước và sau đó là my_func[]
# Output
Hello! Hope you're doing well
8? Hãy cùng tìm hiểu.my_func["Hawaii","Robert"]
# Output
Hello Hawaii! Are you from Robert?
Chúng tôi nhận được
def my_func[name,place]:
print[f"Hello {name}! Are you from {place}?"]
5 - và điều này không có ý nghĩa. 🙂 Cái gì gây ra vấn đề này?Các đối số trong cuộc gọi hàm là đối số vị trí. Điều này có nghĩa là đối số đầu tiên trong lệnh gọi hàm được sử dụng làm giá trị của tham số đầu tiên [
my_func[]
# Output
Hello! Hope you're doing well
8] & nbsp; và đối số thứ hai trong lệnh gọi hàm được sử dụng làm giá trị của tham số thứ hai [my_func[]
# Output
Hello! Hope you're doing well
9]Xem đoạn mã bên dưới. Thay vì chỉ xác định các đối số, chúng tôi đã đề cập đến các tham số và các giá trị chúng.
my_func[place="Hawaii",name="Robert"]
# Output
Hello Robert! Are you from Hawaii?
Chúng được gọi là đối số từ khóa. Thứ tự của các đối số trong lệnh gọi hàm không quan trọng miễn là tên của các tham số là chính xác.
Cách tạo chức năng với các đối số mặc định trong Python
Điều gì sẽ xảy ra nếu chúng ta có các tham số nhất định lấy một giá trị cụ thể trong hầu hết thời gian trong các cuộc gọi chức năng?
Chúng ta có thể không làm tốt hơn là gọi hàm có cùng giá trị cho một tham số cụ thể không?
Vâng, chúng tôi có thể làm tốt hơn, và đó là những gì
def my_func[name,place]:
print[f"Hello {name}! Are you from {place}?"]
8 dành cho! 😀Hãy tạo một chức năng
def my_func[name,place]:
print[f"Hello {name}! Are you from {place}?"]
9 giúp chúng tôi tính toán và in tổng số tiền được trả tại một nhà hàng. Đưa ra một my_func["Jane","Paris"]
# Output
Hello Jane! Are you from Paris?
0 và tỷ lệ phần trăm của my_func["Jane","Paris"]
# Output
Hello Jane! Are you from Paris?
0 bạn chọn trả dưới dạng mẹo [my_func["Jane","Paris"]
# Output
Hello Jane! Are you from Paris?
2], hàm này tính toán tổng số tiền mà bạn nên trả.Lưu ý cách định nghĩa hàm bao gồm giá trị mặc định của tham số
my_func["Jane","Paris"]
# Output
Hello Jane! Are you from Paris?
2 sẽ được sử dụng khi người dùng không chỉ định tỷ lệ phần trăm mẹo.Chạy đoạn mã bên dưới.👇🏽 Bây giờ bạn đã sẵn sàng chức năng của mình!
def total_calc[bill_amount,tip_perc=10]:
total = bill_amount*[1 + 0.01*tip_perc]
total = round[total,2]
print[f"Please pay ${total}"]
Bây giờ chúng ta hãy gọi chức năng theo một vài cách khác nhau. Đoạn mã bên dưới hiển thị như sau:
- Khi bạn gọi hàm
4 chỉ bằngmy_func["Jane","Paris"] # Output Hello Jane! Are you from Paris?
0, theo mặc định, phần trăm đầu của 10 được sử dụng.my_func["Jane","Paris"] # Output Hello Jane! Are you from Paris?
- Khi bạn chỉ định rõ ràng mẹo phần trăm, tỷ lệ phần trăm đầu được đề cập trong cuộc gọi chức năng được sử dụng.
# specify only bill_amount
# default value of tip percentage is used
total_calc[150]
# Output
Please pay $165.0
# specify both bill_amount and a custom tip percentage
# the tip percentage specified in the function call is used
total_calc[200,15]
# Output
Please pay $230.0
total_calc[167,7.5]
# Output
Please pay $179.53
Cách tạo hàm trả về giá trị trong Python
Cho đến nay, chúng tôi chỉ tạo ra các chức năng có thể hoặc không có đối số và không trả lại bất cứ điều gì. Bây giờ, chúng ta hãy tạo một hàm đơn giản trả về khối lượng của một hình khối được đưa ra
my_func["Jane","Paris"]
# Output
Hello Jane! Are you from Paris?
6, my_func["Jane","Paris"]
# Output
Hello Jane! Are you from Paris?
7 và my_func["Jane","Paris"]
# Output
Hello Jane! Are you from Paris?
8.def volume_of_cuboid[length,breadth,height]:
return length*breadth*height
Hãy nhớ lại rằng từ khóa
my_func[]
# Output
Hello! Hope you're doing well
0 trả về kiểm soát đến điểm mà hàm được gọi. Cuộc gọi chức năng được thay thế bằng my_func["Hawaii","Robert"]
# Output
Hello Hawaii! Are you from Robert?
0 từ hàm.Hãy gọi hàm
my_func["Hawaii","Robert"]
# Output
Hello Hawaii! Are you from Robert?
1 với các đối số kích thước cần thiết, như được hiển thị trong đoạn mã bên dưới. Lưu ý cách chúng tôi sử dụng biến my_func["Hawaii","Robert"]
# Output
Hello Hawaii! Are you from Robert?
2 để thu được giá trị được trả về từ hàm.def my_func[]:
print["Hello! Hope you're doing well"]
0Cách tạo một hàm trả về nhiều giá trị trong Python
Trong ví dụ trước đây của chúng tôi, hàm
my_func["Hawaii","Robert"]
# Output
Hello Hawaii! Are you from Robert?
1 chỉ trả về một giá trị, cụ thể là khối lượng của một hình khối đưa ra kích thước của nó. Hãy xem làm thế nào chúng ta có thể trả về nhiều giá trị từ một hàm.- Để trả về nhiều giá trị từ một hàm, chỉ cần chỉ định các giá trị được trả về, được phân tách bằng dấu phẩy.
- Theo mặc định, hàm trả về các giá trị dưới dạng tuple. Nếu có giá trị trả về
4, chúng ta sẽ nhận đượcmy_func["Hawaii","Robert"] # Output Hello Hawaii! Are you from Robert?
5Tuple.my_func["Hawaii","Robert"] # Output Hello Hawaii! Are you from Robert?
Chúng ta hãy tạo một hàm đơn giản
my_func["Hawaii","Robert"]
# Output
Hello Hawaii! Are you from Robert?
6 trả về khối lượng và tổng diện tích bề mặt của một khối, với chiều dài của bên của nó.def my_func[]:
print["Hello! Hope you're doing well"]
1Để xác minh rằng một tuple được trả về, hãy thu thập nó trong một biến
my_func["Hawaii","Robert"]
# Output
Hello Hawaii! Are you from Robert?
7, như được hiển thị bên dưới:def my_func[]:
print["Hello! Hope you're doing well"]
2Bây giờ, chúng tôi sẽ giải nén tuple và lưu trữ các giá trị trong hai biến khác nhau.
def my_func[]:
print["Hello! Hope you're doing well"]
3Cách tạo một hàm có số lượng đối số khác nhau trong Python
Hãy bắt đầu bằng cách hỏi một vài câu hỏi:
- Điều gì sẽ xảy ra nếu chúng ta không biết chính xác số lượng đối số trước?
- Chúng ta có thể tạo các chức năng hoạt động với một số lượng đối số khác nhau không?
Câu trả lời là có! Và chúng tôi sẽ tạo ra một chức năng như vậy ngay lập tức.
Chúng ta hãy tạo một hàm đơn giản
my_func["Hawaii","Robert"]
# Output
Hello Hawaii! Are you from Robert?
8 trả về tổng của tất cả các số được truyền dưới dạng đối số. Tuy nhiên, số lượng đối số có thể có khả năng khác nhau mỗi khi chúng ta gọi hàm.Lưu ý cách định nghĩa hàm bây giờ có
my_func["Hawaii","Robert"]
# Output
Hello Hawaii! Are you from Robert?
9 thay vì chỉ tên của tham số. Trong phần thân của chức năng, chúng ta lặp qua my_func[place="Hawaii",name="Robert"]
# Output
Hello Robert! Are you from Hawaii?
0 cho đến khi chúng ta sử dụng tất cả các đối số. Hàm my_func[place="Hawaii",name="Robert"]
# Output
Hello Robert! Are you from Hawaii?
1 trả về tổng của tất cả các số được truyền dưới dạng đối số.def my_func[]:
print["Hello! Hope you're doing well"]
4Bây giờ chúng ta hãy gọi hàm
my_func["Hawaii","Robert"]
# Output
Hello Hawaii! Are you from Robert?
8 với một số lượng đối số khác nhau mỗi lần và nhanh chóng kiểm tra xem các câu trả lời được trả lại có chính xác không! 🙂def my_func[]:
print["Hello! Hope you're doing well"]
5⌛ Một bản tóm tắt nhanh chóng
Hãy nhanh chóng tóm tắt những gì chúng tôi đã đề cập. Trong hướng dẫn này, chúng tôi đã học được:
- cách xác định các chức năng,
- cách truyền đối số cho một chức năng,
- cách tạo các chức năng với số lượng đối số mặc định và biến đổi và
- cách tạo một hàm với giá trị trả về [các] giá trị.
Hy vọng tất cả các bạn thích đọc bài viết này. Cảm ơn bạn đã đọc. Như mọi khi, cho đến lần sau! 😀
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