Boolean là một khái niệm quan trọng trong lập trình. Trong bài viết này, hãy cùng Mytour tìm hiểu cách sử dụng Boolean để xử lý chuỗi trong Python nhé!
Một chuỗi trong Python là một chuỗi các ký tự. Bạn có thể thực hiện nhiều hành động khác nhau trên chuỗi bằng cách sử dụng một nhóm các phương pháp có sẵn. Các kiểu boolean của chuỗi là một phần của các phương pháp đó, được sử dụng để kiểm tra xem chuỗi có tuân thủ các quy tắc không.
Bây giờ hãy cùng tìm hiểu cách sử dụng một số phương pháp Boolean trong Python 3 để xử lý chuỗi hiệu quả hơn.
Xác định chuỗi bằng Boolean trong Python
- Cách kiểm tra một chuỗi chỉ chứa các ký tự chữ và số
- Cách kiểm tra mỗi chuỗi chỉ chứa các ký tự bằng chữ
- Cách kiểm tra toàn bộ ký tự trong chuỗi là số thập phân, chữ số hay số
- Cách kiểm tra xem một chuỗi có phải là ký hiệu nhận dạng hợp lệ
Kiểm tra một chuỗi chỉ chứa các ký tự chữ và số
Bạn có thể kiểm tra chuỗi được đưa ra chỉ chứa các ký tự chữ và số hay không bằng phương pháp isalnum().
Phương thức này trả về Đúng nếu tất cả các ký tự trong chuỗi đều là chữ cái và số, bao gồm (A-Z), (a-z) và (0-9). Nếu có bất kỳ ký tự nào trong chuỗi không phải là ký tự trên, phương thức sẽ trả về Sai.
Ví dụ:
str1 = 'WelcomeToMUO'
# Phương thức này sẽ trả về 'Đúng' vì tất cả các ký tự đều là chữ cái và số
checkstr1 = str1.isalnum()
print(checkstr1)
str2 = 'Welcome To MUO'
# Phương thức này sẽ trả về 'Sai' vì chuỗi có 2 dấu cách không phải là chữ cái và số
checkstr2 = str2.isalnum()
print(checkstr2)
str3 = '#WelcomeToMUO'
# Phương thức này sẽ trả về 'Sai' vì chuỗi có ký tự đặc biệt '#' không phải là chữ cái và số
checkstr3 = str3.isalnum()
print(checkstr3)
str4 = '274962472'
# Phương thức này sẽ trả về 'Đúng' vì tất cả các ký tự đều là chữ cái và số
checkstr4 = str4.isalnum()
print(checkstr4)
str5 = 'Welcome2MUO'
# Phương thức này sẽ trả về 'Đúng' vì tất cả các ký tự đều là chữ cái và số
checkstr5 = str5.isalnum()
print(checkstr5)
Kết quả:
Đúng
Sai
Sai
Đúng
Đúng
Kiểm tra xem mỗi chuỗi chỉ chứa các ký tự là chữ cái
Bạn có thể kiểm tra xem chuỗi đưa ra chỉ chứa chữ cái hay không bằng phương pháp isalpha(). Phương thức này trả về Đúng nếu tất cả các ký tự đều là chữ cái từ A-Z và a-z. Nếu có bất kỳ ký tự nào trong chuỗi không phải là chữ cái, phương pháp này sẽ trả về Sai.
Ví dụ:
str1 = 'WelcomeToMUO'
# Phương thức này sẽ trả về 'Đúng' vì tất cả các ký tự đều là chữ cái
checkstr1 = str1.isalpha()
print(checkstr1
)
str2 = 'Welcome To MUO'
# Phương thức này sẽ trả về 'Sai' vì chuỗi có 2 dấu cách không phải là chữ cái
checkstr2 = str2.isalpha()
print(checkstr2)
str3 = '#WelcomeToMUO'
# Phương thức này sẽ trả về 'Sai' vì chuỗi có ký tự đặc biệt '#' không phải là chữ cái
checkstr3 = str3.isalpha()
print(checkstr3)
str4 = '274962472'
# Phương thức này sẽ trả về 'Sai' vì tất cả các ký tự không phải là chữ cái
checkstr4 = str4.isalpha()
print(checkstr4)
str5 = 'Welcome2MUO'
# Phương thức này sẽ trả về 'Sai' vì chuỗi có chứa chữ số '2' không phải là chữ cái
checkstr5 = str5.isalpha()
print(checkstr5)
Kết quả:
Đúng Sai Sai Sai Sai
Cách kiểm tra toàn bộ ký tự trong chuỗi là số thập phân, chữ số hoặc số
Bạn có thể kiểm tra xem chuỗi được cung cấp chỉ chứa ký tự thập phân, số hoặc chữ số không bằng các phương pháp isdecimal(), isdigit() và isnumeric() tương ứng. Tất cả ba phương pháp này tương tự nhau nhưng chúng có những điểm khác biệt chính sau:
- isdecimal(): Các ký tự thập phân có thể được sử dụng để tạo thành số theo cơ số 10, ví dụ: U+0660, CHỮ SỐ Ả RẬP - SỐ KHÔNG. Hình thức, một ký tự thập phân là ký tự theo loại chung Unicode “Nd”.
- isdigit(): Chữ số bao gồm các ký tự thập phân và cần phải được xử lý đặc biệt, ví dụ như các chỉ số trên khả năng tương thích. Điều này bao gồm các chữ số không thể sử dụng để tạo thành số trong cơ số 10, như số Kharosthi. Hình thức, một chữ số là ký tự có giá trị thuộc tính Numeric_Type=Digit hoặc Numeric_Type=Decimal.
- isnumeric(): Các ký tự số bao gồm cả các ký tự chữ số và tất cả các ký tự có thuộc tính giá trị số Unicode, ví dụ: U+2155, SỐ PHÂN SỐ VULGAR MỘT PHẦN NĂM. Hình thức, các ký tự số là các ký tự có giá trị thuộc tính Numeric_Type = Digit, Numeric_Type = Decimal hoặc Numeric_Type = Numeric.
Theo định nghĩa, mối quan hệ giữa 3 phương pháp này có thể được trình bày như sau:
isdecimal() ⊆ isdigit() ⊆ isnumeric()
Điều này có nghĩa, nếu một chuỗi là số thập phân thì nó cũng có thể là số và chữ số.
Ví dụ:
# Chữ số str1 = '8734947' print('str1:') print('str1.isdecimal() : ',str1.isdecimal()) print('str1.isdigit() : ',str1.isdigit()) print('str1.isnumeric() : ',str1.isnumeric()) # Giá trị phân số str2 = '½' print('str2:') print('str2.isdecimal() : ',str2.isdecimal()) print('str2.isdigit() : ',str2.isdigit()) print('str2.isnumeric() : ',str2.isnumeric()) # Giá trị mũ str3 = '⁰¹²³⁴⁵⁶⁷⁸⁹' print('str3:') print('str3.isdecimal() : ',str3.isdecimal()) print('str3.isdigit() : ',str3.isdigit()) print('str3.isnumeric() : ',str3.isnumeric())
Kết quả:
str1: str1.isdecimal() : True str1.isdigit() : True str1.isnumeric() : True str2: str2.isdecimal() : False str2.isdigit() : False str2.isnumeric() : True str3: str3.isdecimal() : False str3.isdigit() : True str3.isnumeric() : True
Cách kiểm tra xem một chuỗi có phải là ký hiệu nhận dạng hợp lệ
Bạn có thể kiểm tra xem chuỗi được đưa ra có phải là một ký hiệu nhận dạng hợp lệ hay không bằng phương pháp isidentifier(). Phương pháp này trả về True nếu chuỗi đó là một ký hiệu nhận dạng hợp lệ. Nếu không, nó sẽ trả về False.
Mỗi chuỗi được xem là ký hiệu nhận dạng hợp lệ nếu thỏa mãn các điều kiện sau:
- Nó chỉ chứa các ký tự chữ & số hoặc dấu gạch dưới.
- Nó không bắt đầu bằng một ký tự số.
- Nó không chứa khoảng trắng.
Ví dụ:
True False False False False
True False False True False
True False False True False
Các chuỗi (string) cực kỳ hữu ích trong việc truyền tải thông tin từ chương trình tới người dùng. Sử dụng xác thực boolean không phải cách duy nhất để xử lý các chuỗi Python nhưng nó cực kỳ hiệu quả và khá dễ dùng với người mới bắt đầu.