You are on page 1of 20

Chương 2: PYTHON CƠ BẢN

2.1 Biến trong python


2.2 Toán tử (Operator)
2.3 Chuỗi kí tự (String)
2.4 List
2.5 Tuple
2.6 Set
2.7 Dictionary

1
2.3 Chuỗi kí tự (String):
 2.3.1 Giới thiệu:
 Chuỗi kí tự là kiểu dữ liệu cho phép lưu trữ giá trị dưới
dạng một dãy các kí tự.
 Trong Python, Chuỗi kí tự được xem là một tập hợp bao
gồm nhiều kí tự.
 Giá trị chuỗi kí tự sẽ được đặt trong dấu “ ” hoặc ‘ ’ hoặc
thậm chí ‘ ‘ ‘ … ‘ ‘ ‘

>>> X = “Hello”
>>> Y = ‘Hello’

01/2009 2
2.3 Chuỗi kí tự (String):
 Chuỗi đa dòng:
 Trong Python, để nhập 1 chuỗi nhiều dòng, sử dụng 3
dấu nháy kép

>>> X = “““xin chao


moi nguoi”””
 Lưu ý:
- Khi ghi giá trị chuỗi nhiều dòng, thì các dòng phải có lùi đầu
dòng giống nhau

01/2009 3
2.3 Chuỗi kí tự (String):
 Phần tử của chuỗi:
 Một chuỗi là 1 mảng kí tự. Do đó mỗi phần tử của chuỗi
chính là 1 kí tự.
 Mỗi phần tử của chuỗi được truy xuất thông qua vị trí
của phần tử trong chuỗi, sử dụng dấu [].
>>> x = “Hello”
>>> print(x[0])
• Lưu ý:
 Vị trí phần tử đầu tiên trong chuỗi luôn là 0.
 Chuỗi có thể được gán giá trị mới; tuy nhiên giá trị các phần tử
trong chuỗi thì không thể thay đổi được.

01/2009 4
2.3 Chuỗi kí tự (String):
 Phần tử của chuỗi:
 Giá trị vị trí phần tử của chuỗi có thể >0 hoặc <0.
 >0: tính từ đầu chuỗi; phần tử đầu tiên có vị trí = 0.
 <0: tính từ cuối chuỗi; phần tử cuối cùng có vị trí = -1

01/2009 5
2.3 Chuỗi kí tự (String):
 Phần tử của chuỗi:
 Trong dấu [], có thể truy xuất 1 phần của chuỗi (gồm
nhiều kí tự) bằng cách kết hợp dấu hai chấm ‘:’.
 Chuỗi truy xuất được tính từ vị trí phần tử bắt đầu đến vị
trí phần tử kết thúc.
>>> x = “Hello”
>>> print(x[0:3])
• Lưu ý:
 Giá trị phần tử kết hợp với dấu : trong [] có thể là giá trị <0. Khi
đó vị trí phần tử bắt đầu tới vị trí phần tử kết thúc được tính từ
cuối chuỗi.

01/2009 6
2.3 Chuỗi kí tự (String):
2.3.2 Nhập/Xuất giá trị :

 Nhập giá trị cho chuỗi từ bàn phím:

• Có thể sử dụng hàm input() để nhập giá trị chuỗi và gán cho một
biến nào đó.

>>> x = input()

• Lưu ý: khi nhập giá trị dùng hàm input(): giá trị nhập luôn được
xem là chuỗi ngay cả khi nhập giá trị số. Do đó, nếu muốn nhập
giá trị số, phải sử dụng hàm chuyển kiểu dữ liệu sau khi nhập.

>>> x = int(input())

01/2009 7
2.3 Chuỗi kí tự (String):

2.3.2 Nhập/Xuất giá trị :

 Xuất chuỗi ra màn hình:

• Để xuất chuỗi kí tự (hoặc giá trị số) ra màn hình, có thể sử dụng
hàm print()

>>> x = input(“Enter your string: “)


>>> print("Your string is: ", x)

- Nhập: Hello
- Hiển thị: Your string is: Hello

