Download as pdf or txt
Download as pdf or txt
You are on page 1of 84

NGUYỄN HỮU HƯNG GIẢI TÍCH I

19/01/2000 GIẢI TÍCH III


ĐIỆN TỬ 08 – K63 TIN HỌC ĐẠI CƯƠNG
KTLT C/C++
LẬP TRÌNH PYTHON

TỔNG QUAN VỀ NGÔN NGỮ PYTHON

CÁC KIỂU DỮ LIỆU CHUẨN TRONG PYTHON

CÁC TOÁN TỬ CƠ BẢN

CÁC CẤU TRÚC LẬP TRÌNH

HÀM PYTHON
TỔNG QUAN VỀ NGÔN NGỮ PYTHON

LỊCH SỬ PHÁT TRIỂN

CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

CÀI ĐẶT IDE


LỊCH SỬ PHÁT TRIỂN

Python là ngôn ngữ lập trình hướng đối tượng, bậc cao, mạnh mẽ.

Được phát triển cuối thập kỷ 80 và đầu thập kỷ 90 tại Viện Toán Tin, Hà Lan.

Python là một trong những ngôn ngữ phổ biến nhất thế giới.

Python kế thừa từ nhiều ngôn ngữ như ABC, Module-3, C, C++, Unix Shell,…
LỊCH SỬ PHÁT TRIỂN

Python có cú pháp rất đơn giản, rõ ràng.

Python có một thư viện chuẩn khá rộng lớn, dễ dàng tương thích và tích hợp với
Windows, macOS, Linux.

Python hỗ trợ lập trình GUI, có thể tích hợp với các ngôn ngữ lập trình khác.

Python được dùng trong nhiều lĩnh vực như lập trình web, data analysis, xử lý
ảnh, lập trình game, bảo mật mạng và máy tính, …
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Từ khóa
Từ khóa là những từ dành riêng đặc biệt có ý nghĩa và mục đích cụ thể và không
thể được sử dụng cho bất kỳ mục đích nào ngoài những mục đích cụ thể đó.

Ta có thể lấy danh sách các từ khóa có sẵn bằng cách sử dụng help( ).
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Từ khóa
Dưới đây là các từ khóa có trong Python 3.8.
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Định danh
Một định danh (identifier) trong Python là một tên được sử dụng để nhận diện
một biến, một hàm, một lớp, hoặc một đối tượng.

Định danh có thể được đặt sẵn bởi ngôn ngữ lập trình (đó chính là các từ khóa)
hoặc do người lập trình đặt.

Đặt tên định danh trong Python cần tuân thủ các quy tắc.
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Định danh
Các quy tắc đặt tên cho định danh:

Định danh chỉ được sử dụng các chữ cái, chữ số và dấu gạch dưới “_”.

Bắt đầu bằng chữ cái hoặc dấu gạch dưới, không được bắt đầu bằng chữ số.

Định danh do người lập trình đặt không được trùng từ khóa.

Định danh không cho phép chứa các kí tự @, $, %.

Độ dài định danh không giới hạn.


CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Định danh

Định danh hợp lệ Định danh không hợp lệ

nguyenhuuhung 1901hung
nguyen_huu_hung 1_a (kí tự đầu là số)
_nguyenhuuhung huu hung (chứa dấu cách)
hung19012000 $a (kí tự đầu không hợp lệ)
_if if (trùng từ khóa)
_19012000 a.b (chứa dấu .)
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Định danh
Một số lưu ý khi định danh:

Đặt định danh dễ hiểu, nên tách các từ bằng dấu gạch dưới “_” (sinh_vien).

Đặt tên liên quan đến đối tượng cần lập trình.

Python phân biệt chữ cái thường và chữ cái hoa (Sinh_vien khác sinh_vien).

Tên lớp bắt đầu với một chữ cái hoa, các định danh khác bắt đầu với một chữ
cái thường.
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Định danh
Một số lưu ý khi định danh:

Có thể đặt tên biến, hàm hay cấu trúc như dạng: sinhVien, sachGiaoKhoa.

Định danh bắt đầu với một dấu dạch dưới _ thì là định danh private (_var).

Định danh bắt đầu với 2 dấu gạch dưới __ thì mức độ private cao hơn (__var).

Nếu định danh bắt đầu và kết thúc bằng 2 dấu gạch dưới (__init__ chẳng hạn)
thì định danh đó là tên đặc biệt được ngôn ngữ định nghĩa.
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Các kiểu dữ liệu

