Kiểu dữ liệu bool trong Python

    0

    Trong bài học này chúng ta sẽ xem xét chí tiết cách sử dụng kiểu dữ liệu bool trong Python. Đây là một kiểu dữ liệu đơn giản nhưng rất quan trọng để chuyển sang học về các cấu trúc điều khiển (if-elif-else, while, for) trong Python.

    Kiểu bool trong Python

    Kiểu bool (Boolean) trong Python là kiểu dữ liệu trong đó chỉ có hai giá trị TrueFalse. TrueFalse là hai từ khóa trong Python.

    >>> a = True
    >>> type(a) # hàm cho biết kiểu của biến
    <class 'bool'>
    >>> b = False
    >>> type(b)
    <class 'bool'>

    Nếu bạn đã học một ngôn ngữ trong họ C cần lưu ý giá trị là True/False (T và F phải viết hoa). Viết true/false là sai và sẽ bị báo lỗi như sau:

    >>> a = true # Python sẽ hiểu true là một biến (vốn chưa tồn tại)
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
    NameError: name 'true' is not defined

    Kiểu bool là kiểu kết quả trả về của các phép so sánh trên số và chuỗi mà bạn đã học trong các bài trước:

    >>> a = 10; b = 5
    >>> a > b
    True
    >>> a <= b
    False
    >>> a != b
    True
    >>> a == b
    False
    >>> 0 < b < a < 11 # Python cho phép viết như thế này
    True
    >>> a = 'Hello'; b = 'Python'
    >>> a != b
    True
    >>> a > b
    False
    >>> a < b
    True
    >>> a == b
    False
    >>> 

    Một số phương thức của str cũng trả về giá trị bool:

    >>> my_string = "Hello World"
    >>> my_string.isalnum()		#kiểm tra xem chuỗi có chứa toàn chữ số
    False
    >>> my_string.isalpha()		# chuỗi chứa toàn chữ cái
    False
    >>> my_string.isdigit()		# chuỗi có chứa chứ số
    False
    >>> my_string.isupper()		# chuỗi chứa toàn ký tự hoa
    False
    >>> my_string.islower()		# chuỗi chứa toàn kỹ tự thường
    False
    >>> my_string.isspace()		# chuỗi chỉ chứa khoảng tráng
    False
    >>> my_string.endswith('d')		# kết thúc là d
    True
    >>> my_string.startswith('H')	# bắt đầu là H
    True

    Chuyển đổi kiểu dữ liệu về bool

    Python cho phép chuyển đổi giữa các kiểu dữ liệu khác và bool qua hàm bool() theo quy tắc sau:

    • Giá trị kiểu số (số nguyên, số thực, số phức) thành giá trị True nếu số đó khác 0, và False nếu số đó bằng 0.
    • Giá trị kiểu chuỗi thành giá trị False nếu đó là chuỗi rỗng (không có ký tự nào ”), và True nếu chuỗi có dù chỉ 1 ký tự.
    >>> zero_int = 0
    >>> bool(zero_int)
    False
    >>> pos_int = 1
    >>> bool(pos_int)
    True
    >>> neg_flt = -5.1
    >>> bool(neg_flt)
    True
    >>> ans = 'true'
    >>> bool(ans)
    True
    >>> ans = 'hello'
    >>> bool(ans)
    True
    >>> ans = '' # chuỗi rỗng (không có ký tự nào)
    >>> bool(ans)
    False
    >>> ans = ' ' # chuỗi này chứa 1 dấu cách
    >>> bool(ans)
    True

    Python cũng có thể chuyển đổi giá trị của các kiểu khác về bool. Ví dụ danh sách rỗng -> False, danh sách có phần tử -> True. Chúng ta sẽ học về các kiểu dữ liệu này sau.

    Các phép toán trên kiểu bool

    Các phép toán trên kiểu bool, còn được gọi là số học Boolean, là các phép toán logic chỉ trả về kết quả True hoặc False. Các phép toán thông dụng nhất bao gồm and, or, not, ==!=.

    >>> A = True
    >>> B = False
    >>> A or B
    True
    >>> A and B
    False
    >>> not A
    False
    >>> not B
    True
    >>> A == B
    False
    >>> A != B
    True
    ABnot Anot BA == BA =! BA or BA and B
    TFFTFTTF
    FTTFFTTF
    TTFFTFTT
    FFTTTFF
    Bảng chân trị của các phép toán logic Boolean

    Bạn có thể ghép các phép toán trên để tạo thành biểu thức phức tạp hơn như sau:

    >>> A = True
    >>> B = False
    >>> C = False
    >>> A or (C and B)
    True
    >>> (A and B) or C
    False

    Kết luận

    Trong bài học này chúng ta đã xem xét chí tiết cách sử dụng kiểu dữ liệu bool trong Python. Đây là một kiểu dữ liệu đơn giản nhưng rất quan trọng để chuyển sang học về các cấu trúc điều khiển (if-elif-else, while, for) trong Python.

    + Nếu bạn thấy site hữu ích, trước khi rời đi hãy giúp đỡ site bằng một hành động nhỏ để site có thể phát triển và phục vụ bạn tốt hơn.
    + Nếu bạn thấy bài viết hữu ích, hãy giúp chia sẻ tới mọi người.
    + Nếu có thắc mắc hoặc cần trao đổi thêm, mời bạn viết trong phần thảo luận cuối trang.
    Cảm ơn bạn!

    Theo dõi
    Thông báo của
    guest

    0 Thảo luận
    Phản hồi nội tuyến
    Xem tất cả bình luận