Loại tham số truyền nào được sử dụng trong Python

Định nghĩa hàm bắt đầu bằng từ khóa

print(add(3,4))
#Output:17
9. Nó phải được theo sau bởi tên hàm và danh sách các tham số chính thức được đặt trong ngoặc đơn. Các câu lệnh tạo thành phần thân của hàm bắt đầu ở dòng tiếp theo và phải được thụt vào. — tài liệu trăn

Các tham số hình thức được đề cập trong định nghĩa hàm. Các tham số (đối số) thực tế được truyền trong khi gọi hàm

Chúng ta có thể định nghĩa một hàm với số lượng đối số thay đổi

1. đối số mặc định

  • Đối số mặc định là các giá trị được cung cấp trong khi xác định chức năng
  • Toán tử gán
    print(add(2,3,4))
    #Output:9
    0 được sử dụng để gán giá trị mặc định cho đối số
  • Đối số mặc định trở thành tùy chọn trong khi gọi hàm
  • Nếu chúng ta cung cấp một giá trị cho các đối số mặc định trong khi gọi hàm, nó sẽ ghi đè giá trị mặc định
  • Hàm có thể có bất kỳ số lượng đối số mặc định nào
  • Các đối số mặc định phải tuân theo các đối số không mặc định

Thí dụ

Trong ví dụ dưới đây, giá trị mặc định được gán cho đối số

print(add(2,3,4))
#Output:9
1 và
print(add(2,3,4))
#Output:9
2

def add(a,b=5,c=10):
return (a+b+c)

Hàm này có thể được gọi theo 3 cách

  1. Chỉ đưa ra đối số bắt buộc
print(add(3))
#Output:18

2. Đưa ra một trong các đối số tùy chọn.
3 được gán cho

print(add(2,3,4))
#Output:9
3, 4 được gán cho
print(add(2,3,4))
#Output:9
1.

print(add(3,4))
#Output:17

3. Đưa ra tất cả các lý lẽ

print(add(2,3,4))
#Output:9

Ghi chú. Các giá trị mặc định chỉ được đánh giá một lần tại điểm định nghĩa hàm trong phạm vi xác định. Vì vậy, sẽ tạo ra sự khác biệt khi chúng ta chuyển các đối tượng có thể thay đổi như danh sách hoặc từ điển làm giá trị mặc định

2. Đối số từ khóa

Các chức năng cũng có thể được gọi bằng cách sử dụng các đối số từ khóa có dạng

print(add(2,3,4))
#Output:9
5

Trong khi gọi hàm, các giá trị được truyền qua các đối số không nhất thiết phải theo thứ tự các tham số trong định nghĩa hàm. Điều này có thể đạt được bằng các đối số từ khóa. Nhưng tất cả các đối số từ khóa phải khớp với các tham số trong định nghĩa hàm

Thí dụ

def add(a,b=5,c=10):
return (a+b+c)

Gọi hàm

print(add(2,3,4))
#Output:9
6 bằng cách đưa ra đối số từ khóa

  1. Tất cả các tham số được cung cấp dưới dạng đối số từ khóa, vì vậy không cần duy trì cùng một thứ tự
print(add(2,3,4))
#Output:9
3

2. Trong khi gọi hàm, chỉ đưa ra đối số bắt buộc làm đối số từ khóa. Đối số mặc định tùy chọn được bỏ qua

print(add(2,3,4))
#Output:9
4

3. Đối số vị trí

Trong khi gọi hàm, các giá trị được truyền qua đối số phải theo thứ tự tham số trong định nghĩa hàm. Điều này được gọi là đối số vị trí

Các đối số từ khóa chỉ nên tuân theo các đối số vị trí

Thí dụ

print(add(2,3,4))
#Output:9
5

Hàm trên có thể được gọi theo hai cách

  1. Trong khi gọi hàm, tất cả các đối số được đưa ra dưới dạng đối số vị trí. Các giá trị được truyền qua các đối số được truyền cho các tham số theo vị trí của chúng.
    print(add(2,3,4))
    #Output:9
    7 được gán cho
    print(add(2,3,4))
    #Output:9
    3,
    print(add(2,3,4))
    #Output:9
    9 được gán cho
    print(add(2,3,4))
    #Output:9
    1 và
    def add(a,b=5,c=10):
    return (a+b+c)
    1 được gán cho
    print(add(2,3,4))
    #Output:9
    2