Dữ liệu là tài nguyên quan trọng nhất trong máy tính.

Dữ liệu có nhiều loại khác nhau như chữ viết, con số, hình ảnh, âm thanh, …

Trong Python có các kiểu dữ liệu như Number, String, List, Tuple, Set, Dictionary, …

Đối với mỗi kiểu dữ liệu khác nhau ta có cách xử lý dữ liệu khác nhau.
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Biến

Biến là một vị trí trong bộ nhớ được sử dụng để lưu trữ dữ liệu (giá trị).

Trong Python, bạn không cần khai báo biến trước khi sử dụng, chỉ cần gán cho
biến một giá trị và nó sẽ tồn tại.

Không cần phải khai báo kiểu biến, kiểu biến sẽ được nhận tự động dựa vào giá
trị mà bạn đã gán cho biến.

VD: s = 10.5 Biến s có kiểu dữ liệu là float


CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Hàm

Python cung cấp cho chúng ta nhiều hàm đã lập trình sẵn như print, input, id, …

Ta cũng có thể lập trình hàm tùy vào mục đích sử dụng.

Hàm được lập trình với mục đích sử dụng nhiều lần.

Cụ thể, ta sẽ tìm hiểu hàm trong những bài sau.


CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Biểu thức
Biểu thức là sự ghép nối các toán tử (operator) và các toán hạng (operand) theo
một quy tắc xác định.

Các toán hạng trong biểu thức có thể là biến, hàm hoặc một biểu thức khác.

Các toán tử trong biểu thức rất đa dạng như cộng, trừ, nhân chia, so sánh, …
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Biểu thức

VD: Tính diện tích hình chữ nhật có chiều dài là chieu_dai, chiều rộng là chieu_rong.

dien_tich = chieu_dai * chieu_rong

Biến Toán tử gán Toán hạng Toán tử


CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Câu lệnh

Câu lệnh (statement) diễn tả một hoặc một nhóm các thao tác trong giải thuật.

Trong Python, một câu lệnh được kết thúc bằng ký tự dòng mới, nghĩa là một câu
lệnh sẽ kết thúc khi bạn xuống dòng.

Chúng ta có thể mở rộng câu lệnh trên nhiều dòng với ký tự tiếp tục dòng lệnh (\).

sum = 1 + 3 + 5 + \
7 + 9 + 11 + \
13 + 15 + 17
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Câu lệnh
Trong Python, viết tiếp câu lệnh thường sử dụng dấu ngoặc đơn ( ), ngoặc vuông
[ ] hoặc ngoặc nhọn { }.
sum = (1 + 3 + 5 +
7 + 9 + 11 +
13 + 15 + 17)
Dấu ( ) ở đây ngầm ý tiếp tục dòng lệnh, 2 dấu ngoặc còn lại cũng có chức năng
tương tự.
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Câu lệnh

Có thể đặt nhiều lệnh trên cùng một dòng, phân cách nhau bởi dấu chấm phẩy ‘;’.

a = 1; b = 2; c = 3

Câu lệnh được chia thành hai nhóm chính:


Nhóm các câu lệnh đơn: là những câu lệnh không chứa câu lệnh khác.
a = 19
Nhóm các câu lệnh phức: là những câu lệnh chứa câu lệnh khác trong nó.
if a > 0:
print(a)
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Khối lệnh

Trong Python, những khối lệnh sẽ được nhận biết thông qua thụt lề.

Số khoảng trống trong độ thụt lề là biến đổi, nhưng tất cả các lệnh bên trong
khối phải được thụt cùng một số lượng khoảng trống như nhau.

Thông thường, chúng ta thường thụt lề 4 dấu cách hay phím tab.

Nếu thụt lề không bằng nhau sẽ gây ra lỗi.


CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Chú thích

Mô tả, diễn tả ý nghĩa câu lệnh đang dùng, giải thích ý nghĩa của một hàm nào đó.

Mục đích giúp người lập trình dễ nhớ, dễ đọc và hiểu đoạn chương trình.

Chú thích không ảnh hưởng đến hoạt động của chương trình.

Khi gặp chú thích, trình biên dịch sẽ tự động bỏ qua không dịch phần đó.
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Chú thích

Trong Python có hai cách chú thích:

