Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào chúng ta có thể thay đổi id của một chuỗi bất biến trong Python?

Các chuỗi trong Python là bất biến, điều đó có nghĩa là một khi một chuỗi được tạo, nó sẽ không thể thay đổi được. Khi bạn tạo một chuỗi, và nếu bạn tạo cùng một chuỗi và gán nó cho một biến khác, cả hai đều sẽ trỏ đến cùng một chuỗi / bộ nhớ. Ví dụ:

>>> a = 'hi'
>>> b = 'hi'
>>> id(a)
43706848L
>>> id(b)
43706848L

Việc sử dụng lại các đối tượng chuỗi này được gọi là interning trong Python. Các chuỗi giống nhau có cùng id. Nhưng Python không được đảm bảo để thực hiện các chuỗi. Nếu bạn tạo các chuỗi không phải là hằng số đối tượng mã hoặc chứa các ký tự nằm ngoài phạm vi chữ cái + số + dấu gạch dưới, bạn sẽ thấy giá trị id () không được sử dụng lại.

Chúng tôi thay đổi id của chuỗi đã cho như sau. Chúng tôi gán nó cho hai số nhận dạng khác nhau. Id của các biến này khi được tìm thấy là khác nhau. Điều này là do chuỗi đã cho chứa các ký tự không phải bảng chữ cái, chữ số và dấu gạch dưới.

>>> a = 'weworks_45#@$'
>>> b = 'weworks_45#@$'
>>> id(a)
96226208L
>>> id(b)
91720800L