Có thể thay đổi trong Python có thể được định nghĩa là đối tượng có thể thay đổi hoặc được coi là một thứ gì đó có thể thay đổi trong tự nhiên. Có thể thay đổi có nghĩa là khả năng sửa đổi hoặc chỉnh sửa một giá trị
Các đối tượng có thể thay đổi trong Python cho phép các lập trình viên có các đối tượng có thể thay đổi giá trị của chúng. Chúng thường được sử dụng để lưu trữ một tập hợp dữ liệu. Nó có thể được coi là một cái gì đó đã biến đổi và trạng thái bên trong áp dụng trong một đối tượng đã thay đổi
Trong hướng dẫn Python này, bạn sẽ học
Đối tượng bất biến là gì?
Các đối tượng bất biến trong Python có thể được định nghĩa là các đối tượng không thay đổi giá trị và thuộc tính của chúng theo thời gian.
Các đối tượng này trở thành vĩnh viễn sau khi được tạo và khởi tạo, đồng thời chúng tạo thành một phần quan trọng của cấu trúc dữ liệu được sử dụng trong Python.
Python được sử dụng trong các số, bộ dữ liệu, chuỗi, bộ cố định và các lớp do người dùng định nghĩa với một số ngoại lệ. Chúng không thể thay đổi và các giá trị của chúng và nó vẫn tồn tại vĩnh viễn sau khi chúng được khởi tạo và do đó được gọi là bất biến
Trong Python, mọi thứ đều là đối tượng
Trong ngôn ngữ lập trình Python, mọi thứ có thể được coi là một đối tượng bao gồm danh sách, số nguyên và hàm. Tính năng này có thể được so sánh với các ngôn ngữ lập trình khác hỗ trợ các đối tượng
Tính năng này có thể được xác minh bằng trình thông dịch Python như hình bên dưới. –
Mã Python
print["The following instance is an object:",isinstance[3,object]] print["Another instance for object", isinstance[True, object]] def my_func[]: return "guru99" print["This is a function example and regarded as an object in Python:", isinstance[my_func, object]]
đầu ra
A following instance is an object: True Another instance for object True This is a function example and regarded as an object in Python: True
Hơn nữa, Python cung cấp một hàm tích hợp có tên id trả về địa chỉ của đối tượng như hiện có trong bộ nhớ của ngôn ngữ lập trình Python
Mã Python
z=200 id[z] print["The id of object is", id[z]]
đầu ra
the id of object is 9795360
Trong đoạn mã trên, hàm id có cú pháp id[obj] cung cấp địa chỉ của obj trong bộ nhớ Python. Ở đây, có một đối tượng tên là z và nó có giá trị gán là 200. Đối tượng z sau đó được chuyển vào hàm id dưới dạng id[z] và Python cung cấp địa chỉ của đối tượng là 9795360
Các đối tượng có thể thay đổi trong Python
Trong một đối tượng có thể thay đổi, giá trị của đối tượng thay đổi trong một khoảng thời gian
Trong ví dụ này, chúng tôi đã giải thích các đối tượng có thể thay đổi trong Python và điều này sử dụng các danh sách như một ứng dụng của các đối tượng có thể thay đổi như hình bên dưới. –
Mã Python
mut_list = [1, 2, 3] print["The list in Python",mut_list] mut_list[0] = 'Gurru99' mut_list print["The list in Python after changing value",mut_list]
đầu ra
The list in Python [1, 2, 3] The list in Python after changing value ['Gurru99', 2, 3]
Như chúng ta có thể thấy trong ví dụ trên, danh sách có thể thay đổi trong Python có các giá trị là 1,2,3. Phần tử đầu tiên của danh sách có thể thay đổi được thay đổi từ 1 thành Guru99 và nó không tạo đối tượng mới khi một giá trị mới được khởi tạo
Ở đây chúng ta có thể sử dụng phương thức id để sử dụng nó. Sau đây minh họa việc sử dụng phương thức id cho các đối tượng có thể thay đổi như hình bên dưới. –
Mã Python
mut_list = [1, 2, 3] print["The list in Python",mut_list] print["the id of the list is ",id[mut_list]] mut_list[0] = 'Gurru99' mut_list print["The mut list in Python after changing value",mut_list] print["the id of the list is post change in value",id[mut_list]]
đầu ra
The list in Python [1, 2, 3] the id of the list is 139931568729600 The list in Python after changing value ['Gurru99', 2, 3] the id of the list is post change in value 139931568729600
Hình sau minh họa đối tượng có thể thay đổi trong Python như hình bên dưới. –
Đối tượng bất biến trong Python
Các đối tượng bất biến trong Python là các đối tượng trong đó các phiên bản không thay đổi trong khoảng thời gian. Các phiên bản bất biến của một loại cụ thể, sau khi được tạo, sẽ không thay đổi và điều này có thể được xác minh bằng phương thức id của Python
Hãy để chúng tôi lấy một ví dụ về các đối tượng kiểu số nguyên trong Python minh họa khái niệm về các đối tượng bất biến trong Python như hình dưới đây. –
Mã Python
________số 8đầu ra
the number before a change is 244 the id of number before change is 9796768 the number before change is 344 the id of number before change is 140032307887024
Có thể thấy ở trên có sự thay đổi trong “a. ” Hãy nghiên cứu cách thức hoạt động của cơ chế
- Không có thay đổi về giá trị của đối tượng khi khởi tạo “a” với 344
- Thay vào đó, một đối tượng mới được tạo ra và được bao bọc bởi “a. ”
- Đối tượng khác được gán là 244 sẽ không thể truy cập được nữa
- Ví dụ trên đã sử dụng một đối tượng số nguyên
Tại a=244, một đối tượng mới được tạo và tham chiếu đến “a” như hình bên dưới. –
Đăng bằng a=344, có một đối tượng mới được tham chiếu với “a”. Sơ đồ sau đây đại diện cho cùng một. –
Do đó, bất cứ khi nào có sự gán giá trị mới cho tên của kiểu int, thì có sự thay đổi trong liên kết của tên với một đối tượng khác. Nguyên tắc tương tự phù hợp với bộ dữ liệu, chuỗi, float và Boolean do đó được gọi là bất biến
Hàm ý cho các khóa từ điển trong Python
Từ điển có thể được định nghĩa là bộ sưu tập được sắp xếp lưu trữ dữ liệu ở định dạng chính và không cho phép trùng lặp. Từ điển chứa một khóa có cặp giá trị tương ứng được căn chỉnh với nó. Chúng có thể thay đổi về loại và nội dung của chúng có thể được thay đổi ngay cả sau khi khởi tạo và tạo
Tại bất kỳ thời điểm nào, khóa trỏ đến một yếu tố cụ thể tại một thời điểm. Các khóa của từ điển là bất biến
Hãy để chúng tôi lấy một kịch bản giả định như hình dưới đây. –
A following instance is an object: True Another instance for object True This is a function example and regarded as an object in Python: True0
đầu ra. – Đoạn mã Python ở trên không mang lại bất kỳ đầu ra nào và thay vào đó, nó tạo ra lỗi loại không thể xóa. Đây là một tình huống giả định và không được sử dụng trong trình biên dịch Python
Ở đây,
A following instance is an object: True Another instance for object True This is a function example and regarded as an object in Python: True4 được định nghĩa là [4,6] và trong từ điển, nó được định nghĩa là x. Ở đây,
A following instance is an object: True Another instance for object True This is a function example and regarded as an object in Python: True5 được định nghĩa là [5,6,7] và trong từ điển, nó được định nghĩa là y
- Khóa 'a' có giá trị là [4,6] và nó được khởi tạo thêm thành x
- Khóa 'b' có giá trị [5,6,7] được khởi tạo thêm thành 'y' trong từ điển
- Bây giờ, giả sử rằng giá trị của 'a' được nối với 5 và 7, đây là khóa của từ điển
- Sau đó, từ điển đã được thay đổi và nó sẽ cung cấp cả 'x' và 'y' làm giá trị cho từ điển trên
Xem xét kịch bản sau đây như minh họa ở trên. –
A following instance is an object: True Another instance for object True This is a function example and regarded as an object in Python: True1
Do đó, với tư cách là một ngôn ngữ lập trình, Python làm cho các khóa của từ điển trở nên bất biến và từ điển là các kiểu dữ liệu không thể thay đổi
Ngoại lệ trong tính bất biến
Tuy nhiên, Python cung cấp các ngoại lệ đối với tính bất biến, các ngoại lệ như vậy có thể được quan sát đối với loại đối tượng tuple. Một tuple có thể là sự kết hợp của các loại đối tượng có thể thay đổi và không thể thay đổi. Hãy để chúng tôi lấy một ví dụ để giải thích các ngoại lệ trong tính không thay đổi như hình dưới đây. –
Mã Python
A following instance is an object: True Another instance for object True This is a function example and regarded as an object in Python: True2
đầu ra
A following instance is an object: True Another instance for object True This is a function example and regarded as an object in Python: True3
Bạn có thể thấy trong đoạn mã trên, phần tử đầu tiên, là một danh sách, có thể thay đổi được, trong khi bộ dữ liệu là bất biến. Giá trị của bộ dữ liệu không thể thay đổi, nhưng nội dung của danh sách có trong bộ dữ liệu có thể thay đổi giá trị của nó
Do đó, điều này nảy sinh một ngoại lệ là các đối tượng bất biến không thay đổi giá trị của chúng, nhưng giá trị của các thành phần thay đổi giá trị của chúng