Bắt đầu một comment đơn dòng bởi dấu #, mà nó không ở bên trong một
chuỗi nào.
a = 19 #biến a có kiểu int

Bắt đầu một comment đa dòng bởi 3 dấu nháy đơn hoặc 3 dấu nháy kép và
kết thúc cũng bằng 3 dấu tương ứng.
''' Khai báo biến a
Biến a có kiểu là int'''
a = 19
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Thư viện

Để sử dụng một thư viện, ta dùng cú pháp: import <tên thư viện>

Để sử dụng một hàm trong thư viện, ta dùng cú pháp: <tên thư viện>.<tên hàm>

import math
2
print(math.floor(2.57))
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Thư viện

Ta cũng có thể import một module trong thư viện theo cú pháp:

from <tên thư viện> import <tên module>

Để import nhiều module, ta ngắn cách cách module bởi dấu phẩy ‘,’ :

from <tên thư viện> import <tên module 1>, <tên module 2>, …
CÁC PHẦN TỬ CƠ BẢN CỦA PYTHON

Thư viện

Để import tất cả module, ta dùng cú pháp: from <tên thư viện> import *

Khi dùng from để import, ta không cần sử dụng tên thư viện để gọi hàm đó nữa.

from math import floor


2
print(floor(2.57))
CÀI ĐẶT IDE

Integrated Development Environment (IDE) thường được gọi là "Môi trường phát
triển tích hợp", là một loại phần mềm máy tính có công dụng hỗ trợ các lập trình
viên trong việc phát triển phần mềm.

Cài đặt Python với Visual Studio Code theo hướng dẫn tại:
https://viettuts.vn/python/huong-dan-lap-trinh-python-voi-visual-studio-code

Cài đặt Python với PyCharm theo hướng dẫn tại:


https://viettuts.vn/python/huong-dan-lap-trinh-python-voi-pycharm-community-edition

Cài đặt Python với Visual Studio theo hướng dẫn tại:
http://ilearnpython.com/tao-project-python-trong-visual-studio-2019.html
CÁC KIỂU DỮ LIỆU CHUẨN TRONG PYTHON

KIỂU DỮ LIỆU NUMBER KIỂU DỮ LIỆU TUPLE

KIỂU DỮ LIỆU STRING KIỂU DỮ LIỆU SET

KIỂU DỮ LIỆU LIST KIỂU DỮ LIỆU DICTIONARY


KIỂU DỮ LIỆU NUMBER

Python hỗ trợ số nguyên, số thực và số phức, chúng lần lượt được định nghĩa là
các lớp int, float, complex trong Python.

Số nguyên và số thập phân được phân biệt bằng sự có mặt hoặc vắng mặt của
dấu thập phân (3 là số nguyên, 3.2 là số thực).

Python cũng hỗ trợ số phức và sử dụng hậu tố j hoặc J để chỉ phần ảo (1 + 2j).

Ngoài ra, Python còn hỗ trợ hai loại số là Decimal và Fraction.


KIỂU DỮ LIỆU NUMBER

Số nguyên, số thực, số phức

Số nguyên trong Python không bị giới hạn độ dài.

Số thực trong Python bị giới hạn đến 16 số sau dấu thập phân.

Để kiểm tra xem biến hoặc giá trị thuộc lớp số nào ta dùng hàm type( ).

a = 1 + 2j
<class 'complex'>
print(type(a))
KIỂU DỮ LIỆU NUMBER

Số nguyên, số thực, số phức

Để tạo một số phức, ta sử dụng hàm complex với cú pháp: complex(real,imag)

print(complex(1,2)) 1+2j

Để lấy phần thực hay phần ảo của số phức, ta sử dụng cú pháp:

var.real hoặc var.image


KIỂU DỮ LIỆU NUMBER

Decimal

Thực hiện phép tính 0.1 + 0.2 trong Python cho ta kết quả không mong đợi.

print(0.1 + 0.2) 0.30000000000000004

Điều này xảy ra do máy tính chỉ hiểu được các số nhị phân nên hầu hết số thực ta
lưu trong máy tính chỉ được lưu gần đúng.

Để khắc phục vấn đề này, ta sử dụng module Decimal.


KIỂU DỮ LIỆU NUMBER

Decimal

Để sử dụng module Decimal, ta thực hiện import thư viện decimal.

import decimal

Trong khi số thực chỉ lấy 16 số sau dấu thập phân thì module Decimal cho phép
tùy chỉnh độ dài của số.

