Hướng dẫn what does “unpacking” refer to in python? - "giải nén" đề cập đến điều gì trong python?
Chúng tôi sử dụng hai toán tử * (cho các bộ dữ liệu) và ** (cho từ điển). & Nbsp; Show Bối cảnh & nbsp; xem xét một tình huống mà chúng ta có một chức năng nhận được bốn đối số. Chúng tôi muốn thực hiện một cuộc gọi đến chức năng này và chúng tôi có một danh sách kích thước 4 với chúng tôi có tất cả các đối số cho chức năng. Nếu chúng ta chỉ cần chuyển một danh sách cho chức năng, cuộc gọi không hoạt động. & Nbsp; & nbsp; Python3
(1, 2, 3, 4)2 (1, 2, 3, 4)3 (1, 2, 3, 4)4 (1, 2, 3, 4)5 (1, 2, 3, 4)6 (1, 2, 3, 4)7 (1, 2, 3, 4)6 (1, 2, 3, 4)9 (1, 2, 3, 4)6 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in1 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in2 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in3 Đầu ra: & nbsp; TypeError: fun() takes exactly 4 arguments (1 given) & nbsp; & nbsp; giải nén & nbsp; chúng ta có thể sử dụng * để giải nén danh sách để tất cả các yếu tố của nó có thể được truyền dưới dạng các tham số khác nhau. & nbsp; Python3
(1, 2, 3, 4)0 (1, 2, 3, 4)1 (1, 2, 3, 4)2 (1, 2, 3, 4)3 (1, 2, 3, 4)4 (1, 2, 3, 4)5 (1, 2, 3, 4)6 (1, 2, 3, 4)7 (1, 2, 3, 4)6 (1, 2, 3, 4)9 (1, 2, 3, 4)6 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in1 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in2 (Geeksforgeeks, awesome, world!)0 (Geeksforgeeks, awesome, world!)1 (Geeksforgeeks, awesome, world!)2 Đầu ra: & nbsp; (1, 2, 3, 4) & nbsp; & nbsp; giải nén & nbsp; chúng ta có thể sử dụng * để giải nén danh sách để tất cả các yếu tố của nó có thể được truyền dưới dạng các tham số khác nhau. & nbsp; Python3Chúng ta cần ghi nhớ rằng không. Các đối số phải giống như độ dài của danh sách mà chúng tôi đang giải nén cho các đối số. (Geeksforgeeks, awesome, world!)3 (1, 2, 3, 4)3 (1, 2, 3, 4)4 (Geeksforgeeks, awesome, world!)6 (1, 2, 3, 4)6 (1, 2, 3, 4)5 (1, 2, 3, 4)6 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in1 (1, 2, 3, 4)6 2 4 102222
2 4 105 3 (Geeksforgeeks, awesome, world!)1 5 Output: Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in
2 4 107 2 4 108 2 4 109 0 2 4 109 2 Python36 Một ví dụ khác, hãy xem xét hàm Range () tích hợp () mong đợi các đối số bắt đầu và dừng riêng biệt. Nếu chúng không có sẵn một cách riêng biệt, hãy viết cuộc gọi chức năng với trình điều hành *để giải nén các đối số ra khỏi danh sách hoặc tuple: & nbsp; (1, 2, 3, 4)4 (1, 2, 3, 4)9 (1, 2, 3, 4)6 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in1 (1, 2, 3, 4)6 def 9Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in2 7 8 9 (1, 2, 3, 4)9 (1, 2, 3, 4)6__72 7 8 9 (Geeksforgeeks, awesome, world!)1 2(1, 2, 3, 4)4 (1, 2, 3, 4)9 (1, 2, 3, 4)6 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in1 (1, 2, 3, 4)6 def 9Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in2
Python3Đóng gói & nbsp; Khi chúng tôi không biết có bao nhiêu đối số cần được chuyển cho chức năng Python, chúng tôi có thể sử dụng đóng gói để đóng gói tất cả các đối số trong một tuple. & Nbsp; & nbsp;
(1, 2, 3, 4)01 (Geeksforgeeks, awesome, world!)1 (1, 2, 3, 4)03 (1, 2, 3, 4)0 (1, 2, 3, 4)09 (1, 2, 3, 4)5 (1, 2, 3, 4)6 (1, 2, 3, 4)7 (1, 2, 3, 4)6 (1, 2, 3, 4)9 (1, 2, 3, 4)6 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in1 (1, 2, 3, 4)6 def 9(1, 2, 3, 4)19 (1, 2, 3, 4)0 (1, 2, 3, 4)09 (1, 2, 3, 4)22 (1, 2, 3, 4)6 (1, 2, 3, 4)24 (1, 2, 3, 4)19 Output: 15 30
2 4 107 (1, 2, 3, 4)06 (1, 2, 3, 4)07 Hàm trên mysum () thực hiện ’đóng gói để đóng gói tất cả các đối số mà phương thức gọi này nhận được thành một biến duy nhất. Khi chúng tôi có biến này có thể đóng gói, chúng tôi có thể làm mọi thứ với nó mà chúng tôi sẽ làm với một bộ dụng cụ bình thường. Args [0] và Args [1] sẽ cung cấp cho bạn đối số thứ nhất và thứ hai, tương ứng. Vì các bộ dữ liệu của chúng tôi là bất biến, bạn có thể chuyển đổi Tuple Args thành một danh sách để bạn cũng có thể sửa đổi, xóa và sắp xếp lại các mục trong I. & NBSP; Python3Đóng gói và giải nén & nbsp; Dưới đây là một ví dụ hiển thị cả đóng gói và giải nén. & Nbsp; & nbsp;
(1, 2, 3, 4)0 (1, 2, 3, 4)30
(1, 2, 3, 4)27
(1, 2, 3, 4)32 (Geeksforgeeks, awesome, world!)1 (1, 2, 3, 4)03
(Geeksforgeeks, awesome, world!)3 (1, 2, 3, 4)3 (1, 2, 3, 4)38 (1, 2, 3, 4)07
(1, 2, 3, 4)41 (Geeksforgeeks, awesome, world!)6 (1, 2, 3, 4)43 (1, 2, 3, 4)3 (1, 2, 3, 4)45
(1, 2, 3, 4)53 (Geeksforgeeks, awesome, world!)1 5 (1, 2, 3, 4)32 (1, 2, 3, 4)57 (1, 2, 3, 4)6 (1, 2, 3, 4)59 (1, 2, 3, 4)6 (1, 2, 3, 4)61 (1, 2, 3, 4)62 Output: (Geeksforgeeks, awesome, world!)
Python3** được sử dụng cho từ điển & nbsp; & nbsp;
(1, 2, 3, 4)0 (1, 2, 3, 4)30
(1, 2, 3, 4)64 (Geeksforgeeks, awesome, world!)0 (Geeksforgeeks, awesome, world!)1 (Geeksforgeeks, awesome, world!)1 (1, 2, 3, 4)86 Output: 2 4 10 Các Python3Ở đây ** Giải nén từ điển được sử dụng với nó và chuyển các mục trong từ điển làm đối số từ khóa cho hàm. Vì vậy, viết trò vui (1, ** d), tương đương với việc viết trò vui (1, b = 4, c = 10). & NBSP;
(1, 2, 3, 4)0 9 (1, 2, 3, 4)95 (1, 2, 3, 4)96
(Geeksforgeeks, awesome, world!)0 (Geeksforgeeks, awesome, world!)1 (Geeksforgeeks, awesome, world!)1 (1, 2, 3, 4)91
(1, 2, 3, 4)98 (1, 2, 3, 4)99 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in00 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in01 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in08 (1, 2, 3, 4)3 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in10 (1, 2, 3, 4)6 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in12 (1, 2, 3, 4)3 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in14 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in15 (1, 2, 3, 4)3 Traceback (most recent call last): File "/home/592a8d2a568a0c12061950aa99d6dec3.py", line 10, in17 (1, 2, 3, 4)62
Đầu ra
Tham khảo: & nbsp; http: //hangar.runway7.net/python/packing-unpacking-argumentsthis Bài viết được đóng góp bởi Shwetanshu Rohatgi. Nếu bạn thích GeekSforGeeks và muốn đóng góp, bạn cũng có thể viết một bài viết bằng Write.GeekSforGeek.org hoặc gửi bài viết của bạn. Xem bài viết của bạn xuất hiện trên trang chính của GeekSforGeek và giúp các chuyên viên máy tính khác. Xin vui lòng viết nhận xét nếu bạn tìm thấy bất cứ điều gì không chính xác hoặc bạn muốn chia sẻ thêm thông tin về chủ đề được thảo luận ở trên & NBSP; Những lý lẽ giải nén trong Python là gì?Trong các hàm Python, chúng ta có thể đóng gói hoặc giải nén các đối số chức năng.Giải nén: Trong quá trình gọi chức năng, chúng ta có thể giải nén danh sách Python/Tuple/Range/Dict và chuyển nó dưới dạng các đối số riêng biệt.* được sử dụng để giải nén các đối số vị trí.** được sử dụng để giải nén các đối số từ khóa.During function call, we can unpack python list/tuple/range/dict and pass it as separate arguments. * is used for unpacking positional arguments. ** is used for unpacking keyword arguments.
Đóng gói đề cập đến gì trong Python?Đóng gói là một kỹ thuật trong Python mà chúng tôi đặt một số giá trị vào một trình lặp duy nhất.Nếu chúng ta nói về việc đóng gói theo nghĩa đen, giống như chúng ta đóng gói một số mặt hàng nhất định vào một hộp trong thế giới thực, trong Python, chúng ta sẽ đóng gói một số biến nhất định trong một lần lặp lại.a technique in python with which we put several values into a single iterator. If we talk of packing in literal terms, Just like we pack certain items into a box in the real world, In python we pack certain variables in a single iterable.
Điều gì là giải nén một tuple?Giải nén một tuple giải nén một tuple có nghĩa là chia các yếu tố của tuple thành các biến riêng lẻ.Ví dụ: x, y = (1, 2)splitting the tuple's elements into individual variables. For example: x, y = (1, 2)
Làm thế nào để bạn giải nén một chuỗi trong Python?Phương thức: Sử dụng định dạng () + * Trình điều khiển + Giá trị () Trình điều khiển * được sử dụng để giải nén và gán.Các giá trị được trích xuất bằng các giá trị ().Using format() + * operator + values()
The * operator is used to unpack and assign. The values are extracted using values(). |