Một chức năng cho phép bạn xác định một khối mã có thể tái sử dụng có thể được thực thi nhiều lần trong chương trình của bạn
Các chức năng cho phép bạn tạo nhiều giải pháp mô-đun và DRY hơn cho các vấn đề phức tạp
Mặc dù Python đã cung cấp nhiều hàm dựng sẵn như
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
8 và def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
9, nhưng bạn cũng có thể xác định các hàm của riêng mình để sử dụng trong các dự án của mìnhMột trong những lợi thế lớn của việc sử dụng hàm trong mã của bạn là nó làm giảm tổng số dòng mã trong dự án của bạn
cú pháp
Trong Python, một định nghĩa hàm có các tính năng sau
- Từ khóa
0result = sum[b=2, a=2] # result = 4
- một tên chức năng
- dấu ngoặc đơn’[]’, và trong các tham số đầu vào trong ngoặc đơn, mặc dù các tham số đầu vào là tùy chọn
- Một dấu hai chấm '. ’
- một số khối mã để thực thi
- một tuyên bố trở lại [tùy chọn]
# a function with no parameters or returned values
def sayHello[]:
print["Hello!"]
sayHello[] # calls the function, 'Hello!' is printed to the console
# a function with a parameter
def helloWithName[name]:
print["Hello " + name + "!"]
helloWithName["Ada"] # calls the function, 'Hello Ada!' is printed to the console
# a function with multiple parameters with a return statement
def multiply[val1, val2]:
return val1 * val2
multiply[3, 5] # prints 15 to the console
Hàm là các khối mã có thể được sử dụng lại đơn giản bằng cách gọi hàm. Điều này cho phép sử dụng lại mã đơn giản, thanh lịch mà không cần viết lại các phần mã một cách rõ ràng. Điều này làm cho mã dễ đọc hơn, giúp gỡ lỗi dễ dàng hơn và hạn chế lỗi đánh máy
Các hàm trong Python được tạo bằng từ khóa
result = sum[b=2, a=2]
# result = 4
0, theo sau là tên hàm và tham số hàm bên trong dấu ngoặc đơnMột hàm luôn trả về một giá trị, Từ khóa
result = sum[b=2, a=2]
# result = 4
2 được hàm sử dụng để trả về một giá trị, nếu bạn không muốn trả về giá trị nào thì giá trị mặc định là result = sum[b=2, a=2]
# result = 4
3 sẽ được trả vềTên hàm được sử dụng để gọi hàm, truyền các tham số cần thiết bên trong dấu ngoặc đơn
# this is a basic sum function
def sum[a, b]:
return a + b
result = sum[1, 2]
# result = 3
Bạn có thể xác định các giá trị mặc định cho các tham số, theo cách đó Python sẽ hiểu rằng giá trị của tham số đó là giá trị mặc định nếu không có giá trị nào được cung cấp
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
Bạn có thể truyền các tham số theo thứ tự bạn muốn, sử dụng tên của tham số
result = sum[b=2, a=2]
# result = 4
Tuy nhiên, không thể chuyển đối số từ khóa trước đối số không phải từ khóa
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
0Hàm cũng là Đối tượng, vì vậy bạn có thể gán chúng cho một biến và sử dụng biến đó như một hàm
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
1ghi chú
Nếu một định nghĩa hàm bao gồm các tham số, bạn phải cung cấp cùng một số lượng tham số khi gọi hàm
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
2Khối mã mà hàm sẽ chạy bao gồm tất cả các câu lệnh được thụt vào trong hàm
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
3Các biến được xác định trong một hàm chỉ tồn tại trong phạm vi của hàm đó
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
4Python chỉ diễn giải khối hàm khi hàm được gọi chứ không phải khi hàm được xác định. Vì vậy, ngay cả khi khối định nghĩa hàm chứa một số loại lỗi, trình thông dịch python sẽ chỉ ra điều đó khi hàm được gọi
Bây giờ hãy xem xét một số chức năng cụ thể với các ví dụ
hàm tối đa []
result = sum[b=2, a=2]
# result = 4
4 là một hàm tích hợp trong Python 3. Nó trả về mục lớn nhất trong một lần lặp hoặc mục lớn nhất trong hai hoặc nhiều đối sốTranh luận
Hàm này nhận hai số trở lên hoặc bất kỳ loại số lặp nào làm đối số. Trong khi đưa ra một iterable làm đối số, chúng ta phải đảm bảo rằng tất cả các phần tử trong iterable đều cùng loại. Điều này có nghĩa là chúng ta không thể chuyển một danh sách có cả giá trị chuỗi và số nguyên được lưu trữ trong đó. cú pháp. max[iterable, *iterables[,key, default]] max[arg1, arg2, *args[, key]]
Đối số hợp lệ
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
6Đối số không hợp lệ
# this is a basic sum function
def sum[a, b]:
return a + b
result = sum[1, 2]
# result = 3
0Giá trị trả về
Mục lớn nhất trong iterable được trả về. Nếu hai hoặc nhiều đối số vị trí được cung cấp, đối số vị trí lớn nhất được trả về. Nếu iterable trống và mặc định không được cung cấp, một
result = sum[b=2, a=2]
# result = 4
5 sẽ được nâng lênMẫu mã
# this is a basic sum function
def sum[a, b]:
return a + b
result = sum[1, 2]
# result = 3
1Mã vận hành
Tài liệu chính thức
hàm tối thiểu []
result = sum[b=2, a=2]
# result = 4
6 là một hàm tích hợp trong Python 3. Nó trả về mục nhỏ nhất trong một lần lặp hoặc mục nhỏ nhất trong hai hoặc nhiều đối sốTranh luận
Hàm này nhận hai số trở lên hoặc bất kỳ loại số lặp nào làm đối số. Trong khi đưa ra một iterable làm đối số, chúng ta phải đảm bảo rằng tất cả các phần tử trong iterable đều cùng loại. Điều này có nghĩa là chúng ta không thể chuyển một danh sách có cả giá trị chuỗi và số nguyên được lưu trữ trong đó
Đối số hợp lệ
# this is a basic sum function
def sum[a, b]:
return a + b
result = sum[1, 2]
# result = 3
2Đối số không hợp lệ
# this is a basic sum function
def sum[a, b]:
return a + b
result = sum[1, 2]
# result = 3
3Giá trị trả về
Mục nhỏ nhất trong iterable được trả về. Nếu hai hoặc nhiều đối số vị trí được cung cấp, đối số vị trí nhỏ nhất
được trả về. Nếu iterable trống và mặc định không được cung cấp, thì ValueError sẽ xuất hiện.
Mẫu mã
# this is a basic sum function
def sum[a, b]:
return a + b
result = sum[1, 2]
# result = 3
4Mã vận hành
Tài liệu chính thức
hàm divmod[]result = sum[b=2, a=2]
# result = 4
7 là một hàm tích hợp trong Python 3, trả về thương và số dư khi chia số result = sum[b=2, a=2]
# result = 4
8 cho số result = sum[b=2, a=2]
# result = 4
9. Nó nhận hai số làm đối số result = sum[b=2, a=2]
# result = 4
8 & result = sum[b=2, a=2]
# result = 4
9. Đối số không thể là một số phứcTranh luận
Phải mất hai đối số
result = sum[b=2, a=2]
# result = 4
8 & result = sum[b=2, a=2]
# result = 4
9 - một số nguyên hoặc một số thập phân. Nó không thể là một số phứcGiá trị trả về
Giá trị trả về sẽ là cặp số dương bao gồm thương và số dư thu được bằng cách chia
result = sum[b=2, a=2]
# result = 4
8 cho result = sum[b=2, a=2]
# result = 4
9. Trong trường hợp các loại toán hạng hỗn hợp, các quy tắc cho toán tử số học nhị phân sẽ được áp dụng. Đối với các đối số Số nguyên, giá trị trả về sẽ giống như
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
06. Đối với đối số số thập phân, giá trị trả về sẽ giống như
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
07, trong đó def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
08 thường là toán học. floor[a / b] nhưng có thể ít hơn 1. Mẫu mã
# this is a basic sum function
def sum[a, b]:
return a + b
result = sum[1, 2]
# result = 3
5REPL Nó
Tài liệu chính thức
Hàm hex[x]
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
09 là một hàm tích hợp trong Python 3 để chuyển đổi một số nguyên thành chuỗi thập lục phân chữ thường có tiền tố là “0x”Tranh luận
Hàm này nhận một đối số,
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
10, phải là kiểu số nguyênTrở về
Hàm này trả về một chuỗi thập lục phân chữ thường có tiền tố là “0x”
Thí dụ
# this is a basic sum function
def sum[a, b]:
return a + b
result = sum[1, 2]
# result = 3
6Mã vận hành
Tài liệu chính thức
hàm len[]
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
9 là một hàm tích hợp trong Python 3. Phương thức này trả về độ dài [số lượng mục] của một đối tượng. Phải mất một đối số def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
10Tranh luận
Phải mất một đối số,
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
10. Đối số này có thể là một chuỗi [chẳng hạn như chuỗi, byte, bộ, danh sách hoặc phạm vi] hoặc một bộ sưu tập [chẳng hạn như từ điển, tập hợp hoặc tập hợp cố định]Giá trị trả về
Hàm này trả về số phần tử trong đối số được truyền cho hàm
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
9Mẫu mã
# this is a basic sum function
def sum[a, b]:
return a + b
result = sum[1, 2]
# result = 3
7Mã vận hành
Tài liệu chính thức
chức năng thứ tự
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
15 là một hàm tích hợp trong Python 3, để chuyển đổi chuỗi đại diện cho một ký tự Unicode thành số nguyên đại diện cho mã Unicode của ký tự đóví dụ
# this is a basic sum function
def sum[a, b]:
return a + b
result = sum[1, 2]
# result = 3
8chr chức năng
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
16 là một hàm có sẵn trong Python 3, dùng để chuyển đổi số nguyên đại diện cho mã Unicode thành một chuỗi đại diện cho một ký tự tương ứngví dụ
# this is a basic sum function
def sum[a, b]:
return a + b
result = sum[1, 2]
# result = 3
9Một điều cần lưu ý rằng, nếu giá trị số nguyên được chuyển đến
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
16 nằm ngoài phạm vi thì sẽ xuất hiện ValueErrordef sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
0các hàm đầu vào []
Nhiều lần, trong một chương trình, chúng tôi cần một số đầu vào từ người dùng. Lấy đầu vào từ người dùng làm cho chương trình cảm thấy tương tác. Trong Python 3, để lấy đầu vào từ người dùng, chúng ta có hàm
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
18. Nếu chức năng đầu vào được gọi, luồng chương trình sẽ bị dừng cho đến khi người dùng đưa ra một đầu vào và kết thúc đầu vào bằng phím quay lại. Hãy xem một số ví dụKhi chúng ta chỉ muốn lấy đầu vào
Điều này sẽ chỉ đưa ra lời nhắc mà không có bất kỳ thông báo nàoinp = đầu vào []
Mã vận hành
Để đưa ra lời nhắc với một tin nhắn
promptwithmessage = input[’‘]
_'_' trong đầu ra là lời nhắcMã vận hành
3. Khi chúng ta muốn lấy một số nguyên đầu vào
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
1Mã vận hành
Nếu bạn nhập một giá trị không phải là số nguyên thì Python sẽ báo lỗi
result = sum[b=2, a=2]
# result = 4
5. Vì vậy, bất cứ khi nào bạn sử dụng cái này, hãy đảm bảo rằng bạn cũng nắm bắt được nó. Nếu không, chương trình của bạn sẽ dừng đột ngột sau lời nhắcdef sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
24. Khi chúng ta muốn một đầu vào chuỗi
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
3Mã vận hành
Mặc dù vậy, đầu vào được lưu trữ theo mặc định dưới dạng chuỗi. Việc sử dụng hàm
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
20 giúp trình đọc mã hiểu rõ rằng đầu vào sẽ là một 'chuỗi'. Đó là một thực hành tốt để đề cập trước loại đầu vào nào sẽ được thực hiệnTài liệu chính thức
Cách gọi hàm trong Python
Một câu lệnh định nghĩa hàm không thực thi hàm. Việc thực thi [gọi] một hàm được thực hiện bằng cách sử dụng tên của hàm theo sau là dấu ngoặc đơn kèm theo các đối số bắt buộc [nếu có]
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
4Việc thực thi một hàm giới thiệu một bảng ký hiệu mới được sử dụng cho các biến cục bộ của hàm. Chính xác hơn, tất cả các phép gán biến trong một hàm đều lưu trữ giá trị trong bảng ký hiệu cục bộ; . Do đó, các biến toàn cục không thể được gán trực tiếp một giá trị trong một hàm [trừ khi được đặt tên trong câu lệnh toàn cục], mặc dù chúng có thể được tham chiếu
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
5Các tham số thực tế [đối số] cho một lệnh gọi hàm được đưa vào trong bảng ký hiệu cục bộ của hàm được gọi khi nó được gọi; . Khi một chức năng gọi một chức năng khác, một bảng ký hiệu cục bộ mới được tạo cho cuộc gọi đó
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
6Các đối số được sử dụng để gọi một hàm không thể được gán lại bởi hàm, nhưng các đối số tham chiếu đến các đối tượng có thể thay đổi có thể thay đổi giá trị của chúng
def sum[a, b=3]:
return a + b
result = sum[1]
# result = 4
7QUẢ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
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