import decimal 0.1


print(0.1)
print(decimal.Decimal(0.1)) 0.1000000000000000055511151231257827021181583404541015625
KIỂU DỮ LIỆU NUMBER

Decimal
Tuy độ chính xác cao hơn nhưng các phép toán với số Decimal được thực hiện
chậm hơn so với các phép toán với số float.

Ta thường sử dụng Decimal trong các trường hợp sau:

Khi tạo các ứng dụng tài chính, cần biểu diễn phần thập phân chính xác.

Khi muốn kiểm soát mức độ chính xác của số.


KIỂU DỮ LIỆU NUMBER

Phân số
Python cung cấp các phép toán liên quan đến phân số thông qua sử dụng module
Fraction.

Một phân số có tử số và mẫu số, cả hai đều là số nguyên.

Ta có thể tạo đối tượng phân số (Fraction) từ số thực hoặc khai báo tử số, mẫu số.

import fractions
7/2
print(fractions.Fraction(3.5))
2/3
print(fractions.Fraction(4,6))
KIỂU DỮ LIỆU NUMBER

Phân số
Khi tạo phân số từ float, ta có thể nhận được những kết quả không mong muốn,
điều này đã nói ở phần Decimal.

Ta cũng có thể khởi tạo một phân số từ string, đây là cách khởi tạo số thập phân
khá được ưa thích.

from fractions import Fraction


4278419646001971/2251799813685248
print(Fraction(1.9))
19/10
print(Fraction('1.9'))
KIỂU DỮ LIỆU NUMBER

Thư viện math trong Python


Thư viện math trong Python hỗ trợ rất nhiều hàm tính toán liên quan đến toán
học.

Để sử dụng thư viện math, ta dùng cú pháp: import math

Một số hàm thường dùng: fabs(),trunc(),floor(),ceil(),exp(),sqrt(),…


KIỂU DỮ LIỆU STRING

String trong Python là một dãy các ký tự nằm liên kề nhau trong bộ nhớ.

Máy tính không xử lý các ký tự, chúng chỉ làm việc với số nhị phân.

Những kí tự chúng ta nhìn thấy trên màn hình đều được mã hóa thành các bit nhị
phân 0, 1 và được giải mã ngược lại.

Trong Python, string là một dãy các kí tự Unicode.


KIỂU DỮ LIỆU STRING

Cách tạo string


Chúng ta tạo string bằng cách đặt một chuỗi kí tự trong cặp dấu nháy đơn ('')
hoặc cặp dấu nháy kép ("").

Chuỗi kí tự có thể viết trên nhiều dòng bằng cách sử dụng cặp 3 dấu nháy
('''''') hoặc ("""""").

Không thể đặt dấu nháy đơn trong cặp dấu nháy đơn hoặc cặp dấu nháy kép
trong cặp dấu nháy kép vì chương trình sẽ báo lỗi.

Có thể đặt dấu nháy đơn trong cặp dấu nháy kép hoặc dấu nháy kép trong cặp
dấu nháy đơn.
KIỂU DỮ LIỆU STRING

Cách tạo string


Để hiển thị được dấu nháy đơn trong cặp dấu nháy đơn hoặc dấu nháy kép trong
cặp dấu nháy kép, ta đặt kí tự \ trước dấu nháy trong chuỗi.

Có thể gán string cho một biến như bình thường.

s = "I love BK"

Python hỗ trợ một số kí tự đặc biệt, gọi là kí tự thoát (escape sequence).


KIỂU DỮ LIỆU STRING

Cách tạo string

Escape Sequence Mô tả
\a Phát ra tiếng bíp
\b Đưa con trỏ về lại một khoảng trắng
\n Đưa con trỏ xuống dòng tiếp theo
\t In ra Tab
\’ In ra dấu nháy đơn ‘
\” In ra dấu nháy kép “
\\ In ra dấu gạch chéo \
KIỂU DỮ LIỆU STRING

Cách truy cập phần tử của string


Trong một chuỗi, các kí tự tạo nên chuỗi sẽ được đánh chỉ số từ 0 tới n – 1 từ
trái qua phải với n là số kí tự có trong chuỗi.

‘I’ ‘‘ ‘L’ ‘O’ ‘V’ ‘E’ ‘‘ ‘B’ ‘K’ ‘.’


0 1 2 3 4 5 6 7 8 9

