Sử Dụng Kiểu Dữ Liệu String Trong Python - Góc Học IT
Có thể bạn quan tâm
1. Tạo String trong Python
Một String là một chuỗi các ký tự (character). Một ký tự chỉ đơn giản là một biểu tượng (symbol) được vẽ trên màn hình bằng các pixel. Các ký tự hiển thị trên màn hình được lưu trữ bởi các số nhị phân 0 và 1.
Quá trình chuyển đổi ký tự thành số nhị phân được gọi là mã hóa. Và quá trình ngược lại gọi là giải mã. ASCII và Unicode là một số bảng mã phổ biến được sử dụng.
Trong Python, một String là một chuỗi các ký tự Unicode. Bảng mã Unicode có khả năng mã hóa và giải mã mọi ký tự trong tất cả các ngôn ngữ, các ký tự đặc biệt,…
Tạo String trong Python
String trong Python có thể được tạo bằng cách sử dụng dấu ngoặc đơn, dấu ngoặc kép và thậm chí sử dụng ba dấu nháy (triple quote).# Creating a String with single Quotes my_string = 'Gochocit.com' print(my_string) # Creating a String with double Quotes my_string = "Gochocit.com" print(my_string) # Creating a String with triple Quotes my_string = '''Gochocit.com''' print(my_string) # Creating a String with triple Quotes my_string = """Hello, welcome to Gochocit.com!""" print(my_string) # Creating String with triple Quotes allows multiple lines my_string = '''Hello, This is Gochocit.com''' print(my_string)
Kết quả
Gochocit.com Gochocit.com Gochocit.com Hello, welcome to Gochocit.com! Hello, This is Gochocit.comBiến (variable) tham chiếu đến String
Chúng ta có thể gán một String cho một biến bằng toán tử gán (=). Lúc này, biến đó sẽ tham chiếu đến một đối tượng của lớp str. Ví dụ:website = "Gochocit.com" print(website) print(type(website))
Kết quả
Gochocit.com <class 'str'>2. Truy cập các ký tự của String trong Python
Chúng ta có thể truy cập từng ký tự trong String bằng index của chúng. Index của một String bắt đầu đầu bằng 0, phải là một số nguyên. Python cho phép index của String là số nguyên âm. Index bằng -1 là vị trí của ký tự cuối cùng bên phải trong String.website = 'gochocit.com' print('website = ', website) #first character print('website[0] = ', website[0]) #character at index 5 print('website[5] = ', website[5]) #last character print('website[-1] = ', website[-1]) #character at index -5 print('website[-5] = ', website[-5])
Kết quả
website = gochocit.com website[0] = g website[5] = c website[-1] = m website[-5] = tChúng ta có thể truy xuất một số ký tự liền kề bằng cách sử dụng toán tử slicing :.website = 'gochocit.com' print('website = ', website) #slicing 2nd to 5th character print('website[1:5] = ', website[1:5]) #slicing 6th to 2nd last character print('website[5:-2] = ', website[5:-2])
Kết quả
website = gochocit.com website[1:5] = ocho website[5:-2] = cit.cKhi truy cập một ký tự với index không thuộc khoảng index trong String sẽ gây ra lỗi IndexError. Nếu index không phải là kiểu integer thì sẽ gây ra lỗi TypeError.website = 'gochocit.com' print('website = ', website) # index must be in range # IndexError: string index out of range print('website[50] = ', website[50]) # index must be an integer # TypeError: string indices must be integers print('website[1.5] = ', website[1.5])
3. Các thao tác trên String trong Python
3.1. Thay đổi hoặc xóa một String
Trong Python, String có giá trị bất biến. Có nghĩa là các ký tự trong Strirng không thể thay đổi. Vì thế, String cũng không thể thay đổi. Nếu cố thay đổi sẽ gây ra lỗi TypeError.website = 'gochocit.com' website[1] = 'a'
Kết quả
TypeError: 'str' object does not support item assignmentNếu muốn có một String khác thì chúng ta chỉ đơn giản là gán String đó cho biến.website = 'gochocit.com' print(website) website = "lhvinhckc.info" print(website)
Kết quả
gochocit.com lhvinhckc.infoChúng ta không thể xóa một ký tự trong String nhưng có thể sử dụng từ khóa del để xóa một String.website = 'gochocit.com' #TypeError: 'str' object doesn't support item deletion del website[1] del website #NameError: name 'website' is not defined print(website)
3.2. Các toán tử trên String
Toán tử nối 2 hoặc nhiều String
Toán tử + giúp nối các chuỗi lại với nhau. Toán tử * giúp lặp lại một chuỗi với một số lần cho trước.# Python String Operations str1 = 'Hello, ' str2 ='Welcome to ' str3 ='Gochocit.com!' # using + print('str1 + str2 + str3 = ', str1 + str2 + str3) # using * print('str3 * 3 =', str3 * 3)
Kết quả
str1 + str2 + str3 = Hello, Welcome to Gochocit.com! str3 * 3 = Gochocit.com!Gochocit.com!Gochocit.com!3.3. Duyệt qua từng ký tự trong String
Chúng ta có thể duyệt qua từng ký tự trong một chuỗi bằng vòng lặp for. Bên dưới là một ví dụ để đếm số lượng ký tự ‘c’ trong một chuỗi.# Iterating through a string count = 0 for letter in 'Gochocit.com': if(letter == 'c'): count += 1 print(count,'letters found')
Kết quả
3 letters found3.4. Kiểm tra một String có thuộc một String khác không?
Sử dụng từ khóa in hoặc not in để kiểm tra một String có thuộc một String khác không?website = 'gochocit.com' #True print("it" in website) #False print("ckc" in website) #True print("itckc" not in website) #False print("com" not in website)
3.5. Định dạng (format) String trong Python
Python cho phép chúng ta định dạng String bằng cách sử dụng hàm format(). Hàm format() sử dụng dấu ngoặc nhọn {} để giữ chổ trong String cho các đối số của hàm format().# Default order String1 = "{} {} {}".format('Goc', 'hoc', 'it') print("Print String in default order: ") print(String1) # Positional Formatting String1 = "{1} {0} {2}".format('Goc', 'hoc', 'it') print("Print String in Positional order: ") print(String1) # Keyword Formatting String1 = "{l} {h} {g}".format(g='Goc', h='hoc', l='it') print("Print String in order of Keywords: ") print(String1)
Kết quả
Goc hoc it Print String in Positional order: hoc Goc it Print String in order of Keywords: it hoc GocChúng ta có thể định dạng các số integer và float với các ký hiệu format đặc biệt. Ví dụ:# Formatting of Integers String1 = "{0:b}".format(16) print("Binary representation of 16 is ") print(String1) # Formatting of Floats String1 = "{0:e}".format(165.6458) print("Exponent representation of 165.6458 is ") print(String1) # Rounding off Integers String1 = "{0:.2f}".format(1/6) print("one-sixth is : ") print(String1)
Kết quả
Binary representation of 16 is 10000 Exponent representation of 165.6458 is 1.656458e+02 one-sixth is : 0.17Nếu không sử dụng hàm format(), chúng ta có thể sử dụng kiểu định dạng với toán tử %. Ví dụ:num1 = 12.3456789 print("Formatting in 3.2f format: ") print('The value of num1 is %3.2f' % num1) print("Formatting in 3.4f format: ") print('The value of num1 is %3.4f' % num1)
Kết quả
Formatting in 3.2f format: The value of num1 is 12.35 Formatting in 3.4f format: The value of num1 is 12.34573.6. Ký tự escape trong Python
Khi print các chuỗi có đấu nháy đơn hoặc nháy kép hoặc một ký tự không hợp lệ nào đó thì sẽ gây ra lỗi. Ví dụ:#SyntaxError: unterminated string literal print("He said, "What's there?"") txt = "We are the so-called "Vikings" from the north." # SyntaxError: invalid syntax print(txt) #SyntaxError: unterminated string literal print("C:\Python\")
Chúng ta giải quyết những trường hợp này bằng cách sử dụng ký tự escape \. Ngoài ra, chúng ta có thể bỏ qua ký tự escape bằng cách đặt r hoặc R trước String.my_string = 'I\'m a "man"' print("Escaping Single Quote: ") print(my_string) my_string = "I'm a \"man\"" print("Escaping Double Quotes: ") print(my_string) my_path = "C:\\Python\\Geeks\\" print("Escaping Backslashes: ") print(my_path) print("This is \x48\x45\x58 representation") #ignore escape character print(r"This is \x48\x45\x58 representation")
Kết quả
Escaping Single Quote: I'm a "man" Escaping Double Quotes: I'm a "man" Escaping Backslashes: C:\Python\Geeks\ This is HEX representation This is \x48\x45\x58 representationCác bạn có thể xem tất cả các ký tự escape tại đây.
- Chuyển đổi (convert) dữ liệu XML sang dữ liệu JSON trong Python
- Kết nối hệ quản trị cơ sở dữ liệu Oracle với Java
- Giới thiệu môn học Ngôn ngữ lập trình Java
- Toán tử số học và toán tử quan hệ trong C++
- Cú pháp và cách sử dụng vòng lặp while trong C++
3.7. Một số hàm thường sử dụng khi thao tác với String trong Python
Hàm | Chức năng |
enumerate() | Trả về một đối tượng bao gồm tất cả index và ký tự tương ứng trong String |
len() | Trả về số ký tự có trong String |
lower() | Chuyển các ký tự trong String thành ký tự thường |
upper() | Chuyển các ký tự trong String thành ký tự hoa |
join() | Nối các String lại với nhau |
split() | Trả về một danh sách chứa các từ (word) trong String |
find() | Trả về vị trí đầu tiên của một String được tìm thấy trong một String khác |
replace() | Thay thế một String con bằng một String khác trong String cha. Rồi trả về String mới nhận được. |
Kết quả
list(enumerate(website) = [(0, 'W'), (1, 'e'), (2, 'l'), (3, 'c'), (4, 'o'), (5, 'm'), (6, 'e'), (7, ' '), (8, 't'), (9, 'o'), (10, ' '), (11, 'G'), (12, 'o'), (13, 'c'), (14, 'h'), (15, 'o'), (16, 'c'), (17, 'i'), (18, 't'), (19, '.'), (20, 'c'), (21, 'o'), (22, 'm')] len(website) = 23 welcome to gochocit.com WELCOME TO GOCHOCIT.COM ['Welcome', 'to', 'Gochocit.com'] How Welcome to Gochocit.com are Welcome to Gochocit.com you? 17 Welcome to lhvinhckc.info 5/5 - (25 bình chọn)Bài trước và bài sau trong môn học<< Sử dụng module và package trong PythonCấu trúc dữ liệu List trong Python >>Từ khóa » Thư Viện String Trong Python
-
Hướng Dẫn Và Ví Dụ String Trong Python - Openplanning
-
Tìm Thư Viện Xử Lý String Trong Python - Programming - Dạy Nhau Học
-
Tìm Hiểu Về String Trong Python Từ A-Z - T3H
-
Chuỗi (String) Trong Python - Học Lập Trình Python - Viettuts
-
[Python] Phần 6: Kiểu Dữ Liệu Chuỗi Trong Python | DAMMIO
-
Hướng Dẫn Thao Tác Với String Trong Python - NIIT - ICT Hà Nội
-
String Trong Python - Phan Nhật Chánh
-
Kiểu Dữ Liệu Chuỗi Và định Dạng Chuỗi Trong Python | TopDev
-
Làm Việc Với String Trong Python - Viblo
-
Bài 13: Hàm String - Numpy Trong Python - VnCoder
-
Kiểu Dữ Liệu Trong Python: Chuỗi, Số, List, Tuple, Set Và Dictionary
-
Hàm Str() Trong Python
-
Tìm Thư Viện Xử Lý String Trong Python
-
Kiểu Dữ Liệu String Trong Python - Freetuts