01/2009 8
2.3 Chuỗi kí tự (String):

2.3.2 Nhập/Xuất giá trị :

 Xuất chuỗi ra màn hình:

• Trong trường hợp muốn in nhiều giá trị, sử dụng dấu phẩy ‘,’ để
ngăn cách các giá trị trong () của hàm print.
• Khi in nhiều giá trị, 1 khoảng trắng sẽ được tự động thêm vào
giữa các giá trị khi in.

>>> print("Your number is: ", 1,2,3)

- Hiển thị: Your string is: 1 2 3

01/2009 9
2.3 Chuỗi kí tự (String):

2.3.3 Định dạng cho chuỗi:

 Định dạng vị trí cho chuỗi:

• Chuỗi trong python có thể được định dạng nhờ phương thức
format().
• Vị trí giá trị chuỗi cần được định dạng thường được đặt trong cặp
dấu {}
>>> s1 = “{} {} {}”.format(‘a’,‘b’,‘c’)
>>> print(‘s1 = ‘, s1)
>>> s2 = “{1} {0} {2}”.format(‘a’,‘b’,‘c’)
>>> print(‘s2 = ‘, s2)

Hiển thị: s1 = a b c
s2 = b a c

01/2009 10
2.3 Chuỗi kí tự (String):

2.3.3 Định dạng cho chuỗi:

 Định dạng vị trí cho chuỗi:

• Vị trí giá trị có thể là số hoặc kí tự đều được.

>>> s1 = “{x} {y} {z}”.format(x = ‘a’,y =‘b’,z =‘c’)


>>> print(‘s1 = ‘, s1)
>>> s2 = “{z} {y} {x}”. format(x = ‘a’,y =‘b’,z =‘c’)
>>> print(‘s2 = ‘, s2)

Hiển thị: s1 = a b c
s2 = c b a

01/2009 11
2.3 Chuỗi kí tự (String):

2.3.3 Định dạng cho chuỗi:

 Các kiểu định dạng:

• Có thể định dạng các kiểu giá trị số bằng cách dùng dấu : và kí
hiệu định dạng đặt trong {}.

>>> s1 = “{:b}”.format(12)
>>> print(‘s1 = ‘, s1)
>>> s2 = “{:.2f}”. format(1/3)
>>> print(‘s2 = ‘, s2)

Hiển thị: s1 = 1010


s2 = 0.33

01/2009 12
2.3 Chuỗi kí tự (String):
2.3.3 Định dạng cho chuỗi:
:< Left aligns the result (within the available space)
:> Right aligns the result (within the available space)

:^ Các kiểu
Center alignsđịnh dạng:
the result (within the available space)
:= Places the sign to the left most position
:+ Use a plus sign to indicate if the result is positive or negative
:- Use a minus sign for negative values only
: Use a space to insert an extra space before positive numbers (and a minus sign befor negative numbers)
:, Use a comma as a thousand separator
:_ Use a underscore as a thousand separator
:b Binary format
:c Converts the value into the corresponding unicode character
:d Decimal format
:e Scientific format, with a lower case e
:E Scientific format, with an upper case E
:f Fix point number format
:F Fix point number format, in uppercase format (show inf and nan as INF and NAN)
:g General format
:G General format (using a upper case E for scientific notations)
:o Octal format
:x Hex format, lower case
:X Hex format, upper case
:n Number format
:% Percentage format

01/2009 13
2.3 Chuỗi kí tự (String):

2.3.4 Hàm xử lý chuỗi :

 Trong Python, chuỗi có thể được biến đổi nhờ toán tử


hoặc các hàm hỗ trợ

Toán tử Chức năng


str1 + str2 Nối chuỗi str2 vào sau chuỗi str1
str1 = str2 Gán giá trị str2 vào str1
str1*n Lặp chuỗi n lần

str1 == str2 So sánh hai chuỗi str1 và str2 bằng nhau.


str1 != str2 So sánh hai chuỗi str1 và str2 khác nhau.
in và not in Kiểm tra giá trị có trong chuỗi hay không