Trong Python, các kí tự của chuỗi còn được đánh chỉ số từ phải qua trái từ -1
đến -n với n là độ dài chuỗi.

‘I’ ‘‘ ‘L’ ‘O’ ‘V’ ‘E’ ‘‘ ‘B’ ‘K’ ‘.’


-10 -9 -8 -7 -6 -5 -4 -3 -2 -1
KIỂU DỮ LIỆU STRING

Cách truy cập phần tử của string

Để truy cập một phần tử của chuỗi, ta sử dụng cú pháp: <chuỗi>[chỉ số]

‘I’ ‘‘ ‘L’ ‘O’ ‘V’ ‘E’ ‘‘ ‘B’ ‘K’ ‘.’


0 1 2 3 4 5 6 7 8 9

s = "I LOVE BK"


E
print(s[5])
B
print(s[-2])
KIỂU DỮ LIỆU STRING

Cắt chuỗi

Python hỗ trợ cắt chuỗi một cách nhanh gọn.

Để cắt chuỗi, ta dùng cú pháp: <chuỗi>[vị trí bắt đầu:vị trí kết thúc]

s = "I LOVE BK"


OV
print(s[3:5])
E B
print(s[-4:-1])
LOVE
print(s[2:-3])
I LOVE
print(s[-9:6])
KIỂU DỮ LIỆU STRING

Cắt chuỗi

Có thể để trống “vị trí bắt đầu” hoặc “vị trí kết thúc”.

Nếu bỏ trống “vị trí bắt đầu”, mặc định cắt từ vị trí 0 đến “vị trí kết thúc” – 1.

Nếu bỏ trống “vị trí kết thúc”, mặc định cắt từ “vị trí bắt đầu” đến hết chuỗi.

s = "I LOVE BK"


I LOVE
print(s[:6])
LOVE BK
print(s[2:])
KIỂU DỮ LIỆU STRING

Các toán tử cơ bản với chuỗi

Toán tử nối chuỗi (+): s1 + s2 với s1, s2 là chuỗi.

s1 = "I LOVE "


s2 = "BK" I LOVE BK
print(s1 + s2)

Toán tử lặp chuỗi (*): s * N với s là chuỗi, N là số nguyên.

s = "HUST"
HUSTHUST
print(s * 2)
KIỂU DỮ LIỆU STRING

Các toán tử cơ bản với chuỗi


Toán tử in: c in s, trả về True nếu kí tự c xuất hiện trong chuỗi s, nếu không trả
về False.

Toán tử not in: c in s, trả về True nếu kí tự c không xuất hiện trong chuỗi s, nếu
không trả về False.

s = "HUST"
c1 = 'S'
True
c2 = 's'
True
print(c1 in s)
print(c2 not in s)
KIỂU DỮ LIỆU STRING

Định dạng chuỗi


Định dạng chuỗi bằng toán tử %: kiểu định dạng này khá giống trong ngôn ngữ
lập trình C.

Cú pháp: <chuỗi> %(value_1, value_2, ...)

name = "Hung"
age = 21 Hung is 21 years old.
print("%s is %d years old." %(name, age))

Chú ý: Không có dấu phẩy giữa chuỗi và phần giá trị cần định dạng.
KIỂU DỮ LIỆU STRING

Định dạng chuỗi


Một số kiểu định dạng với toán tử %:

Biểu tượng định dạng Chuyển đổi


%c Kí tự
%s Chuyển đổi thành chuỗi
%i Số nguyên thập phân có dấu
%d Số nguyên thập phân có dấu
%u Số nguyên thập phân không dấu
%f Số thực
KIỂU DỮ LIỆU STRING

Định dạng chuỗi

Định dạng bằng chuỗi f: f'giá trị trong chuỗi'

name = "Hung"
age = 21 Hung is 21 years old.
print(f"{name} is {age} years old.")

Định dạng bằng phương thức format: <chuỗi>.format(value_1, value_2, ...)

name = "Hung"
age = 21 Hung is 21 years old.
print("{} is {} years old.".format(name, age))
KIỂU DỮ LIỆU STRING

Định dạng chuỗi

Nếu không truyền chỉ số vào trong {} thì chỉ số mặc định đánh từ 0.

name1 = "Hung"
name2 = "Long" This is Hung, that is Long.
print("This is {}, that is {}.".format(name1, name2))

Ta thử điền chỉ số vào các cặp dấu {}:

name1 = "Hung"
name2 = "Long" This is Long, that is Hung.
print("This is {1}, that is {0}.".format(name1, name2))
KIỂU DỮ LIỆU STRING

Định dạng chuỗi

Các cách căn lề của phương thức format:

Căn lề trái {:(c)<n}


Căn lề phải {:(c)>n}
Căn lề giữa {:(c)^n}

c là kí tự muốn thay thế vào ô trống, nếu để trống thì mặc định là khoảng trắng.

n là số kí tự dùng để căn lề.


KIỂU DỮ LIỆU STRING

Định dạng chuỗi


Ví dụ về cách căn lề sử dụng phương thức format.
row_1 = '+ {:-<5} + {:-^18} + {:->12} +'.format('', '', '')
row_2 = '| {:^5} | {:^18} | {:^12} |'.format('STT', 'Ho va ten', 'Dia chi')
row_3 = '+ {:-<5} + {:-^18} + {:->12} +'.format('', '', '')
row_4 = '| {:^5} | {:<18} | {:<12} |'.format('1', 'Nguyen Van A', 'Ha Noi')
row_5 = '| {:^5} | {:<18} | {:<12} |'.format('2', 'Nguyen Hoang B', 'Hoa Binh')
row_6 = '| {:^5} | {:<18} | {:<12} |'.format('3', 'Le Thi C', 'Hai Duong')
row_7 = '+ {:-<5} + {:-^18} + {:->12} +'.format('', '', ‘’)

print(row_1)
print(row_2)
print(row_3)
print(row_4)
print(row_5)
Kết quả
print(row_6)
print(row_7)
KIỂU DỮ LIỆU STRING

Các phương thức biến đổi

Phương thức len(): trả về độ dài của chuỗi.

s = "Say hello"
9
print(len(s))

Phương thức capitalize(): trả về một chuỗi với kí tự đầu tiên được viết hoa và
viết thường tất cả những kí tự còn lại.

s = "aBCdE"
Abcde
print(s.capitalize())
KIỂU DỮ LIỆU STRING

Các phương thức biến đổi


Phương thức upper(): trả về một chuỗi với tất cả các kí tự được chuyển thành
các kí tự viết hoa.

s = "aBCdE"
ABCDE
print(s.upper())

Phương thức lower(): trả về một chuỗi với tất cả các kí tự được chuyển thành
các kí tự viết thường.

s = "aBCdE"
abcde
print(s.lower())
KIỂU DỮ LIỆU STRING

Các phương thức biến đổi


Phương thức swapcase(): trả về một chuỗi với các kí tự viết hoa được chuyển
thành viết thường, các kí tự viết thường được chuyển thành viết hoa.

s = "aBCdE"
AbcDe
print(s.swapcase())

Phương thức title(): trả về một chuỗi với định dạng tiêu đề, có nghĩa là các từ sẽ
được viết hoa chữ cái đầu tiên, còn lại là viết thường.

s = "nguyen huu hung"


Nguyen Huu Hung
print(s.title())
KIỂU DỮ LIỆU STRING

Các phương thức định dạng

Phương thức center(): <chuỗi>.center(width,[fillchar])

Phương thức center() trả về một chuỗi được căn giữa bởi các kí tự fillchar với
chiều rộng width.

Mặc định fillchar là khoảng trắng.

s = "hello"
--hello---
print(s.center(10,'-'))
KIỂU DỮ LIỆU STRING

Các phương thức định dạng

Phương thức rjust(): <chuỗi>.rjust(width,[fillchar])

Phương thức ljust(): <chuỗi>.ljust(width,[fillchar])

Cách hoạt động của hai phương thức trên tương tự phương thức center nhưng
phương thức rjust căn lề phải, phương thức ljust căn lề trái.

s = "hello"
-----hello
print(s.rjust(10,'-'))
hello-----
print(s.ljust(10,'-'))
KIỂU DỮ LIỆU STRING

Các phương thức xử lý

Phương thức join(): <kí tự nối>.join(<tập hợp>)

Phương thức join() nối chuỗi các chuỗi trong tập hợp thành một chuỗi.

s = ("Nguyen", "Huu", "Hung")


Nguyen Huu Hung
print(" ".join(s))
KIỂU DỮ LIỆU STRING

Các phương thức xử lý

Phương thức replace(): <chuỗi>.replace(old, new[, count])

