Hướng dẫn và ví dụ String trong Python

1- Python String

Chuỗi (string) là một kiểu (type) thông dụng nhất trong Python, và bạn thường xuyên phải làm việc với chúng. Chú ý rằng trong Python không có kiểu ký tự (character), ký tự đơn giản được coi là một string có độ dài 1.

Có 2 cách để khai báo một string viết trên 1 dòng ( line ), đó là sử dụng dấu nháy đơn hoặc dấu nháy kép .

str1 = "Hello Python"str2 = 'Hello Python'str3 = "I'm from Vietnam"str4 = 'This is a "Cat"! '

Nếu bạn muốn viết string trên nhiều dòng, sử dụng cặp 3 dấu nháy đơn.

str = """Hello World     Hello Python"""

2- Truy cập các giá trị trong string

Python không hỗ trợ kiểu ký tự (Character type), ký tự được coi là một string với độ dài 1. Các ký tự trong string được đánh chỉ số bắt đầu từ 0. Bạn có thể truy cập vào các chuỗi con (substring) thông qua chỉ số.


stringExample. py

mystr = "This is text"# --> hprint ("mystr[1] = ", mystr[1])# --> is is tprint ("mystr[2,9] = ", mystr[2:9])# --> s is textprint ("mystr[3:] = ", mystr[3:])

3- String là bất biến (immuable)

String là kiểu dữ liệu đặc biệt trong Python, và nó là bất biến (immuable). Mỗi string được có một địa chỉ lưu trữ trên bộ nhớ (memory). Tất cả các thao tác với string đều tạo ra một đối tượng khác. Chẳng hạn như việc bạn muốn nối (concatenate) một string vào một string khác, hành động này tạo ra một string khác trên bộ nhớ.


Toán tử = = và is

Python sử dụng toán tử == để so sánh giá trị của 2 đối tượng. Và sử dụng toán tử “is” để so sánh vị trí trên bộ nhớ (Memory).

compareObject. py

class Person(object):    def __init__(self, name, age):        self.name = name        self.age = age    # Ghi đè phương thức __eq__    def __eq__(self, other):        return self.name == other.name and self.age == other.agejack1 = Person('Jack', 23)jack2 = Person('Jack', 23)# Gọi tới phương thức __eq__print ("jack1 == jack2 ?", jack1 == jack2) # Trueprint ("jack1 is jack2 ?", jack1 is jack2) # False

Xem thêm:

  • TODO Link ?

String là kiểu dữ liệu đặc biệt và sử dụng thường xuyên trong ứng dụng Python. Và vì vậy nó có một số đặc điểm sau:

  • Nếu bạn khai báo 2 biến kiểu string có giá trị như nhau, chúng sẽ cùng trỏ đến một string thực sự trên bộ nhớ (memory).


Các toán tử với string sẽ tạo ra string mới trên bộ nhớ ( memory ) .

compareString. py

str1 = "Hello Python"str2 = "Hello Python"str3 = "Hello " + "Python"print ("str1 == str2? ", str1 == str2) # --> True print ("str1 is str2? ", str1 is str2) # --> True  print ("str1 == str3? ", str1  == str3) # --> True print ("str1 is str3? ", str1 is str3) # --> False

4- Các ký tự thoát (Escape Characters)

Các ký tự thoát (Escape characters) là các ký tự đặc biệt trong Python. Nó là các ký tự không thể in ấn (non-printable). Tuy nhiên bạn muốn nó xuất hiện trong string của bạn. Bạn cần một ký hiệu để thông báo với Python. Chẳng hạn “\n” là ký tự xuống dòng (newline).

escapeCharacterExample. py

# Hai ký tự TAB ngăn cách giữa "Hello World" và "Hello Python".mystr = "Hello World\t\tHello Python" print (mystr) # Hai ký tự xuống dòng ngăn cách giữa "Hello World" và "Hello Python".mystr = "Hello World\n\nHello Python" print (mystr)

Output :

Hello World       Hello PythonHello WorldHello Python
Ký hiệu với dấu xoẹtMã trong hệ cơ số 16Mô tả
\a0x07Bell or alert
\b0x08Backspace
\cx Control-x
\C-x Control-x
\e0x1bEscape
\f0x0cFormfeed
\M-\C-x Meta-Control-x
\n0x0aNewline
\nnn Octal notation, where n is in the range 0.7
\r0x0dCarriage return
\s0x20Space
\t0x09Tab
\v0x0bVertical tab
\x Character x
\xnn Hexadecimal notation, where n is in the range 0.9, a.f, or A.F

5- Các toán tử cho string

Trong Python, có một số toán tử đặc biệt dưới đây:

Toán tửMô tảVí dụ
+Nối (concatenate) 2 string, tạo thành một string mới.“Hello” +”Python” ==> “Hello Python”
*Tạo một string mới bằng cách nối (concatenate) nhiều lần bản copy của cùng môt string.“Hello”*2 ==> “HelloHello”
[]Trả về ký tự tại vị trí cho bởi chỉ số.a = “Hello”
a[1] ==> “e”
[ : ]Trả về một chuỗi con chứa các ký tự cho bởi phạm vi (range)a = “Hello”
a[1:4] ==> “ell”
a[1: ] ==> “ello”
inTrả về True nếu ký tự tồn tại trong string đã cho.a = “Hello”
‘H’ in a ==> True
not inTrả về True nếu ký tự không tồn tại trong string đã cho.a = “Hello”
‘M’ not in a ==> True
r/RChuỗi thô (Raw String) – Ngăn chặn ý nghĩa thực tế của các ký tự thoát (Escape character). Cú pháp cho chuỗi thô giống hệt với chuỗi thông thường ngoại trừ “toán tử chuỗi thô”, chữ “r” đứng trước dấu ngoặc kép. “R” có thể là chữ thường (r) hoặc chữ hoa (R) và phải được đặt ngay trước dấu trích dẫn đầu tiên.print (r’\n\t’) ==> \n\t
print (R’\n\t’) ==> \n\t
%Định dạng stringXem tại phần dưới.

6- Các phương thức

  • TODO

Source: https://mix166.vn
Category: Thủ Thuật

Xổ số miền Bắc