Bản tóm tắt. Để khởi tạo nhiều biến thành cùng một giá trị trong Python, bạn có thể sử dụng một trong các cách tiếp cận sau
- Sử dụng đẳng thức xiềng xích như.
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]
7 - Sử dụng
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]
8
Bài viết này sẽ hướng dẫn bạn cách gán nhiều biến có cùng giá trị trong Python. Còn chần chừ gì nữa, hãy cùng chúng tôi đi sâu vào giải pháp ngay
Phương pháp 1. Sử dụng chuỗi bình đẳng
Bạn có thể sử dụng các đẳng thức chuỗi để khai báo các biến và sau đó gán cho chúng giá trị cần thiết
Syntax: variable_1 = variable_2 = variable_3 = value
Mã số
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]
đầu ra
100
100
100
All variables point to the same memory location:
3076786312656
3076786312656
3076786312656
Rõ ràng từ đầu ra ở trên, mỗi biến đã được gán cùng một giá trị và mỗi biến trỏ đến cùng một vị trí bộ nhớ
Phương pháp 2. Sử dụng chính tả. từ khóa
Cách tiếp cận. Sử dụng phương pháp
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]9 để đặt một giá trị cụ thể [_______40] cho danh sách các biến [
100
100
100
All variables point to the same memory location:
3076786312656
3076786312656
3076786312656
1]Mã số
________số 8đầu ra
x = 100
ID of x = 2577372054896
y = 100
ID of y = 2577372693360
z = 100
ID of z = 2577380842864
Thảo luận. Rõ ràng từ đầu ra ở trên, mỗi biến được gán giữ cùng một giá trị. Tuy nhiên, mỗi biến chiếm một vị trí bộ nhớ khác nhau. Điều này là do mỗi biến hoạt động như một khóa của từ điển và mỗi khóa trong từ điển là duy nhất. Do đó, những thay đổi đối với một biến cụ thể sẽ không ảnh hưởng đến biến khác như hình bên dưới
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]0
đầu ra
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]1
Đọc khái niệm
100
100
100
All variables point to the same memory location:
3076786312656
3076786312656
3076786312656
2 là một phương thức từ điển trả về một từ điển dựa trên các khóa và giá trị được chỉ định được truyền bên trong nó dưới dạng tham số. Cú pháp.
100
100
100
All variables point to the same memory location:
3076786312656
3076786312656
3076786312656
3➡ keys là tham số bắt buộc đại diện cho một lần lặp chứa các khóa của từ điển mới.
➡ giá trị là một tham số tùy chọn đại diện cho các giá trị cho tất cả các khóa trong từ điển mới. Theo mặc định, nó là
100
100
100
All variables point to the same memory location:
3076786312656
3076786312656
3076786312656
4. Thí dụ
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]5
câu hỏi liên quan
Hãy giải quyết một câu hỏi thường gặp khiến nhiều lập trình viên gặp rắc rối
Vấn đề. Tôi đã cố gắng sử dụng nhiều phép gán như hiển thị bên dưới để khởi tạo các biến, nhưng tôi bị nhầm lẫn bởi hành vi này, tôi muốn gán lại danh sách giá trị một cách riêng biệt, ý tôi là b[0] và c[0] bằng 0 như trước đây
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]6
đầu ra
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]7
Nhưng, tại sao nhiệm vụ sau đây lại dẫn đến một hành vi khác?
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]0
đầu ra
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]1
Nguồn câu hỏi. StackOverflow
Dung dịch
Hãy nhớ rằng mọi thứ trong Python được coi là một đối tượng. Vì vậy, khi bạn xâu chuỗi nhiều biến như trong trường hợp trên, tất cả chúng đều đề cập đến cùng một đối tượng. Điều này có nghĩa là,
100
100
100
All variables point to the same memory location:
3076786312656
3076786312656
3076786312656
5 , 100
100
100
All variables point to the same memory location:
3076786312656
3076786312656
3076786312656
6 và 100
100
100
All variables point to the same memory location:
3076786312656
3076786312656
3076786312656
7 không phải là các biến khác nhau có cùng giá trị thay vì chúng là các tên khác nhau được đặt cho cùng một đối tượngNhư vậy, trong trường hợp đầu tiên khi bạn thực hiện thay đổi tại một chỉ số nào đó của biến a, i. e, a[0] = 1. Điều này có nghĩa là bạn đang thực hiện các thay đổi đối với cùng một đối tượng cũng có tên b và c. Do đó, những thay đổi được phản ánh cho cả b và c cùng với a
xác minh
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]2
Để tạo một đối tượng mới và gán nó, bạn phải sử dụng mô-đun sao chép như hình bên dưới
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]3
đầu ra
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]4
Tuy nhiên, trong trường hợp thứ hai, bạn đang ràng buộc lại một giá trị khác cho biến
100
100
100
All variables point to the same memory location:
3076786312656
3076786312656
3076786312656
5. Điều này có nghĩa là bạn đang thay đổi nó tại chỗ và điều đó dẫn đến việc trỏ đến một giá trị hoàn toàn khác ở một vị trí khác. Ở đây, giá trị được thay đổi là một số nguyên và số nguyên là bất biếnLàm theo hình minh họa đã cho để hình dung những gì đang xảy ra trong trường hợp này
xác minh
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]5
đầu ra
x = y = z = 100 print[x] print[y] print[z] print["All variables point to the same memory location:"] print[id[x]] print[id[y]] print[id[z]]6
Rõ ràng là sau khi liên kết lại một giá trị mới với biến
100
100
100
All variables point to the same memory location:
3076786312656
3076786312656
3076786312656
5, nó trỏ đến một vị trí bộ nhớ khác, do đó bây giờ nó đề cập đến một đối tượng khác. Do đó, thay đổi giá trị của 100
100
100
All variables point to the same memory location:
3076786312656
3076786312656
3076786312656
5 trong trường hợp này có nghĩa là chúng ta đang tạo một đối tượng mới mà không chạm vào đối tượng đã tạo trước đó được tham chiếu bởi 100
100
100
All variables point to the same memory location:
3076786312656
3076786312656
3076786312656
5, 100
100
100
All variables point to the same memory location:
3076786312656
3076786312656
3076786312656
6 và 100
100
100
All variables point to the same memory location:
3076786312656
3076786312656
3076786312656
7Sách Python One-Liners. Làm chủ một dòng đầu tiên
Các lập trình viên Python sẽ cải thiện các kỹ năng khoa học máy tính của họ với những lời khuyên hữu ích này
Python One-Liners sẽ dạy bạn cách đọc và viết "one-liners". tuyên bố ngắn gọn về chức năng hữu ích được gói gọn trong một dòng mã. Bạn sẽ học cách giải nén một cách có hệ thống và hiểu bất kỳ dòng mã Python nào, đồng thời viết Python được nén mạnh mẽ, hùng hồn như một chuyên gia
Năm chương của cuốn sách bao gồm [1] mẹo và thủ thuật, [2] biểu thức chính quy, [3] học máy, [4] chủ đề khoa học dữ liệu cốt lõi và [5] thuật toán hữu ích
Giải thích chi tiết về một lớp lót giới thiệu các khái niệm khoa học máy tính chính và nâng cao kỹ năng viết mã và phân tích của bạn. Bạn sẽ tìm hiểu về các tính năng nâng cao của Python chẳng hạn như hiểu danh sách, cắt, hàm lambda, biểu thức chính quy, hàm bản đồ và thu gọn và phân công lát
Bạn cũng sẽ học cách
- Tận dụng cấu trúc dữ liệu để giải quyết các vấn đề trong thế giới thực, chẳng hạn như sử dụng lập chỉ mục Boolean để tìm các thành phố có mức độ ô nhiễm trên trung bình
- Sử dụng các thông tin cơ bản về NumPy chẳng hạn như mảng, hình dạng, trục, loại, truyền phát, lập chỉ mục nâng cao, cắt, sắp xếp, tìm kiếm, tổng hợp và thống kê
- Tính thống kê cơ bản của mảng dữ liệu đa chiều và thuật toán K-Means cho học không giám sát
- Tạo nhiều biểu thức chính quy nâng cao bằng cách sử dụng nhóm và nhóm được đặt tên, giao diện phủ định, ký tự thoát, khoảng trắng, bộ ký tự [và bộ ký tự phủ định] và toán tử tham lam/không tham lam
- Hiểu nhiều chủ đề khoa học máy tính, bao gồm đảo chữ cái, bảng chữ cái, bộ siêu, hoán vị, giai thừa, số nguyên tố, số Fibonacci, làm rối, tìm kiếm và sắp xếp theo thuật toán
Đến cuối cuốn sách, bạn sẽ biết cách viết Python ở mức tinh tế nhất và tạo ra những tác phẩm “nghệ thuật Python” ngắn gọn, đẹp mắt chỉ trong một dòng
Nhận Python One-Liners của bạn trên Amazon
Shubham Sayon
Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking