Có cách nào để mở rộng một bộ torrent Python thành một hàm - như các tham số thực tế?Mở rộng các tuple thành các đối số
Ví dụ, đây expand()
làm sự kỳ diệu:
tuple = (1, "foo", "bar")
def myfun(number, str1, str2):
return (number * 2, str1 + str2, str2 + str1)
myfun(expand(tuple)) # (2, "foobar", "barfoo")
Tôi biết người ta có thể xác định myfun
như myfun((a, b, c))
, nhưng tất nhiên có thể có mã di sản. Cảm ơn
Bạn có thể vui lòng cung cấp giải thích tại sao toán tử asteriks thực hiện những gì được yêu cầu không? – winklerrr
Toán tử * chỉ đơn giản là bỏ gói tuple và chuyển chúng thành các đối số vị trí cho hàm. Xem thêm tại đây: https://docs.python.org/3/tutorial/controlflow.html#tut-unpacking-arguments –
Lưu ý rằng cùng một cú pháp có thể được sử dụng cho các danh sách cũng như các bộ dữ liệu. –