Trong Python, đối số của hàm là các giá trị hoặc biến mà bạn truyền cho một hàm hoặc phương thức khi bạn gọi nó. Các đối số này được sử dụng để chỉ định các tham số của hàm hoặc phương thức và chúng là một phần quan trọng trong lập trình Python. Có một số loại đối số hàm trong Python, bao gồm đối số vị trí, đối số từ khóa và đối số mặc định. Mỗi loại đối số này phục vụ một mục đích cụ thể và có thể được sử dụng theo những cách khác nhau để tùy chỉnh hành vi của hàm hoặc phương thức
Đối số vị trí, từ khóa và mặc định là những khái niệm quan trọng trong lập trình Python cho phép bạn chỉ định các đối số hoặc tham số mà hàm hoặc phương thức sẽ chấp nhận. Hiểu cách sử dụng các loại đối số này một cách hiệu quả có thể giúp bạn viết mã linh hoạt hơn và có thể tái sử dụng trong Python
Đối số vị trí
Đối số vị trí là đối số được truyền cho một hàm hoặc phương thức theo một thứ tự cụ thể. Thứ tự bạn truyền các đối số này rất quan trọng, bởi vì hàm hoặc phương thức sẽ sử dụng các đối số theo thứ tự mà chúng được nhận. Ví dụ: nếu bạn có một hàm nhận hai đối số, đối số đầu tiên sẽ được sử dụng làm tham số đầu tiên và đối số thứ hai sẽ được sử dụng làm tham số thứ hai
Để sử dụng các đối số vị trí, các đối số cần được truyền theo thứ tự giống như các tham số tương ứng của chúng trong định nghĩa hàm
def getgrade[name, score]:
""" This function computes a grade given a score"""
if score > 80:
grade = 'A'
elif 80 > score > 70:
grade = 'B'
elif 70 > score > 60:
grade = 'C'
else:
grade = 'D'
return name + " had grade: " + grade
Để gọi hàm này bằng các đối số vị trí
getgrade['prince', 78] # prince had grade: B
Câu lệnh
getgrade['prince', 78] # prince had grade: B
1 tự động chuyển getgrade['prince', 78] # prince had grade: B
2 cho tham số name và getgrade['prince', 78] # prince had grade: B
3 cho tham số score
getgrade[78, 'prince'] # ERROR
Lệnh gọi hàm này không giống như hàm
getgrade['prince', 78] # prince had grade: B
1 vì câu lệnh này chuyển getgrade['prince', 78] # prince had grade: B
3 cho tên và getgrade['prince', 78] # prince had grade: B
2 cho điểm. Và vì tham số điểm được coi là một số nguyên nhưng một chuỗi được truyền tới, nó sẽ gây ra lỗi và tạm dừng chương trìnhĐó là tất cả cho các đối số vị trí. lưu ý rằng các đối số cần được truyền theo thứ tự như các tham số tương ứng của chúng trong định nghĩa hàm
Đối số từ khóa
Đối số từ khóa là các đối số được truyền cho một hàm hoặc phương thức sử dụng tên của đối số theo sau là dấu bằng và giá trị của đối số. Các đối số này không cần phải được truyền theo thứ tự cụ thể, bởi vì hàm hoặc phương thức sẽ sử dụng tên của các đối số để xác định giá trị nào sẽ sử dụng cho tham số nào. tôi. e chuyển từng đối số ở dạng
getgrade['prince', 78] # prince had grade: B
7Chúng ta sẽ sử dụng hàm
getgrade['prince', 78] # prince had grade: B
8 tương tự để chứng minh việc sử dụng đối số từ khóaĐể gọi hàm
getgrade['prince', 78] # prince had grade: B
8 sử dụng đối số từ khóagetgrade[name='prince', score=78] # prince had grade: B
Điều này rất rõ ràng, chúng tôi đang chỉ định ____1_______2 để đặt tên và
getgrade['prince', 78] # prince had grade: B
3 để ghi điểm. Phần thú vị của việc sử dụng các đối số từ khóa là bạn có thể kết hợp thứ tự mà bạn cung cấp các đối sốgetgrade[score=78, name='prince'] # prince had grade: B
Các đối số có thể xuất hiện theo bất kỳ thứ tự nào, không giống như các đối số vị trí
Trộn các đối số Vị trí và Từ khóa
Có thể trộn các đối số vị trí với các đối số từ khóa
Nhưng các đối số vị trí không thể xuất hiện sau khi bất kỳ đối số từ khóa nào đã được xác định
Ví dụ: nếu bạn có tiêu đề hàm là
def f[p1, p2, p3, p4]:
Bạn có thể gọi nó bằng cách sử dụng
f[21, p2=43, p3=11]
Sẽ là sai khi gọi bằng
f[p1=21, 43, 11]
bởi vì các đối số vị trí
getgrade[78, 'prince'] # ERROR
2 và getgrade[78, 'prince'] # ERROR
3 xuất hiện sau đối số từ khóa getgrade[78, 'prince'] # ERROR
4
Đối số mặc định
Đối số mặc định là đối số được cung cấp giá trị mặc định khi hàm hoặc phương thức được xác định. Các đối số này là tùy chọn, vì hàm hoặc phương thức sẽ sử dụng giá trị mặc định nếu không có giá trị nào được cung cấp cho đối số đó khi hàm được gọi. Các đối số mặc định có thể được sử dụng để cung cấp các giá trị mặc định cho các tham số tùy chọn hoặc để chỉ định hành vi mặc định cho một hàm hoặc phương thức. Python cho phép chúng ta tạo các hàm với các tham số có giá trị mặc định
Các giá trị mặc định được truyền cho các tham số khi hàm được gọi mà không có đối số
Hãy định nghĩa một hàm với các đối số mặc định
def area_perimeter[width=2, height=2]:
area = width * height
perimeter = [2 * width] + [2 * height]
print["Area = " + str[area] + " and Perimeter = " + str[perimeter]]
Chiều rộng
getgrade[78, 'prince'] # ERROR
5 có giá trị mặc định là 1 và getgrade[78, 'prince'] # ERROR
6 có giá trị là 2. Nếu hàm này được gọi mà không có một hoặc bất kỳ đối số nào. nó sẽ tự động chuyển các giá trị mặc định làm đối số
Nhiều cách khác nhau để gọi chức năng này
area_perimeter[] # this function call uses the default arguments
area_perimeter[10, 5] # positional arguments width=10 height=5
area_perimeter[width=10] # this will set height to use the default value, 2
area_perimeter[height=4, width=45] # keyword arguments
area_perimeter[15] # sets width = 15 and height uses the default value
Đầu ra chương trình
getgrade['prince', 78] # prince had grade: B
0
Tóm lại, các đối số vị trí, từ khóa và mặc định là những công cụ quan trọng trong Python cho phép bạn chỉ định các đối số hoặc tham số mà một hàm hoặc phương thức sẽ chấp nhận. Hiểu cách sử dụng các loại đối số này một cách hiệu quả có thể giúp bạn viết mã linh hoạt hơn và có thể tái sử dụng trong Python