01/2009 14
2.3 Chuỗi kí tự (String):

2.3.4 Hàm xử lý chuỗi :


 Các hàm(phương thức) xử lý trên chuỗi:
Hàm và mô tả
Hàm capitalize(): Viết hoa chữ cái đầu tiên của chuỗi
Hàm count(str, beg= 0,end=len(string)) Đếm xem chuỗi str này xuất hiện bao nhiêu lần trong chuỗi string hoặc chuỗi con của string ( bắt
đầu start và kết thúc end)
Hàm find(str, beg=0, end=len(string)) :Xác định xem chuỗi str có xuất hiện trong chuỗi string hoặc chuỗi con chuỗi con của string ( bắt
đầu start và kết thúc end),
Hàm isalnum() :Trả về true nếu chuỗi có ít nhất một ký tự và tất cả ký tự là chữ-số. Nếu không hàm sẽ trả về false
Hàm isalpha():Trả về true nếu chuỗi có ít nhất 1 ký tự và tất cả ký tự là chữ cái. Nếu không phương thức sẽ trả về false
Hàm isdigit():Trả về true nếu chuỗi chỉ chứa các chữ số, nếu không là false
Hàm islower():Trả về true nếu tất cả ký tự trong chuỗi là ở dạng chữ thường, nếu không là false
Hàm isnumeric():Trả về true nếu một chuỗi dạng Unicode chỉ chứa các ký tự số, nếu không là false
Hàm isspace():Trả về true nếu chuỗi chỉ chứa các ký tự khoảng trắng whitespace, nếu không là false
Hàm istitle():Trả về true nếu chuỗi là ở dạng titlecase, nếu không là false
Hàm isupper():Trả về true nếu tất cả ký tự trong chuỗi là chữ hoa
Hàm len(string):Trả về độ dài của chuỗi
Hàm lower():Chuyển đối tất cả chữ hoa trong chuỗi sang kiểu chữ thường
Hàm max(str) :Trả về ký tự chữ cái lớn nhất từ chuỗi str đã cho
Hàm min(str):Trả về ký tự chữ cái nhỏ nhất từ chuỗi str đã cho
Hàm replace(old, new [, max]):Thay thế tất cả sự xuất hiện của old trong chuỗi với new với số lần xuất hiện max (nếu cung cấp)

01/2009 15
2.3 Chuỗi kí tự (String):

2.3.4 Hàm xử lý chuỗi :


 Các phương thức xử lý trên chuỗi được sử dụng bằng
cách dùng dấu chấm và tên phương thức đặt ngay sau
tên chuỗi cần xử lý:

>>> X = “Hello”
>>> print(X.upper())
• Lưu ý:
 Tất cả các phương thức xử lý trên chuỗi đều tạo ra một chuỗi
mới chứ không làm biến đổi giá trị chuỗi ban đầu.

01/2009 16
2.3 Chuỗi kí tự (String):

2.3.4 Các bài toán trên chuỗi :

- Bài toán 1: Tìm kiếm phần tử:


• Cho trước chuỗi S, tìm vị trí của 1 phần tử hay 1 vài phần tử
trong chuỗi thỏa mãn yêu cầu tìm kiếm

01/2009 17
2.3 Chuỗi kí tự (String):

2.3.4 Các bài toán trên chuỗi :

- VD:

• Tìm vị trí các phần tử khoảng trắng trong chuỗi và in vị trí các giá
trị này ra màn hình

01/2009 18
2.3 Chuỗi kí tự (String):

2.3.4 Các bài toán trên chuỗi :

- Bài toán 2: Tạo chuỗi mới bằng cách biến đổi chuỗi
ban đầu:
• Cho trước chuỗi S, xóa hoặc chèn thêm những kí tự mới trong
chuỗi theo yêu cầu

01/2009 19
2.3 Chuỗi kí tự (String):

2.3.4 Các bài toán trên chuỗi :

- VD:
• Xóa tất cả khoảng trắng trong chuỗi

01/2009 20

You might also like