print(add(2,3,4))
#Output:9
2

2. Đưa ra sự kết hợp giữa các đối số vị trí và từ khóa, các đối số từ khóa phải luôn tuân theo các đối số vị trí

print(add(2,3,4))
#Output:9
3

đối số mặc định so với vị trí so với từ khóa

Những điểm quan trọng cần nhớ

Ảnh của tác giả

1. đối số mặc định phải tuân theo đối số không mặc định

print(add(3))
#Output:18
0

2. đối số từ khóa nên theo đối số vị trí

print(add(3))
#Output:18
1

3. Tất cả các đối số từ khóa được truyền phải khớp với một trong các đối số được hàm chấp nhận và thứ tự của chúng không quan trọng

print(add(3))
#Output:18
2

4. Không có đối số sẽ nhận được một giá trị nhiều hơn một lần

print(add(3))
#Output:18
3

5. Đối số mặc định là đối số tùy chọn

ví dụ 1. Chỉ đưa ra các đối số bắt buộc

print(add(3))
#Output:18
4

ví dụ 2. Đưa ra tất cả các đối số (đối số tùy chọn và bắt buộc)

print(add(3))
#Output:18
5

Đối số có độ dài thay đổi

Đối số có độ dài thay đổi còn được gọi là đối số tùy ý. Nếu không biết trước số lượng đối số cần thiết cho hàm, chúng ta có thể sử dụng đối số tùy ý

Hai loại đối số tùy ý

  1. đối số vị trí tùy ý
  2. đối số từ khóa tùy ý

4. đối số vị trí tùy ý

Đối với đối số vị trí tùy ý, dấu hoa thị (*) được đặt trước một tham số trong định nghĩa hàm có thể chứa các đối số có độ dài thay đổi không phải từ khóa. Các đối số này sẽ được gói gọn trong một bộ dữ liệu. Trước số lượng đối số thay đổi, có thể xảy ra không hoặc nhiều đối số bình thường

print(add(3))
#Output:18
6

5. đối số từ khóa tùy ý

Đối với đối số vị trí tùy ý, dấu hoa thị kép (**) được đặt trước tham số trong hàm có thể chứa đối số độ dài thay đổi từ khóa

Thí dụ

print(add(3))
#Output:18
7

Thông số đặc biệt

Theo Tài liệu Python

Theo mặc định, các đối số có thể được chuyển đến một hàm Python theo vị trí hoặc theo từ khóa một cách rõ ràng. Đối với khả năng đọc và hiệu suất, nên hạn chế cách truyền đối số sao cho nhà phát triển chỉ cần xem định nghĩa hàm để xác định xem các mục được truyền theo vị trí, theo vị trí hoặc theo từ khóa hay theo từ khóa

Một định nghĩa chức năng có thể trông giống như

Ảnh của tác giả

trong đó

def add(a,b=5,c=10):
return (a+b+c)
3 và
def add(a,b=5,c=10):
return (a+b+c)
4 là tùy chọn. Nếu được sử dụng, các ký hiệu này cho biết loại tham số theo cách các đối số có thể được truyền cho hàm. chỉ vị trí, vị trí hoặc từ khóa và chỉ từ khóa

  1. Đối số vị trí hoặc từ khóa
  2. Thông số chỉ vị trí
  3. Đối số chỉ từ khóa

1. Đối số vị trí hoặc từ khóa

Nếu

def add(a,b=5,c=10):
return (a+b+c)
3 và
def add(a,b=5,c=10):
return (a+b+c)
4 không có trong định nghĩa hàm, các đối số có thể được chuyển đến hàm theo vị trí hoặc theo từ khóa

print(add(3))
#Output:18
8

2. Thông số chỉ vị trí

Các tham số chỉ vị trí được đặt trước

def add(a,b=5,c=10):
return (a+b+c)
3 (dấu gạch chéo lên) trong định nghĩa hàm.
def add(a,b=5,c=10):
return (a+b+c)
3 được sử dụng để phân tách hợp lý các tham số chỉ vị trí với các tham số còn lại. Các tham số theo sau
def add(a,b=5,c=10):
return (a+b+c)
3 có thể là vị trí hoặc từ khóa hoặc chỉ từ khóa

