2012-11-15 44 views

Trả lời

6

True, giống như str hoặc bất kỳ nội trang dựng sẵn nào khác, chỉ là tên tồn tại trong phạm vi theo mặc định. Bạn có thể rebind nó giống như bất kỳ tên khác như vậy.

+1

Trên thực tế OP tạo '__main __. True'. '__builtin __. True' vẫn có thể truy cập – jfs

+2

' None = 42' kết quả trong một 'Cú pháp Cú pháp'. Tại sao không cùng một logic áp dụng cho tên đó? – martineau

+0

@martineau: nó được áp dụng. True/False là các từ khóa trong Python 3. btw, bạn có thể gán cho None trong Python 2.3 – jfs

2

Python thực sự có rất ít reserved words. Tất cả các phần còn lại đều phải định nghĩa lại. Đó là vào bạn phải cẩn thận!

+3

Câu hỏi là khoảng 2,7, nhưng chỉ cần nói rằng trong 3.x 'True' và' False' được bao gồm như là từ dành riêng và KHÔNG THỂ được xác định. –

+0

@Mahi, đó là tin mừng. –

2
>>> True = False 
False 

Trong bài tập ở trên, True chỉ là một biến giống như bất kỳ biến nào khác bạn sử dụng. Phạm vi của nó được giới hạn trong phạm vi hiện tại. Vì vậy, bạn có thể gán bất kỳ giá trị nào cho nó như trong ví dụ bên dưới. Lưu ý rằng so sánh 2 < 3 vẫn in True, vì bạn vẫn truy cập được builtin.

>>> True = 3 
>>> True 
3 
>>> 2 < 3 
True 
1

True = False 

bạn tạo một biến mới gọi là True, đánh giá cao bạn gán cho False.

Trả lời câu hỏi thứ hai của bạn, Đúng và Sai là các phiên bản tùy chỉnh của số nguyên 1 và 0 (về mặt kỹ thuật, các lớp con), chỉ có biểu diễn chuỗi khác nhau.

Các vấn đề liên quan