Có phải các thùng chứa biến Python không?
Làm ơn đăng nhập để tiếp tụcĐăng nhập Show
Bài 7 trên 15 • 17 lượt ủng hộ • 11. 17 phút Các biến không phải là bộ chứa lưu trữ trong python, Loại bất biến và loại có thể thay đổi Crack lập trình với UnacademyNhận đăng ký và truy cập các khóa học trực tiếp và được ghi lại không giới hạn từ các nhà giáo dục tốt nhất của Ấn ĐộTìm hiểu thêmMở tủ bếp của bạn. Trong đó, bạn sẽ tìm thấy nhiều phương tiện lưu trữ thực phẩm. Hộp các tông, Ziploc, Tupperware, túi nhựa được buộc kín bằng dây buộc xoắn và trọng tâm thảo luận của chúng tôi, lọ đựng. Bộ nhớ máy tính giống như một cái tủ chứa đầy lọ lưu trữ. Sử dụng Python, bạn đặt các giá trị vào các lọ và sau đó bạn đặt một nhãn, một biến, trên lọ, để bạn có thể tìm thấy giá trị của mình sau này Bình lưu trữ là vị trí của chúng tôi trong ký ức, nơi tôi muốn giữ bơ đậu phộng và thạch của mình. Giả sử tôi có giá trị của bơ đậu phộng, 5. Chúng ta có thể xem vị trí địa chỉ bộ nhớ của giá trị đó bằng hàm id()
Hãy nghĩ về con số dài đó như một lọ lưu trữ Tôi có thể dán nhãn lên lọ
Tôi có thể kiểm tra vị trí của giá trị được liên kết với Peanut_butter bằng cách chuyển biến của tôi tới hàm id()
Tôi cũng có thể dán nhiều hơn một nhãn lên lọ
Và kiểm tra vị trí của nó trong bộ nhớ
Chúng ta có thể gán biến cho các biến khác. Trước tiên hãy thay đổi giá trị của giòn
Xem điều gì sẽ xảy ra nếu chúng ta thay đổi giòn thành 5
Biến Peanut_butter của chúng tôi không thay đổi. Đó là bởi vì khi chúng tôi chỉ định nó giòn, như thế này
Chúng tôi đã chuyển cho nó giá trị liên quan đến độ giòn, là 7. Hũ lưu trữ số 7 của chúng ta ở đâu trên kệ? ________số 8 Giả sử tôi có năm muỗng bơ đậu phộng trong hũ đựng của mình
Thạch thường được đựng trong hộp nhỏ hơn, vì vậy giả sử tôi có ba muỗng 0Tôi có bao nhiêu muỗng bơ đậu phộng và thạch? 1Hãy gán câu lệnh đó cho một biến 2Tất cả những ẩn dụ về thức ăn này đang khiến tôi đói. Hãy làm bánh sandwich. Nếu chúng ta sử dụng hai muỗng bơ đậu phộng và một muỗng thạch, chúng ta cần gán giá trị mới cho các biến của mình bằng toán tử trừ như thế này Gán tên biến trong Python dễ như đặt tên biến ở bên trái dấu bằng (=). Nhưng điều đó có nghĩa là những gì bạn nghĩ nó có nghĩa ??Biến là thứ đầu tiên bạn sử dụng khi bắt đầu lập trình. Đó là điều đầu tiên bạn học trong bất kỳ ngôn ngữ lập trình nào. Cú pháp gán giá trị cho biến khác ngôn ngữ. Ví dụ, trong C, bạn sẽ chỉ định một loại biến và sau đó gán giá trị bằng dấu ‘=’ 3Trong python, bạn không cần phải đề cập đến loại biến khi bạn gán giá trị cho nó 4Đây là ở cấp độ thực hiện. Nhưng nếu bạn tìm hiểu sâu hơn, bạn sẽ nhận ra nó còn nhiều hơn những gì nhìn thấy bằng mắt thường. Xem khi bạn gán một giá trị cho biến trong ngôn ngữ như C, biến đó hoạt động như một thùng chứa hoặc vùng chứa mà bạn đặt giá trị vào đó NHƯNG TRONG PYTHON BIẾN HOẠT ĐỘNG NHƯ MỘT CON TRỎ Những gì hiện phương tiện này? Hãy tìm ra điều này Gán biến trong Python dễ như đặt tên biến ở bên trái dấu bằng (=) 4Điều này có vẻ đơn giản, nhưng nếu bạn có mô hình tinh thần sai về hoạt động này, thì cách thức hoạt động của Python có vẻ khó hiểu Trong Python, các biến tốt nhất không nên được coi là vùng chứa mà là con trỏ. Vì vậy, trong python khi bạn viết 6về cơ bản, bạn đang xác định một con trỏ có tên y trỏ đến một số nhóm khác chứa giá trị 5. Lưu ý một hậu quả của việc này. vì biến Python chỉ trỏ đến nhiều đối tượng khác nhau nên không cần “khai báo” biến, thậm chí yêu cầu biến luôn trỏ đến thông tin cùng loại Đây là ý nghĩa mà mọi người nói Python được gõ động. tên biến có thể trỏ đến đối tượng thuộc bất kỳ loại nào. Vì vậy, trong python bạn có thể làm những việc như 7Mặc dù người dùng ngôn ngữ kiểu thống kê có thể bỏ lỡ tính an toàn kiểu đi kèm với các khai báo như ngôn ngữ được tìm thấy trong C, nhưng kiểu gõ động này là một trong những phần giúp Python viết nhanh và dễ đọc. Có một hệ quả của cách tiếp cận “biến như con trỏ” này mà bạn cần lưu ý. Nếu chúng ta có hai tên biến trỏ đến cùng một đối tượng có thể thay đổi (có thể thay đổi giá trị), thì việc thay đổi cái này cũng sẽ thay đổi cái kia. Ví dụ: hãy tạo và sửa đổi danh sách 8Chúng tôi đã tạo hai biến x và y đều trỏ đến cùng một đối tượng. Do đó, nếu chúng tôi sửa đổi danh sách thông qua một tên của nó, chúng tôi sẽ thấy rằng danh sách "khác" cũng sẽ được sửa đổi 9Hành vi này có vẻ khó hiểu nếu bạn nghĩ sai về các biến là các thùng chứa dữ liệu. Nhưng nếu bạn đang nghĩ đúng về các biến là con trỏ tới đối tượng, thì hành vi này có ý nghĩa Cũng lưu ý rằng nếu chúng ta sử dụng = để gán một giá trị khác cho x, điều này sẽ không ảnh hưởng đến giá trị của y-gán chỉ đơn giản là thay đổi những gì mà biến có thể trỏ tới 0Một lần nữa, điều này hoàn toàn hợp lý nếu bạn coi x và y là con trỏ và toán tử = là một phép toán thay đổi tên trỏ đến Bạn có thể thắc mắc liệu ý tưởng con trỏ này có làm cho các phép toán số học trong Python khó theo dõi hay không, nhưng Python được thiết lập để đây không phải là vấn đề. Số, chuỗi và các loại đơn giản khác là bất biến. bạn không thể thay đổi giá trị của chúng — bạn chỉ có thể thay đổi giá trị mà các biến trỏ tới. Vì vậy, ví dụ, hoàn toàn an toàn khi thực hiện các thao tác như sau 1Khi chúng ta gọi x +=5, chúng ta không sửa đổi giá trị của đối tượng thứ 5 được trỏ tới bởi x, mà thay vào đó chúng ta đang thay đổi đối tượng mà x trỏ tới. Vì lý do này, giá trị của y không bị ảnh hưởng bởi hoạt động Tôi hy vọng bài viết Biến dưới dạng con trỏ này đã xóa tan nghi ngờ của bạn về cách thức hoạt động của biến trong Python và ý nghĩa của việc gán giá trị cho biến trong Python. Hãy ghi nhớ điều này khi bạn gán giá trị cho biến trong Python vào lần tới Biến có phải là vùng chứa không?Biến là vùng chứa trong đó các giá trị dữ liệu có thể được lưu trữ trong bộ nhớ của máy tính. Họ có một cái tên, còn được gọi là một địa chỉ.
Các biến Python được lưu trữ ở đâu?Tất cả các đối tượng và biến thể hiện được lưu trữ trong bộ nhớ heap . Khi một biến được tạo trong Python, nó được lưu trữ trong một vùng riêng tư, sau đó sẽ cho phép phân bổ và hủy phân bổ.
Làm thế nào để Python lưu trữ dữ liệu trong các biến?Gán giá trị cho biến
. Việc khai báo diễn ra tự động khi bạn gán giá trị cho một biến. Dấu bằng (=) dùng để gán giá trị cho biến .
Chính xác thì container trong Python là gì?Các bộ chứa tích hợp cốt lõi trong Python là danh sách, bộ dữ liệu, từ điển và bộ . So sánh dựa trên tập hợp chạy nhanh hơn 20000 lần so với so sánh dựa trên danh sách (150 μs so với 3. 05s) và sự khác biệt sẽ chỉ tăng lên khi kích thước vấn đề tăng lên. |