Đây là cho Python 2.6.Đây có phải là lỗi không? Các biến là các tham chiếu giống nhau đến cùng một chuỗi trong ví dụ này (Python)
tôi không thể tìm ra lý do tại sao a và b là giống hệt nhau:
>>> a = "some_string"
>>> b = "some_string"
>>> a is b
True
Nhưng nếu có một không gian trong chuỗi, họ không:
>>> a = "some string"
>>> b = "some string"
>>> a is b
False
Nếu đây là hành vi bình thường, ai đó có thể vui lòng giải thích những gì đang xảy ra.
Chỉnh sửa: Từ chối trách nhiệm! Điều này không được sử dụng để kiểm tra sự bình đẳng. Tôi thực sự muốn giải thích cho người khác rằng "là" chỉ để kiểm tra danh tính, không bình đẳng. Và từ tài liệu tôi đã hiểu rằng các tham chiếu được tạo theo cách này sẽ khác nhau, rằng một chuỗi mới sẽ được tạo ra mỗi lần. Ví dụ đầu tiên tôi đã ném tôi ra khi tôi không thể chứng minh quan điểm của riêng tôi!
Edit: tôi hiểu rằng đây là không một lỗi, và thực tập là một khái niệm mới đối với tôi. This có vẻ là một lời giải thích tốt.
xem http: // stackoverflow.com/questions/306313/python-is-operator-behaves-bất ngờ-với-số nguyên – cobbal
"Lỗi?" Câu hỏi thực sự làm tôi khó chịu .. nhưng tôi đoán đó không phải là lý do để đánh dấu một câu hỏi ... phải không? – MattH
@cobbal: Điều này hơi khác so với những gì đang diễn ra ở đây. –