Page 136 - Em Học Python
P. 136
>>> print(bool('What do you call a pig doing karate? Pork Chop!'))
True
Hàm bool cũng trả về False nếu mảng, tuple và map bị rỗng, ngược lại thì là True:
>>> my_silly_list = []
>>> print(bool(my_silly_list))
False
>>> my_silly_list = ['s', 'i', 'l', 'l', 'y']
>>> print(bool(my_silly_list))
True
bool có thể được dùng để kiểm tra xem một biến nào đó có giá trị hay không. Giả sử
nếu ta yêu cầu ai đó nhập năm sinh vào chương trình, lệnh if có thể dùng hàm bool để
kiểm tra giá trị đầu vào:
>>> year = input('Year of birth: ')
Year of birth:
>>> if not bool(year.rstrip()):
print('You need to enter a value for your year of birth')
You need to enter a value for your year of birth
Trong ví dụ trên, dòng đầu sử dụng input để ghi lại thông tin người dùng nhập từ
bàn phím vào biến year. Nhấn ENTER luôn ở dòng thứ hai (mà không điền năm sinh gì
hết), chương trình sẽ ghi nhận việc phím ENTER này vào biến. (Ở Chương 7 ta sử dụng
sys.stdin.readline(), đây chỉ là một cách làm khác thôi, kết quả đều giống nhau.)
Dòng tiếp theo, lệnh if kiểm tra giá trị Boolean của
biến sử dụng hàm rstrip (hàm này sẽ xóa các khoảng trắng
và các lần nhấn ENTER của chuỗi từ phải sang trái). Lúc này
do không thực sự điền gì lúc nãy, nên bool trả về False. Tuy
nhiên lệnh if lúc này lại sử dụng từ khóa not, cho nên ý nó
thực sự lại là, “nếu kết quả trả về không phải là True thì làm
việc này này” nên code mới in ra You need to enter a
value for your year of birth ở dòng cuối.
110 Chương 9