Tôi chỉ đọc về 'kết quả bất ngờ là hành' mà xảy ra vì số bộ nhớ cache Python giữa -5 và 256.Python: kết quả khác nhau khi sử dụng PyCharm và IDLE/python
này đã được thảo luận ở đây: "is" operator behaves unexpectedly with integers
và ở đây: "is" and "id" in Python 3.5
Khi tôi chạy một trong những ví dụ được đưa ở đó, tôi nhận được kết quả khác nhau giữa Python Idle và Python IDE (tôi đang sử dụng chuyên nghiệp phiên bản Jetbrains Pycharm - 5.0.4).
Khi sử dụng Python IDLE đây là kết quả:
a = 1000
b = 1000
print (a is b) # prints False
khi sử dụng Pycharm 5.0.4 đây là kết quả:
a = 1000
b = 1000
print (a is b) # prints True
thế nào điều này có thể được? Tôi đã kiểm tra lại, và Python-Interpreter của dự án của tôi là giống hệt nhau trong cả hai trường hợp (cả hai đều là Python 3.5.1). Không chắc chắn nếu đây là điều tôi đã làm sai, và tôi đã hy vọng nếu ai đó có thể giải thích điều này.
Edit:
Tôi biết 'a' là 'b' == true iff id (a) == id (b), và bạn có thể kiểm tra xem nó như một số bạn đề cập trong các ý kiến . Có lẽ tôi nên rõ ràng hơn, những gì tôi không hiểu là làm thế nào nó có thể là một IDE có hành vi khác nhau? Tôi nghĩ (và làm ơn, sửa tôi, vì có vẻ như tôi sai) rằng IDE chỉ là một môi trường thân thiện với người sử dụng các trình biên dịch/biên dịch bên ngoài, và đây là lý do tại sao chúng độc lập với các IDE đó (ví dụ, pycharm hỗ trợ không chỉ Python, và tôi có thể chạy Eclipse với trình biên dịch C, hoặc Java vv (tất cả trong số đó là không phần của IDE)
Cảm ơn, Alon
Cảm ơn! Đó là những gì đã mất tích. – Alonbs