Professional Documents
Culture Documents
Chap00 NhapMonPython
Chap00 NhapMonPython
• Python 3 (2008)
– Hiện đã có Python 3.10
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
GIỚI THIỆU
• Python
– Ngôn ngữ có mã nguồn mở
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
GIỚI THIỆU
• Python
– Ngôn ngữ lai
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
GIỚI THIỆU
• Ưu điểm của Python
– Cú pháp đơn giản, dễ đọc
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
GIỚI THIỆU
• Nhược điểm của Python
– Chương trình chạy chậm
Bài 0: Tổng quan về Python
– Giao tiếp khó khăn với thư viện viết bằng NNLT khác
– Yếu trong hỗ trợ tính toán trên di động
– Cách viết khối lệnh dễ gây nhầm lẫn
– Gỡ lỗi đòi hỏi kinh nghiệm
– Ít hỗ trợ các cơ sở dữ liệu
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
TẢI VÀ CÀI ĐẶT PYTHON
• Trong Windows 10, mở Microsoft Store
– Nhập từ khóa Python vào thành Tìm kiếm (Search)
– Chọn Python 3.10 (Apps-Developer)
Bài 0: Tổng quan về Python
– Nhấn nút Get trong Giao diện chi tiết về Python để tải và tự động
cài đặt
• Sau khi cài đặt xong
– Nhấn tổ hợp phím Windows + R và gõ lệnh cmd
– Trong giao diện DOS Commander, gõ dòng lệnh python -V để
kiểm tra phiên bản cài đặt
– Tiếp tục, nhập câu lệnh sau đây để cài đặt thư viện pip install
<library name>
– Các thư viện cần thiết: numpy, pandas, matplotlib, seaborn, plotly,
basemap, sklearn, statsmodels, ...
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
SỬ DỤNG COLABORATORY
• Sử dụng tài khoản Gmail buh.edu.vn (sinh viên)
• Truy cập Google Drive, tạo thư mục DataScience
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
NGÔN NGỮ LẬP TRÌNH PYTHON
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
HẰNG (Constant)
• Giá trị cố định như là số, ký tự, chuỗi được gọi là
hằng vì giá trị của chúng không thể thay đổi
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
TỪ KHÓA
• Từ khóa được dành riêng cho ngôn ngữ, không thể
dùng để đặt tên định danh
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
BIẾN (VARIABLES)
• Biến là đại lượng lưu trữ dữ liệu, khi khai báo biến,
chương trình yêu cầu máy tính cấp cho biến vị trí trong
bộ nhớ để chứa dữ liệu.
Bài 0: Tổng quan về Python
• Mỗi biến sau khi khai báo chỉ có một địa chỉ duy nhất,
và giá trị tại đó (hay giá trị của biến) có thể thay đổi
trong thời gian tồn tại của nó.
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
QUY TẮC ĐẶT TÊN BIẾN
• Tên biến chỉ bao gồm ký chữ, ký số và dấu _
• Tên biến phải bắt đầu bởi ký chữ hoặc dấu _
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CÂU LỆNH & DÒNG LỆNH
Bài 0: Tổng quan về Python
x = 2 Lệnh gán
x = x + 2 Lệnh gán với biểu thức
print(x) Lệnh in
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
BIỂU THỨC SỐ HỌC
Toán tử Mô tả
+ Cộng
Trừ
Bài 0: Tổng quan về Python
-
* Nhân
** Lũy thừa
/ Chia
% Chia lấy dư
// Chia lấy nguyên
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
THỨ TỰ ƯU TIÊN CÁC TOÁN TỬ
x = 1 + 2 * 3 - 4 / 5 ** 6
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
THỨ TỰ ƯU TIÊN CÁC TOÁN TỬ
• Quy tắc ưu tiên các toán tử
– Ưu tiên tính toán biểu thức trong cặp ngoặc đơn ()
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
KIỂU DỮ LIỆU
• Biến, hằng có kiểu dữ liệu (type)
• Python tự phân biệt số nguyên và chuỗi ký tự
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
SỐ NGUYÊN VÀ SỐ THỰC
• Số có hai loại chính
– Số nguyên: -14, -2, 0, 1, 100
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CHUYỂN ĐỔI KIỂU DỮ LIỆU
• Khi số nguyên và số thực
cùng xuất hiện trong biểu
thức, số nguyên sẽ tự
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CHUYỂN ĐỔI KIỂU DỮ LIỆU
• Sử dụng int() và float() để chuyển giữa chuỗi và số
• Lỗi phát sinh nếu chuỗi chứa ký tự không phải là
Bài 0: Tổng quan về Python
số
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
NGƯỜI DÙNG NHẬP LIỆU
• Sử dụng hàm input() để yêu cầu Python dừng và
đọc dữ liệu từ bàn phím
Bài 0: Tổng quan về Python
(Ví dụ 1-Chương 2)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CHUYỂN ĐỔI DỮ LIỆU NHẬP
• Chuyển đổi dữ liệu từ dạng chuỗi nhập từ bàn phím
sang dạng số, nếu cần
Bài 0: Tổng quan về Python
(Ví dụ 2-Chương 2)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CHÚ THÍCH TRONG PYTHON
• Nội dung đặt sau dấu # đều là chú thích
• Lý do dùng chú thích
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
NGÔN NGỮ LẬP TRÌNH PYTHON
x=5
Bài 0: Tổng quan về Python
Đúng
x < 10?
Sai print(‘Smaller’)
Đúng
x > 20?
Sai print(‘Bigger’)
print(‘Finish’)
(Ví dụ 1-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
TOÁN TỬ SO SÁNH
Bài 0: Tổng quan về Python
(Ví dụ 2-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CÂU LỆNH IF THIẾU
Đúng
x = = 5?
Bài 0: Tổng quan về Python
print(‘Still 5’)
print(‘Third 5’)
(Ví dụ 3-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CANH LỀ
• Canh lề (thụt vào) sau câu lệnh if hoặc lệnh for
– Xác định khối lệnh đi kèm với câu lệnh liền trước nó
Bài 0: Tổng quan về Python
– Các câu lệnh cùng khối thụt lề cùng mức và liên tục
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CANH LỀ
Bài 0: Tổng quan về Python
(Ví dụ 4-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CẤU TRÚC IF LỒNG
x>1?
x < 10 ?
print(‘All done’)
(Ví dụ 5-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CẤU TRÚC IF ĐẦY ĐỦ
x=4
x>2?
Bài 0: Tổng quan về Python
print(‘All done’)
(Ví dụ 6-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
ĐIỀU GÌ XẢY RA NẾU ...
• Chúng ta thực hiện lặp đi lặp lại một số hành động
giống hệt nhau
– Nhập các chuỗi ký tự từ bàn phím và xuất chúng ra màn
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
ĐIỀU GÌ XẢY RA VỚI ĐOẠN CODE SAU?
n=5
No Yes
n>0?
Bài 0: Tổng quan về Python
print(n)
n=n-1
print(‘All done’)
No Yes
n>0?
Bài 0: Tổng quan về Python
print(n)
n=n-1
print(‘All done’)
No Yes
n>0?
Bài 0: Tổng quan về Python
print(‘Lather’)
print(‘Rinse’)
print(‘All done’)
(Ví dụ 12-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
ĐIỀU GÌ XẢY RA VỚI ĐOẠN CODE SAU?
n=0
No Yes
n>0?
Bài 0: Tổng quan về Python
print(‘Lather’)
print(‘Rinse’)
print(‘All done’)
(Ví dụ 13-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
ĐIỀU GÌ XẢY RA VỚI ĐOẠN CODE SAU?
Bài 0: Tổng quan về Python
Vòng lặp không có biến đếm số lần lặp, không xác định số lần lặp.
Câu lệnh break giúp thoát khỏi cấu trúc lặp while; lệnh này chỉ được thực hiện
khi điều kiện trong câu lệnh if thỏa mãn.
Kết thúc lần lặp hiện hành, chuyển sang lần lặp tiếp theo
Vòng lặp không có biến đếm số lần lặp, không xác định số lần lặp.
Câu lệnh continue giúp kết thúc khối lệnh lặp hiện hành để chuyển sang lần lặp
tiếp theo; lệnh này chỉ được thực hiện khi điều kiện trong câu lệnh if thỏa mãn.
(Ví dụ 15-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
TRƯỜNG HỢP ĐẶC BIỆT ...
Yes No
Done?
Bài 0: Tổng quan về Python
Move i ahead
print(i)
print(‘All done’)
Cấu trúc lặp với các giá trị lặp được liệt kê trong dãy
hoặc tập hợp.
(Ví dụ 16-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CÔNG THỨC CHO CẤU TRÚC LẶP FOR
Các hành động trước lặp, bao
gồm khởi tạo các giá trị cho biến
Bài 0: Tổng quan về Python
(Ví dụ 17-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
VÍ DỤ: TÌM GIÁ TRỊ LỚN NHẤT TRONG DÃY
Bài 0: Tổng quan về Python
(Ví dụ 18-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
VÍ DỤ: ĐẾM SỐ PHẦN TỬ TRONG DÃY
Bài 0: Tổng quan về Python
(Ví dụ 19-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
VÍ DỤ: TÍNH TỔNG CÁC PHẦN TỬ TRONG DÃY
Bài 0: Tổng quan về Python
(Ví dụ 20-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
VÍ DỤ: TRUNG BÌNH CÁC PHẦN TỬ TRONG DÃY
Bài 0: Tổng quan về Python
(Ví dụ 21-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
VÍ DỤ: LỌC CÁC PHẦN TỬ TRONG DÃY
Bài 0: Tổng quan về Python
(Ví dụ 22-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
VÍ DỤ: TÌM GIÁ TRỊ NHỎ NHẤT TRONG DÃY
Bài 0: Tổng quan về Python
(Ví dụ 23-Chương 3)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
NGÔN NGỮ LẬP TRÌNH PYTHON
HÀM
Hàm
Bài 0: Tổng quan về Python
(Ví dụ 2-Chương 4)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
HAI LOẠI HÀM TRONG PYTHON
Bài 0: Tổng quan về Python
(Ví dụ 2-Chương 4)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
ĐỊNH NGHĨA HÀM
Từ khai báo HÀM
Tên hàm, là một định danh
Bài 0: Tổng quan về Python
(Ví dụ 4-Chương 4)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
ĐIỀU GÌ XẢY RA ...
Bài 0: Tổng quan về Python
(Ví dụ 5-Chương 4)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
ĐIỀU GÌ XẢY RA ...
Bài 0: Tổng quan về Python
Tham số (parameter)
Bài 0: Tổng quan về Python
Đối số (argument)
Tham số (parameter)
Bạn có nhận xét gì cách định nghĩa và sử dụng hai hàm này?
(Ví dụ 6,7-Chương 4)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
ĐIỀU GÌ XẢY RA ...
Bài 0: Tổng quan về Python
Làm thế nào để cải tiến các hàm trên đề đạt kết quả sau:
(Ví dụ 6,7-Chương 4)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
ĐIỀU GÌ XẢY RA ...
Bài 0: Tổng quan về Python
(Ví dụ 8,9-Chương 4)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
ĐIỀU GÌ XẢY RA ...
Bài 0: Tổng quan về Python
(Ví dụ 10-Chương 4)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
BIẾN VÀ TẦM ẢNH HƯỞNG
Biến toàn cục
Biến cục bộ
Bài 0: Tổng quan về Python
Tham số
Có ba đại lượng lưu trữ giá trị: biến toàn cục, biến cục bộ và
tham số với tầm ảnh hưởng khác nhau
(Ví dụ 11-Chương 4)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
BIẾN VÀ TẦM ẢNH HƯỞNG
Bài 0: Tổng quan về Python
Biến toàn cục có thể khai báo trước, sau khai báo hàm
(Ví dụ 11,12-Chương 4)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
BIẾN VÀ TẦM ẢNH HƯỞNG
Biến toàn cục có thể khai báo trước, sau khai báo hàm,
nhưng không được khai báo sau lời gọi hàm có sử dụng nó
Bài 0: Tổng quan về Python
(Ví dụ 13-Chương 4)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
BIẾN VÀ TẦM ẢNH HƯỞNG
Biến cục bộ chỉ có hiệu lực bên trong phạm vi khai báo nó
Bài 0: Tổng quan về Python
(Ví dụ 12,14-Chương 4)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
NGÔN NGỮ LẬP TRÌNH PYTHON
XỬ LÝ NGOẠI LỆ
• Làm cho chương trình không chạy được (thông dịch) hoặc
không dịch được (biên dịch) hoặc chương trình chạy được
nhưng không cho kết quả như mong đợi
– Ngoại lệ
• Một chức năng nào đó không chạy được do chương trình không
xử lý hết các khả năng có thể xảy ra
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
NGOẠI LỆ
• Lỗi chương trình trong Python
– Lỗi cú pháp (Syntax error)
Bài 0: Tổng quan về Python
• Sai cú pháp, khiến chương trình thông dịch không dịch được
– Ngoại lệ (Exception)
• Xảy ra bất thường không như thiết kế
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
NGOẠI LỆ
• Ví dụ lỗi cú pháp
Bài 0: Tổng quan về Python
(Ví dụ 1-Chương 6)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
XỬ LÝ NGOẠI LỆ
• Đảm bảo giá trị nhập (x) phải là một số
Bài 0: Tổng quan về Python
(Ví dụ 2-Chương 6)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
XỬ LÝ NGOẠI LỆ
• Đảm bảo giá trị nhập (y) phải là số khác 0 và thực
hiện phép chia 1/y
Bài 0: Tổng quan về Python
(Ví dụ 3-Chương 6)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
XỬ LÝ NGOẠI LỆ
• Các thành phần của cấu trúc try ... except ...
Bài 0: Tổng quan về Python
(Ví dụ 4-Chương 6)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
XỬ LÝ NGOẠI LỆ
Bài 0: Tổng quan về Python
(Ví dụ 5-Chương 6)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CÁC NGOẠI LỆ THƯỜNG GẶP
Ngoại lệ Lý do gây ra
AssertionError Xảy ra khi câu lệnh assert thất bại.
AttributeError Xảy ra khi gán thuộc tính hoặc tham chiếu thất bại.
Bài 0: Tổng quan về Python
EOFError Xảy ra khi hàm input () chạm vào điều kiện end-of-file.
Xảy ra khi một số thực dấy phẩy động thực thi không thành
FloatingPointError
công
GeneratorExit Xảy ra khi phương thức close() của hàm generator được gọi.
ImportError Xảy ra khi không tìm thấy module được import.
Xảy ra khi một chỉ số trong chuỗi (sequence) nằm ngoài phạm
IndexError
vi.
Xảy ra khi không tìm thấy khóa ánh xạ (từ điển) trong tập hợp
KeyError
các khóa hiện có.
Xảy ra khi người dùng nhấn phím ngắt (thông thường là Ctrl-C
KeyboardInterrupt
hoặc Delete).
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CÁC NGOẠI LỆ THƯỜNG GẶP
Ngoại lệ Lý do gây ra
Xảy ra khi một operation hết bộ nhớ nhưng tình huống vẫn
MemoryError
có thể được sửa chữa (bằng cách xóa một số đối tượng).
Xảy ra khi không tìm thấy tên cục bộ hoặc toàn cầu của
Bài 0: Tổng quan về Python
NameError
biến.
Xảy ra bằng các phương thức trừu tượng khi chúng yêu
NotImplementedError
cầu các lớp dẫn xuất ghi đè phương thức.
OSError Xảy ra khi một hàm trả về lỗi liên quan đến hệ thống
Xảy ra khi kết quả của phép toán số học quá lớn không thể
OverflowError
biểu diễn.
Xảy ra khi một proxy tham chiếu yếu sử dụng để truy cập
ReferenceError
một thuộc tính của tham chiếu sau khi thu thập rác.
Xảy ra khi phát hiện thấy lỗi không thuộc bất kỳ danh mục
RuntimeError
nào khác.
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CÁC NGOẠI LỆ THƯỜNG GẶP
Ngoại lệ Lý do gây ra
Xảy ra bằng phương thức next() của một vòng lặp để báo
StopIteration
hiệu rằng không có giá trị nào được trả về bởi iterator.
SyntaxError Xảy ra khi gặp lỗi cú pháp.
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
CÁC NGOẠI LỆ THƯỜNG GẶP
Ngoại lệ Lý do gây ra
Xảy ra khi tham chiếu tạo thành một biến cục bộ trong một
UnboundLocalError hàm hoặc phương thức, nhưng không có giá trị nào bị ràng
buộc với biến đó.
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
NGÔN NGỮ LẬP TRÌNH PYTHON
2. Đọc/ghi file
3. Đóng file
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
MỞ VÀ ĐÓNG TẬP TIN
• Mở file:
– f = open(filename, mode)
• Các chế độ mở file hay sử dụng:
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
MỞ VÀ ĐÓNG TẬP TIN
Bài 0: Tổng quan về Python
(Ví dụ 6-Chương 6)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
MỞ VÀ ĐÓNG TẬP TIN
• Mở và đóng tập tin sau khi sử dụng xong
Bài 0: Tổng quan về Python
(Ví dụ 7-Chương 6)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
ĐỌC VÀ GHI TẬP TIN
• Đọc tập tin
– read(x): đọc x byte tiếp theo, nếu không viết x thì sẽ đọc đến
cuối file
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
MỞ VÀ GHI TẬP TIN VĂN BẢN
Bài 0: Tổng quan về Python
Mở tập tin ch6_08.txt trong thư mục hiện hành và ghi nội
dung với mã Unicode (ghi đè nếu tập tin này đã có)
(Ví dụ 8-Chương 6)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
MỞ VÀ ĐỌC TẬP TIN VĂN BẢN
Bài 0: Tổng quan về Python
(Ví dụ 9-Chương 6)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
MỞ VÀ ĐỌC TẬP TIN VĂN BẢN
Bài 0: Tổng quan về Python
(Ví dụ 10-Chương 6)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
ĐỌC TẬP TIN
• Sử dụng phương thức read(size)
Bài 0: Tổng quan về Python
(Ví dụ 11-Chương 6)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
ĐỌC TẬP TIN
• Sử dụng phương thức read, tell và seek
Bài 0: Tổng quan về Python
(Ví dụ 12-Chương 6)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
NGÔN NGỮ LẬP TRÌNH PYTHON
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
GIỚI THIỆU
• Lập trình hướng đối tượng
– Object-oriented programming (OOP)
Bài 0: Tổng quan về Python
– Một kỹ thuật hỗ trợ, cho phép lập trình viên trực tiếp làm
việc với các đối tượng do chính họ định nghĩa
– Kỹ thuật này giúp tăng năng suất, đơn giản hoá việc
bảo trì cũng như mở rộng phần mềm
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
GIỚI THIỆU
• Các nguyên lý cơ bản của OOP
– Tính kế thừa (Inheritance)
Bài 0: Tổng quan về Python
• Một lớp (class) có thể kế thừa các thuộc tính và phương thức từ
các lớp khác đã được định nghĩa
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
LỚP & ĐỐI TƯỢNG
• Lớp (class), Đối tượng (object) là hai khái niệm cơ
bản của OOP
– Đối tượng (Object) là những thực thể tồn tại có đặc
Bài 0: Tổng quan về Python
– Sử dụng
– Hủy bỏ (destructor)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
LỚP VÀ ĐỐI TƯỢNG
• Định nghĩa lớp Car với các thuộc tính và phương
thức khởi tạo
Bài 0: Tổng quan về Python
(Ví dụ 1-Chương 7)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
LỚP VÀ ĐỐI TƯỢNG
• Khai báo và khởi tạo các đối tượng thuộc lớp Car,
sử dụng phương thức khởi tạo
Bài 0: Tổng quan về Python
(Ví dụ 2-Chương 7)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
LỚP VÀ ĐỐI TƯỢNG
• Định nghĩa lớp Motor với các thuộc tính, phương
thức khởi tạo, và các phương thức khác
Bài 0: Tổng quan về Python
(Ví dụ 3-Chương 7)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
NẠP CHỒNG PHƯƠNG THỨC
• Python cho phép định nghĩa các phương thức trùng
tên, khác số lượng tham số, nhưng chỉ phương
thức cuối cùng là có giá trị sử dụng
Bài 0: Tổng quan về Python
(Ví dụ 4-Chương 7)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
ĐỊNH NGHĨA ĐẦY ĐỦ LỚP CAR
(Ví dụ 5-Chương 7)
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
SỰ KẾ THỪA (INHERITANCE)
• Giới thiệu
– Sự kế thừa cho phép một lớp có thể kế thừa thuộc tính
và phương thức từ các lớp khác đã được định nghĩa.
Bài 0: Tổng quan về Python
– Lớp con kế thừa tất cả thành phần của lớp cha, có thể
mở rộng các thành phần kế thừa và bổ sung thêm các
thành phần mới.
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
SỰ KẾ THỪA (INHERITANCE)
• Tình huống
– Lớp Car
Bài 0: Tổng quan về Python
– Lớp Toyota bao gồm tất cả thuộc tính, phương thức của
lớp Car, bổ sung
• Thuộc tính: socho, loaimay
• Phương thức: onPause, onResume
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
SỰ KẾ THỪA (INHERITANCE)
Bài 0: Tổng quan về Python
(Ví dụ 6-Chương 7)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
SỰ ĐÓNG GÓI (ENCAPSULATION)
• Giới thiệu
– Sự đóng gói cho phép giới hạn việc truy cập vào thuộc
tính/phương thức bên trong đối tượng
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
SỰ ĐÓNG GÓI (ENCAPSULATION)
• Tình huống
– Lớp Motor có
Bài 0: Tổng quan về Python
– Chú ý:
• Việc thay đổi hãng xe thực hiện trực tiếp trên đối tượng
• Việc thay đổi phân khối phải thông qua phương thức
doiphankhoi
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
SỰ ĐÓNG GÓI (ENCAPSULATION)
Bài 0: Tổng quan về Python
(Ví dụ 7-Chương 7)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
TÍNH ĐA HÌNH (POLYMORPHISM)
• Giới thiệu
– Tính đa hình cho phép hai hay nhiều lớp có những
phương thức giống nhau nhưng có thể thực thi theo
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
TÍNH ĐA HÌNH (POLYMORPHISM)
• Tình huống
– Tính đa hình cho phép hai hay nhiều lớp có những
phương thức giống nhau nhưng có thể thực thi theo
Bài 0: Tổng quan về Python
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam
TÍNH ĐA HÌNH (POLYMORPHISM)
Bài 0: Tổng quan về Python
(Ví dụ 8-Chương 7)
… những bước chập chững vào thế giới Khoa học dữ liệu ... TS. Trịnh Hoàng Nam