Bạn có thể đặt đầu vào trong một hàm Python không?

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ình

Mộ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

  1. Từ khóa
    result = sum[b=2, a=2]
    # result = 4
    0
  2. một tên chức năng
  3. 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
  4. Một dấu hai chấm '. ’
  5. một số khối mã để thực thi
  6. 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 đơn

Mộ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
0

Hà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
1

ghi 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
2

Khố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
3

Cá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
4

Python 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
0

Giá 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ên

Mẫu mã

# this is a basic sum function
def sum[a, b]:
  return a + b

result = sum[1, 2]
# result = 3
1

Mã 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
3

Giá 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
4

Mã 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ức

Tranh 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ức

Giá 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
5

REPL 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ên

Trở 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
6

Mã 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
10

Tranh 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
9

Mẫu mã

# this is a basic sum function
def sum[a, b]:
  return a + b

result = sum[1, 2]
# result = 3
7

Mã 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
8

chr 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 ứng

ví dụ

# this is a basic sum function
def sum[a, b]:
  return a + b

result = sum[1, 2]
# result = 3
9

Mộ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 ValueError

def sum[a, b=3]:
  return a + b

result = sum[1]
# result = 4
0

cá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ào

inp = đầ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ắc

Mã 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
1

Mã 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ắc

def sum[a, b=3]:
  return a + b

result = sum[1]
# result = 4
2

4. 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
3

Mã 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ện

Tà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
4

Việ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
5

Cá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
6

Cá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
7

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

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

Chủ Đề