30/09/2018, 18:55
Cần hỏi về hàm!
def print_two(*args):
arg1, arg2 = args
print "arg1: %r, arg2: %r" % (arg1, arg2)
# ok, that *args is actually pointless, we can just do this
def print_two_again(arg1, arg2):
print "arg1: %r, arg2: %r" % (arg1, arg2)
Với 2 hàm trên thì kết quả in ra hoàn toàn giống nhau
nhung e không hiểu tham số (*args) là gì
Mong m.n thông não
Bài liên quan





Taoco = [1,2,3,4,5,6,7,8,9,0,]
mayco, *nhieuthangco = Taoco
Result:
mayco = 1
nhieuthangco = [2,3,4,5,6,7,8,9,0]
Nhu vay do ban
*argslà từ khóa đặc biệt cho hàm, để nhận tất cả tham số truyền vào hàm mà ko cần định nghĩa trước số lượng tham số.Vd bình thường bạn có hàm
cong(a, b)thì hàm này chỉ nhận 2 (ko hơn ko kém) tham số. Còn khi bạn định nghĩa hàmcong(*args)thì hàm này nhận bao nhiêu tham số cũng được.Còn 1 từ khóa đặc biệt cho hàm nữa là
*kwargslàkeyword argumentstức là tham số có tên.VD: khi bạn có hàm
cong(*args, *kwargs)thìcong(1, 2, 3, a=5, b=10,c=9)thìargssẽ là[1, 2, 3]cònkwargssẽ là 1 dict chứa các tham số có tên.Chi tiết:
*args and **kwargs?
Tks may’ bac’
định vào giải thích nhưng hai bác nói chuẩn quá nên thôi.
chúc bạn code tốt vậy!