Đối số mặc định và từ khóa

Python trung cấp dành cho nhà phát triển

Jasmin Ludolf

Senior Data Science Content Developer

Trung bình

# Tạo hàm tùy chỉnh
def average(values):
    # Tính trung bình
    average_value = sum(values) / len(values)

    # Làm tròn kết quả
    rounded_average = round(average_value, 2)

    # Trả về rounded_average
    return rounded_average
  • values = Đối số
Python trung cấp dành cho nhà phát triển

Đối số

  • Giá trị cung cấp cho một hàm hoặc phương thức
    • Vị trí
    • Từ khóa
Python trung cấp dành cho nhà phát triển

Đối số vị trí

  • Truyền đối số theo thứ tự, cách nhau bằng dấu phẩy
# Làm tròn pi đến 2 chữ số
print(round(3.1415926535, 2))
3.14
Python trung cấp dành cho nhà phát triển

Đối số từ khóa

  • Truyền đối số bằng cách gán giá trị cho keywords

  • Hữu ích để diễn giải và theo dõi đối số

# Làm tròn pi đến 2 chữ số 
print(round(number=3.1415926535
Python trung cấp dành cho nhà phát triển

Đối số từ khóa

  • Truyền đối số bằng cách gán giá trị cho keywords

  • Hữu ích để diễn giải và theo dõi đối số

# Làm tròn pi đến 2 chữ số 
print(round(number=3.1415926535, ndigits=2))
3.14
Python trung cấp dành cho nhà phát triển

Nhận diện đối số từ khóa

# Tìm hiểu thêm về hàm trợ giúp
print(help(round))
Help on built-in function round in module builtins:

round(number, ndigits=None)
    Round a number to a given precision in decimal digits.

    The return value is an integer if ndigits is omitted or None.  Otherwise,
    the return value has the same type as the number.  ndigits may be negative.
Python trung cấp dành cho nhà phát triển

Đối số từ khóa

Help on built-in function round in module builtins:

round(number, ndigits=None)
  Round a number to a given precision in decimal digits.

  The return value is an integer if ndigits is omitted or None. Otherwise 
  the return value has the same type as the number. ndigits may be negative.

$$

  • Đối số thứ nhất: number
  • Đối số thứ hai: ndigits
Python trung cấp dành cho nhà phát triển

Đối số mặc định

Help on built-in function round in module builtins:

round(number, ndigits=None)
    Round a number to a given precision in decimal digits.

    The return value is an integer if ndigits is omitted or None.  Otherwise,
    the return value has the same type as the number.  ndigits may be negative.
  • None = không có giá trị / rỗng

  • Đối số mặc định: cách đặt giá trị default cho một argument

  • Ghi đè None thành 2

  • Giá trị dùng thường xuyên - đặt bằng đối số mặc định

Python trung cấp dành cho nhà phát triển

Thêm một đối số

# Tạo hàm tùy chỉnh
def average(values):
    average_value = sum(values) / len(values)
    rounded_average = round(average_value, 2)
    return rounded_average
Python trung cấp dành cho nhà phát triển

Thêm một đối số

# Tạo hàm tùy chỉnh
def average(values, rounded=False):


Python trung cấp dành cho nhà phát triển

Thêm một đối số

# Tạo hàm tùy chỉnh
def average(values, rounded=False):

# Làm tròn đến hai chữ số thập phân nếu rounded là True if rounded == True:
average_value = sum(values) / len(values) rounded_average = round(average_value, 2) return rounded_average
Python trung cấp dành cho nhà phát triển

Thêm một đối số

# Tạo hàm tùy chỉnh
def average(values, rounded=False):

# Làm tròn đến hai chữ số thập phân nếu rounded là True if rounded == True: average_value = sum(values) / len(values) rounded_average = round(average_value, 2) return rounded_average
# Ngược lại, không làm tròn else: average_value = sum(values) / len(values) return average_value
Python trung cấp dành cho nhà phát triển

Dùng hàm average() đã sửa đổi

# Danh sách thời gian chuẩn bị (phút)
preparation_times = [19.23, 15.67, 48.57, 23.45, 12.06, 34.56, 45.67]
Python trung cấp dành cho nhà phát triển

Dùng hàm average() đã sửa đổi

# Lấy giá trị trung bình không làm tròn
print(average(preparation_times, False))
28.4585714
# Lấy giá trị trung bình không làm tròn
print(average(preparation_times))
28.4585714
Python trung cấp dành cho nhà phát triển

Dùng hàm average() đã sửa đổi

# Lấy giá trị trung bình đã làm tròn
print(average(values=preparation_times, rounded=True))
28.46
Python trung cấp dành cho nhà phát triển

Ayo berlatih!

Python trung cấp dành cho nhà phát triển

Preparing Video For Download...