Phương thức replace trả về một bản sao của chuỗi ban đầu sau khi đã thay thế
count chuỗi old đầu tiên bằng chuỗi new.
s = "School of Electronics and Telecomunication - HUST"
print(s.replace("o", "0"))
print(s.replace("o", "0", 5))

Sch00l 0f Electr0nics and Telec0municati0n – HUST


Sch00l 0f Electr0nics and Telec0munication - HUST
KIỂU DỮ LIỆU STRING

Các phương thức xử lý

Phương thức strip(): <chuỗi>.strip([chars])

Phương thức replace trả về một chuỗi với phần đầu và phần đuôi của chuỗi
được bỏ đi các kí tự chars.

Nếu chars bị bỏ trống thì mặc định các kí tự bị bỏ đi là các khoảng trắng và
escape sequence.

s = "+-+-+-Hello-+-+-+"
Hello
print(s.strip("+-"))
Hello
print(s.strip("-+"))
KIỂU DỮ LIỆU STRING

Các phương thức xử lý

Phương thức rstrip(): <chuỗi>.rstrip([chars])

Phương thức lstrip(): <chuỗi>.lstrip([chars])

Cách hoạt động của hai phương thức trên tương tự phương thức center nhưng
phương thức rstrip bỏ đi ở phần đuôi, phương thức lstrip bỏ đi ở phần đầu.

s = "+-+-+-Hello-+-+-+"
+-+-+-Hello
print(s.rstrip("+-"))
Hello-+-+-+
print(s.lstrip("-+"))
KIỂU DỮ LIỆU STRING

Các phương thức tách chuỗi

Phương thức split(): <chuỗi>.split([char], [num])

Phương thức split trả về một list chuỗi con bằng cách tách chuỗi ban đầu thành
num + 1 chuỗi con bởi kí tự char.

Mặc định char là khoảng trống. Các list

s = "My name is Hung"


['My', 'name', 'is', 'Hung']
print(s.split())
['My', 'name', 'is Hung']
print(s.split(' ', 2))
['My ', 'ame is Hu', 'g']
print(s.split('n'))
KIỂU DỮ LIỆU STRING

Các phương thức tách chuỗi

Phương thức rsplit(): <chuỗi>.rsplit([char], [num])

Cách hoạt động của phương thức rsplit tương tự phương thức split nhưng khác
ở chỗ là rsplit tách từ phải sang trái.

s = "My name is Hung"


['My', 'name', 'is', 'Hung']
print(s.rsplit())
['My name', 'is', 'Hung']
print(s.rsplit(' ', 2))
['My name is Hu', 'g']
print(s.rsplit('n', 1))
KIỂU DỮ LIỆU STRING

Các phương thức tách chuỗi

Phương thức partition(): <chuỗi>.partition(<chuỗi cắt>)

Phương thức partition trả về một tuple với 3 phần tử lần lượt là chuỗi trước
chuỗi cắt, chuỗi cắt và chuỗi sau chuỗi cắt.

Nếu chuỗi cắt không có trong chuỗi ban đầu, mặc định trả về phần tử đầu tiên là
chuỗi ban đầu và hai phần tử sau là rỗng.
s = "Nguyen Huu Hung"
('Ng', 'u', 'yen Huu Hung')
print(s.partition("u"))
('Nguy', 'en', ' Huu Hung')
print(s.partition("en"))
KIỂU DỮ LIỆU STRING

Các phương thức tách chuỗi

Phương thức rpartition(): <chuỗi>.rpartition(<chuỗi cắt>)

Cách hoạt động của phương thức rpartition tương tự phương thức partition
nhưng khác ở chỗ là rpartition chia từ phải sang trái.

Nếu chuỗi cắt không có trong chuỗi ban đầu, mặc định trả về hai phần tử đầu
tiên là chuỗi rỗng và phần tử cuối cùng là chuỗi ban đầu.

s = "Nguyen Huu Hung"


('Nguyen Huu H', 'u', 'ng')
print(s.rpartition("u"))
KIỂU DỮ LIỆU STRING

Các phương thức tiện ích

Phương thức count(): <chuỗi>.count(sub, [start, [end]])

Phương thức count trả về số lần xuất hiện của sub trong chuỗi.

start là vị trí bắt đầu đếm, end là vị trí kết thúc đếm.