print(add(3))
#Output:18
9

Nếu chúng tôi chỉ định các đối số từ khóa cho các đối số chỉ vị trí, nó sẽ tăng TypeError

print(add(3,4))
#Output:17
0

3. Đối số chỉ từ khóa

Để đánh dấu các tham số là chỉ từ khóa, hãy đặt một

def add(a,b=5,c=10):
return (a+b+c)
4 trong danh sách đối số ngay trước tham số chỉ từ khóa đầu tiên

print(add(3,4))
#Output:17
1

Nếu chúng tôi chỉ định các đối số vị trí cho các đối số chỉ từ khóa, nó sẽ tăng TypeError

print(add(3,4))
#Output:17
2

Tất cả 3 quy ước gọi được sử dụng trong cùng một chức năng

Trong ví dụ dưới đây, hàm

print(add(2,3,4))
#Output:9
6 có tất cả ba đối số

print(add(2,3,4))
#Output:9
3,
print(add(2,3,4))
#Output:9
1 — đối số chỉ vị trí
print(add(2,3,4))
#Output:9
2-đối số vị trí hoặc từ khóa
print(add(2,3,4))
#Output:9
35-đối số chỉ từ khóa

print(add(3,4))
#Output:17
3

Những điểm quan trọng cần nhớ

  1. Chỉ sử dụng vị trí nếu bạn muốn tên của các tham số không có sẵn cho người dùng. Điều này hữu ích khi tên tham số không có ý nghĩa thực sự
  2. Chỉ sử dụng vị trí nếu bạn muốn thực thi thứ tự của các đối số khi hàm được gọi
  3. Chỉ sử dụng từ khóa khi tên có ý nghĩa và định nghĩa hàm dễ hiểu hơn bằng cách rõ ràng với tên
  4. Chỉ sử dụng từ khóa khi bạn muốn ngăn người dùng dựa vào vị trí của đối số được chuyển

Liên kết blog khác của tôi

Mọi thứ bạn từng muốn biết về Python Return Statements

Tài nguyên (Tài liệu Python)

Định nghĩa hàm

đối số mặc định

đối số từ khóa

thông số đặc biệt

danh sách đối số tùy ý

Xem không gian này để biết thêm các bài viết về Python và Khoa học dữ liệu. Nếu bạn muốn đọc thêm các hướng dẫn của tôi, hãy theo dõi tôi trên Medium, LinkedIn, Twitter

Cảm ơn vì đã đọc

Tăng cấp mã hóa

Cảm ơn vì đã là một phần của cộng đồng của chúng tôi. Tăng cấp đang chuyển đổi tuyển dụng công nghệ. Tìm công việc hoàn hảo của bạn tại các công ty tốt nhất

Hàm truyền tham số trong Python là gì?

Tham số cụm từ và đối số có thể được sử dụng cho cùng một nội dung. thông tin được truyền vào hàm . Từ quan điểm của một chức năng. Tham số là biến được liệt kê bên trong dấu ngoặc đơn trong định nghĩa hàm. Đối số là giá trị được gửi đến hàm khi nó được gọi.

Các loại tham số trong Python là gì?

Trong Python, chúng ta có 4 loại đối số hàm sau. .
Đối số mặc định
Đối số từ khóa (đối số được đặt tên)
đối số vị trí
Đối số tùy ý (đối số có độ dài thay đổi *args và **kwargs )

Các kiểu truyền tham số là gì?

Có nhiều cách khác nhau để truyền dữ liệu tham số vào và ra khỏi các phương thức và hàm. .
TRONG. Truyền thông tin từ người gọi đến người được gọi
NGOÀI. Callee viết giá trị trong người gọi
VÀO/OUT. Người gọi cho biết giá trị callee của biến, có thể được cập nhật bởi callee

Hai loại tham số truyền trong Python là gì?

Gọi theo giá trị và gọi theo tham chiếu . Đây là khái niệm quan trọng nhất về đối số và tham số. Dựa trên loại đối số được truyền cho các tham số, có hai phương thức gọi/gọi hàm-Gọi theo giá trị và Gọi theo tham chiếu.