Hỏi về đối số trong khai báo hàm lập trình Python

python

(Dương Đặng) #1

Em học python trên trang DOCS của python.org. Em chưa hiểu đoạn sau, mn giải thích giúp em:

def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'):
    print("-- This parrot wouldn't", action, end=' ')
    print("if you put", voltage, "volts through it.")
    print("-- Lovely plumage, the", type)
    print("-- It's", state, "!")

Tại sao lại bị lỗi khi truyền giá trị cho đối số như sau:

parrot(110, voltage=220)

(Trương Tấn Phát) #2

Bạn truyền 2 giá trị cho 1 tham số.

Hiểu cách thức hoạt động của tham số mặc định thì biết lý do thôi bạn.


(Phạm Tiến Đạt) #4

bạn đã sử dụng 110 cho tham số voltage rồi. Còn voltage=220 python sẽ cho là sai => error
Cách xài đúng
parrot(110, <cái_gì_đó_rất_phức_tạp>)


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?