Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách truyền dictionary làm đối số cho hàm Python

Truyền dict như một đối số bình thường, truy cập key/value bên trong hàm.

Ví dụ cơ bản

d = {'a': 1, 'b': 2, 'c': 3}

def f(dct):
    for k, v in dct.items():  # Python 3: items()
        print(k, 2 * v)

f(d)

Đầu ra

a 2
c 6
b 4

Unpacking dict thành keyword arguments (**)

def greet(name, greeting="Hello"):
    print(f"{greeting}, {name}!")

params = {'name': 'Alice', 'greeting': 'Hi'}
greet(**params)  # Tương đương greet(name='Alice', greeting='Hi')

Lưu ý

  • Không dùng tên tham số dict (che built-in).
  • Dict được truyền bằng reference, sửa đổi bên trong hàm ảnh hưởng dict gốc.
  • Dùng **kwargs nếu muốn nhận dict bất kỳ key.