s = "Aababbab"
3
print(s.count("ab"))
2
print(s.count("ab", 2))
0
print(s.count("ab", 2 , 5))
KIỂU DỮ LIỆU STRING

Các phương thức tiện ích

Phương thức startswith(): <chuỗi>.startswith(prefix, [start, [end]])

Phương thức endswith(): <chuỗi>.endswith(prefix, [start, [end]])

Phương thức startswith (endswith) trả về giá trị True nếu chuỗi bắt đầu (kết
thúc) bằng chuỗi prefix.
s = "Legends Never Die"
True
print(s.startswith('Legend'))
True
print(s.endswith('ie'))
KIỂU DỮ LIỆU STRING

Các phương thức tiện ích

Phương thức find(): <chuỗi>.find(sub, [start, [end]])

Phương thức find trả về một số nguyên là vị trí đầu tiên của sub khi tìm từ trái
sang phải.

Nếu không có sub trong chuỗi, trả về giá trị -1.

s = "Legends Never Die"


1
print(s.find('e'))
15
print(s.find('ie'))
KIỂU DỮ LIỆU STRING

Các phương thức tiện ích

Phương thức rfind(): <chuỗi>.rfind(sub, [start, [end]])

Phương thức rfind hoạt động tương tự phương thức find nhưng tìm từ phải sang
trái.

s = "Legends Never Die"


16
print(s.rfind('e'))
15
print(s.rfind('ie'))
KIỂU DỮ LIỆU STRING

Các phương thức tiện ích

Phương thức index(): <chuỗi>.index(sub, [start, [end]])

Phương thức index hoạt động tương tự phương thức find nhưng khác là sẽ có lỗi
nếu không tìm thấy chuỗi sub trong chuỗi ban đầu.

Phương thức rindex(): <chuỗi>.rindex(sub, [start, [end]])

Phương thức rindex hoạt động tương tự phương thức index nhưng tìm từ phải
sang trái.
KIỂU DỮ LIỆU STRING

Các phương thức xác thực

Phương thức islower(): <chuỗi>.islower()

Phương thức islower trả về True nếu tất cả các kí tự trong chuỗi đều là viết
thường, ngược lại là False.

Phương thức isupper(): <chuỗi>.isupper()

Phương thức isupper trả về True nếu tất cả các kí tự trong chuỗi đều là viết hoa,
ngược lại là False.
KIỂU DỮ LIỆU STRING

Các phương thức xác thực

Phương thức istitle(): <chuỗi>.istitle()

Phương thức istitle trả về True nếu chuỗi đó là một dạng title, ngược lại
là False.

Phương thức isdigit(): <chuỗi>.isdigit()

Phương thức isdigit trả về True nếu tất cả các kí tự trong chuỗi đều là chữ số,
ngược lại là False.
KIỂU DỮ LIỆU STRING

Các phương thức xác thực

Phương thức istitle(): <chuỗi>.istitle()

Phương thức istitle trả về True nếu chuỗi đó là một dạng title, ngược lại
là False.

Phương thức isspace(): <chuỗi>.isspace()

Phương thức isspace trả về True nếu tất cả các kí tự trong chuỗi đều là kí tự
khoảng trắng, ngược lại là False.
KIỂU DỮ LIỆU STRING

Các phương thức xác thực

Phương thức isalnum(): <chuỗi>.isalnum()

Phương thức isalnum trả về True nếu chuỗi đó chỉ chứa các kí tự chữ và số,
ngược lại là False.

Phương thức isalpha(): <chuỗi>.isalpha()

Phương thức isalpha trả về True nếu tất cả các kí tự trong chuỗi đều kí tự chữ,
ngược lại là False.
KIỂU DỮ LIỆU STRING

Các phương thức xác thực

Phương thức isnumeric(): <chuỗi>.isnumeric()

Phương thức isnumeric trả về True nếu tất cả các kí tự trong chuỗi đều là chữ
số, ngược lại là False.

Phương thức isdigit(): <chuỗi>.isdigit()

Phương thức isdigit trả về True nếu tất cả các kí tự trong chuỗi đều là chữ số,
ngược lại là False.
KIỂU DỮ LIỆU LIST
KIỂU DỮ LIỆU TUPLE
KIỂU DỮ LIỆU SET
KIỂU DỮ LIỆU DICTIONARY
CÁC TOÁN TỬ CƠ BẢN
CÁC CẤU TRÚC LẬP TRÌNH
HÀM PYTHON

You might also like