Sử dụng các từ khóa cho các đối số mặc định và tùy chọn (tiếp tục)
Ví dụ, giả sử bạn định nghĩa một hàm, repToInt, để chuyển đổi các trình bày string của các số trong một cơ sở đã
cho thành các giá trị số nguyên của chúng (xem học phần trước). Hàm mong đợi một trình bày string của số và một
cơ sở số nguyên như các đối số. Sau đây là code:
def repToInt(repString, base):
“””Converts the repString to an int in the base
and returns this int.”””
decimal = 0
exponent = len(repString) – 1
for digit in repString:decimal = decimal + int(digit) * base ** exponent
exponent -= 1return decimal
Như được viết, hàm này có thể được sử dụng để chuyển đổi các trình bày string trong cơ sở 2 qua 10 thành các số
nguyên. Nhưng cho rằng 75% số lần lập trình viên sử dụng hàm repToInt để chuyển đổi các số nhị phân thành
dạng thập phân. Nếu bạn thay đổi header hàm để cung cấp một mặc định 2 cho cơ sở, các lập trình viên đó sẽ
biết ơn. Sau đây là thay đổi đề nghị đối với header hàm, theo sau bởi phiên làm việc cái thể hiện ảnh hưởng
của nó:
def repToInt(repString, base = 2):
>>> repToInt(“10”, 10) # Override the default to 10
10
>>> repToInt(“10”, 8) # Override the default to 8
8
>>> repToInt(“10”, 2) # Same as the default, not necessary
2
>>> repToInt(“10”) # Base 2 by default
2