Tải bản đầy đủ (.doc) (66 trang)

VIẾT CHƯƠNG TRÌNH THỬ NGHIỆM DỰ BÁO SỰ BIẾN ĐỘNG CỦA GIÁ CHỨNG KHOÁN ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.89 MB, 66 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ CƠNG NGHỆ HẢI PHỊNG

-------------------------------

ISO 9001:2015

ĐỒ ÁN TỐT NGHIỆP
NGÀNH: CƠNG NGHỆ THÔNG TIN

Sinh viên

: Lê Gia Tiến

Giảng viên hướng dẫn: Ths. Nguyễn Thị Xuân Hương

HẢI PHÒNG – 2020


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ CƠNG NGHỆ HẢI PHỊNG
----------------------------------TÌM HIỂU NGƠN NGỮ LẬP TRÌNH PYTHON

VIẾT CHƯƠNG TRÌNH THỬ NGHIỆM
DỰ BÁO SỰ BIẾN ĐỘNG CỦA GIÁ CHỨNG KHỐN
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

NGÀNH: CÔNG NGHỆ THÔNG TIN
Sinh viên

: LÊ GIA TIẾN



Giảng viên hướng dẫn : Ths. NGUYỄN THỊ XUÂN HƯƠNG
HẢI PHÒNG – 2020


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC QUẢN LÝ VÀ CƠNG NGHỆ HẢI PHỊNG

--------------------------------------

NHIỆM VỤ ĐỀ TÀI TỐT NGHIỆP

Sinh viên: LÊ GIA TIẾN
Lớp

Mã SV: 1512111031

: CT1901C

Ngành : CÔNG NGHỆ THƠNG TIN
Tên đề tài: Tìm hiểu ngơn ngữ lập trình python, viết chương trình thử
nghiệm dự báo sự biến động của giá chứng khoán.

1


NHIỆM VỤ ĐỀ TÀI

1. Nội dung và các yêu cầu cần giải quyết trong nhiệm vụ đề tài tốt nghiệp
- Tìm hiểu về ngơn ngữ lập trình python.

- Tìm hiểu về bài tốn dự báo trong python.
- Viết chương trình thử nghiệm dự báo sự biến động của giá chứng khốn
bằng ngơn ngữ python.
2. Các tài liệu, số liệu cần thiết
- Số liệu: Số liệu về giá cổ phiếu của các cơng ty niêm yết trên thị trường
chứng khốn Việt Nam.
3. Địa điểm thực tập tốt nghiệp
- Trường Đại Quản lý và Cơng nghệ Hải Phịng

2


CÁN BỘ HƯỚNG DẪN ĐỀ TÀI TỐT NGHIỆP

Họ và tên

: Nguyễn Thị Xuân Hương

Học hàm, học vị

: Thạc sỹ

Cơ quan công tác : Trường Đại học Quản lý và Công nghệ Hải Phịng
Nội dung hướng dẫn:
- Tìm hiểu về ngơn ngữ lập trình python.
- Tìm hiểu về bài tốn dự báo.
- Tìm hiểu về bài tốn dự báo giá chứng khốn
- Viết chương trình dự báo sự biến động của giá chứng khốn bằng ngơn ngữ
python.


Đề tài tốt nghiệp được giao ngày 03 tháng 08 năm 2020
Yêu cầu phải hoàn thành xong trước ngày 17 tháng 10 năm 2020

Đã nhận nhiệm vụ ĐTTN
Sinh viên

Đã giao nhiệm vụ ĐTTN
Giảng viên hướng dẫn

Hải Phòng, ngày tháng năm 2020
TRƯỞNG KHOA

3


CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN TỐT NGHIỆP
Họ và tên giảng viên: Nguyễn Thị Xuân Hương
Đơn vị công tác: Khoa Công nghệ Thông tin – Trường Đại học quản lý và Cơng nghệ Hải
Phịng.
Họ và tên sinh viên: ……………………………… Ngành: ………………………………….
Nội dung hướng dẫn:

- Tìm hiểu về ngơn ngữ lập trình python.
- Tìm hiểu về bài tốn dự báo.
- Tìm hiểu về bài tốn dự báo sự biến động của giá chứng khoán
- Viết chương trình dự báo sự biến động của giá chứng khốn bằng ngơn ngữ
python.
Tinh thần thái độ của sinh viên trong quá trình làm đề tài tốt nghiệp

-

Nghiên túc, chịu khó và có tinh thần học hỏi, tự nghiên cứu.

-

Hồn thành các yêu cầu do giáo viên hướng dẫn đề ra.

1. Đánh giá chất lượng của đồ án/khóa luận (so với nội dung yêu cầu đã đề ra trong
nhiệm vụ Đ. T. T. N trên các mặt lý luận, thực tiễn, tính tốn số liệu…)
-

Về mặt lý thuyết, sinh viên Lê Gia Tiến đã tìm hiểu và trình bày một cách logic để
lập trình trên ngơn ngữ Python. Sinh viên cũng đã tìm hiểu về bài tốn dự báo và
bài toán dự báo sự biến động của giá chứng khoán.

-

Về thực nghiệm, sinh viên đã thực hiện viết chương trình thử nghiệm một số mơ
hình dự báo thống kê trên ngôn ngữ Python.

-

Đồ án đạt được các mục tiêu đề ra, đề nghị cho sinh viên được bảo vệ trước hội
đồng chấm tốt nghiệp ngành Công nghệ Thông tin.

3. Ý kiến của giảng viên hướng dẫn tốt nghiệp

Đạt


Khơng đạt

Điểm:…………………………………….
..
Hải Phịng, ngày… … tháng …. năm
2020
Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)

4


CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN CHẤM PHẢN BIỆN
Họ và tên giảng viên: ………………………………………………………………………
Đơn vị công tác: ……………………………………………………………………………
Họ và tên sinh viên: ……………………………… Ngành: ……………………………….

Đề tài tốt nghiệp: Tìm hiểu ngơn ngữ lập trình python, viết chương trình thử nghiệm

dự báo sự biến động của giá chứng khoán.
1. Phần nhận xét của giảng viên chấm phản biện

...................................................................
................................................................
..
...................................................................
................................................................

..
...................................................................
................................................................
..
...................................................................
................................................................
..
...................................................................
................................................................
..
...................................................................
................................................................
..

5


...................................................................
................................................................
..
2. Những mặt còn hạn chế

...................................................................
................................................................
..
...................................................................
................................................................
..
...................................................................
................................................................

..
...................................................................
................................................................
..
...................................................................
................................................................
..
3. Ý kiến của giảng viên chấm phản biện

Được bảo vệ

Khơng được bảo vệ

Điểm…………………….

Hải Phịng, ngày …… tháng …. . năm 2020
Giảng viên chấm phản biện
(Ký và ghi rõ họ tên)

6


LỜI CẢM ƠN
Lời đầu tiên em xin chân thành cảm ơn các Thầy, Cô trong khoa Công nghệ
Thông tin cùng tồn thể các Thầy, Cơ trường Đại học Dân lập Hải Phịng nay là
trường Đại học Quản lý và Cơng nghệ Hải Phòng đã giảng dạy, truyền đạt cho em
những kiến thức quý báu và tạo điều kiện thuận lợi cho em trong suốt quá trình học
tập tại trường cũng như trong thời gian thực hiện đồ án tốt nghiệp.
Đặc biệt, em muốn gửi lời cảm ơn tới Thạc Sỹ Nguyễn Thị Xuân Hương
giảng viên trực tiếp hướng dẫn tận tình chỉ bảo giúp em khắc phục những khó

khăn, thiếu sót để có thể hồn thành các phần trong đồ án tốt nghiệp từ tìm hiểu lý
thuyết cho tới thực hành sử dụng công cụ.
Xin cảm ơn các bạn bè, người thân đã luôn đồng hành cùng tôi trong suốt
thời gian qua và cho tôi chỗ dựa vững chắc để tôi đạt được những kết quả như ngày
hôm nay.
Với hiểu biết tìm tịi của bản thân và sự chỉ bảo hướng dẫn tận tình của
giảng viên em đã cố gắng hồn thành đồ án một cách tốt nhất có thể nhưng cũng
khơng thể tránh được thiếu sót. Kính mong nhận được sự đóng góp ý kiến từ thầy
cơ để em có thể nâng cao cũng như bổ sung thêm kiến thức cho bản thân, hoàn
thiện đồ án với một kết quả tốt và hoản chỉnh hơn.
Em xin chân thành cảm ơn!

Hải Phòng, ngày tháng năm 2020.
Sinh viên thực hiện

Lê Gia Tiến

7


MỤC LỤC

MỤC LỤC ................................................................................................................. 8
MỞ ĐẦU ................................................................................................................. 14
Chương 1NGÔN NGỮ LẬP TRÌNH PYTHON ..............................................

16

1. 1 Giới thiệu ....................................................................................................... 16
Tại Sao Nên Học Lập Trình Python? .................................................................. 17

1. 2 Cài đặt môi trường làm việc “cài đặt PyCharm” ........................................... 17
1. 3 Cài đặt python ................................................................................................ 19
1. 4 Tạo file và viết mã Python trên PyCharm ..................................................... 20
1. 5 Các Khái Niệm Cơ Bản Trong Lập Trình Python ......................................... 21
1. 5. 1 Comments trong python .................................................................... 21
1. 6 Cấu trúc dữ liệu là gì, các kiểu cấu trúc dữ liệu trong python. ..................... 22
1. 7 Cấu trúc điều khiển trong python .................................................................. 23
1. 7. 1 Lệnh IF .............................................................................................. 23
1. 7. 2 Lệnh FOR .......................................................................................... 24
1. 7. 3 Lệnh While ........................................................................................ 26
1. 8 Cài đặt các gói thư viện cơ bản trong python ................................................ 27
1. 8. 1 Cài đặt pip ......................................................................................... 27
1. 8. 2 một số gói thư viện thơng dụng cho Python ..................................... 28
1. 9 Sử Dụng Hàm Trong Python ......................................................................... 29
1. 9. 1 Hàm (Function) ................................................................................. 29
1. 9. 2 Các thông số của Hàm (Function Parameters) .................................. 30
1. 9. 3 Câu lệnh return trong Python ............................................................ 31
8


1.9.4
DocStrings trong Python ................................................................... 33
1. 9. 5 Ví dụ về hàm DocStrings trong Python ............................................ 33
1. 10 Đọc file CSV trong python ......................................................................... 34
1. 10. 1 Tệp CSV là gì ? ................................................................................. 34
1. 10. 2 Các hàm của module CSV trong Python .......................................... 34
1. 10. 3 Cách đọc tệp CSV ............................................................................. 35
1. 10. 4 Cách viết tệp CSV ............................................................................. 36
1. 11 Sử dụng thư viện pandas trong Python ....................................................... 37
1. 11. 1 Thư viện pandas python là gì? .......................................................... 37

1. 11. 2 Tại sao lại dùng thư viện pandas? ..................................................... 37
1. 11. 3 Đọc file csv sử dụng thư viện pandas ............................................... 38
1. 11. 4 Thao tác với dataframe trong pandas ................................................ 39
1. 12 Vẽ biểu đồ trong python ............................................................................. 42
1. 12. 1 Matplotlib .......................................................................................... 42
1. 12. 2 Khái niệm chung ............................................................................... 42
1. 12. 3 Ví dụ tạo một biểu đồ đơn giản ......................................................... 43
Chương 2BÀI TOÁN DỰ BÁO ....................................................................... 44
2. 1 Bài toán dự báo .............................................................................................. 44
2. 1. 1

Dự báo hỗ trợ quá trình ra quyết định trong các tình huống ............. 44

2. 1. 2

Chuỗi thời gian (Time Series). ......................................................... 45

2. 2 Tiến trình của một bài tốn dự báo ................................................................ 49
2.2.1

Tiêu chuẩn dự báo. ........................................................................... 50

2. 2. 2

Các đặc tính định dạng: ..................................................................... 50

Chương 3

BÀI TỐN DỰ BÁO GIÁ CỔ PHIẾU VÀ THỰC NGHIỆM ....... 51
9



3. 1 Giới thiệu bài toán dự báo giá cổ phiếu.........................................................51
3. 2 Phát biểu bài tốn...........................................................................................53
3. 3 Một số mơ hình dự báo thống kê...................................................................54
3. 3. 1 Mơ hình trượt đơn Moving Average (MA) để phân tích dự báo giá
chứng khốn....................................................................................................54
3. 3. 2 Mơ hình làm mịn theo cấp số nhân (exponential smoothing)...........55
3. 3. 3 Mơ hình làm mịn hàm mũ kép “Double exponential smoothing”. .. 56
Chương trình thực nghiệm.................................................................................. 57
3. 3. 4 Kết quả mơ hình trượt đơn Moving Average (MA).......................... 58
3. 3. 5 Kết quả thực nghiệm mô hình làm mịn theo cấp số nhân (exponential
smoothing)...................................................................................................... 60
3. 3. 6 Kết quả thực nghiệm mơ hình làm mịn hàm mũ kép “Double
exponential smoothing”.................................................................................. 61
3. 3. 7 Tổng kết.............................................................................................62
KẾT LUẬN.............................................................................................................63
DANH MỤC TÀI LIỆU THAM KHẢO................................................................64

10


DANH MỤC HÌNH ẢNH TRONG BÁO CÁO
Hình 1. 2-1 dowload PyCharm............................................................................... 18
Hình 1. 2-2 Cài đặt PyCharm..................................................................................18
Hình 1. 2-3 Tạo project...........................................................................................19
Hình 1. 3-1 Download python.................................................................................19
Hình 1. 3-2 Cài đặt python......................................................................................20
Hình 1. 4-1 Tạo file python.....................................................................................20
Hình 1. 4-2 Ví dụ Hello world................................................................................ 20

Hình 1. 5-1 Comment trong python........................................................................21
Hình 1. 6-1 So sánh list và tuple............................................................................. 23
Hình 1. 7-1 Ví dụ lệnh if trong bài tốn..................................................................24
Hình 1. 7-2 kết quả ví dụ lệnh if............................................................................. 24
Hình 1. 7-3 ví dụ lệnh for........................................................................................25
Hình 1. 7-4 kết quả ví dụ lệnh for...........................................................................25
Hình 1. 7-5 Ví dụ lệnh while...................................................................................26
Hình 1. 7-6 kết quả ví dụ lệnh while.......................................................................26
Hình 1. 8-1 Minh họa cài đặt pip............................................................................27
Hình 1. 8-2 Ví dụ cài đặt thư viện matplotlib......................................................... 27
Hình 1. 9-1 Ví dụ về hàm........................................................................................30
Hình 1. 9-2 kết quả..................................................................................................30
Hình 1. 9-3 Ví dụ hàm Function parameters...........................................................31
Hình 1. 9-4 kết quả ví dụ hàm Function parameters...............................................31
Hình 1. 9-5 lệnh return............................................................................................32
11


Hình 1. 9-6 ví dụ lệnh return...................................................................................32
Hình 1. 9-7 kết quả ví dụ lệnh return...................................................................... 32
Hình 1. 9-8 ví dụ hàm DocString............................................................................33
Hình 1. 9-9 Kết quả ví dụ hàm DocString.............................................................. 34
Hình 1. 10-1 ví dụ cách đọc tệp CSV..................................................................... 35
Hình 1. 10-2 kết quả ví dụ đọc tệp CSV................................................................. 36
Hình 1. 10-3 Cách viêt tệp CSV............................................................................. 36
Hình 1. 10-4 kết quả trong tệp CSV........................................................................36
Hình 1. 11-1 Đọc file CSV sử dụng pandas............................................................38
Hình 1. 11-2 Ví dụ...................................................................................................39
Hình 1. 11-3............................................................................................................ 40
Hình 1. 11-4 kết quả theo 1 cột...............................................................................40

Hình 1. 11-5 kết quả theo nhiều cột........................................................................41
Hình 1. 11-6 Lấy bản ghi theo chỉ số......................................................................41
Hình 1. 11-7 kết quả numpy arrays trả về...............................................................42
Hình 1. 11-8 thêm cột từ dữ liệu........................................ Error! Bookmark not defined.
Hình 1. 11-9 thêm cột vào dữ liệu có sẵn.....................Error! Bookmark not defined.
Hình 1. 11-10 kết quả data frame...................................... Error! Bookmark not defined.
Hình 1. 11-11 kết quả thực hiện......................................... Error! Bookmark not defined.
Hình 1. 11-12 kết quả.............................................................. Error! Bookmark not defined.
Hình 1. 11-13 kết quả trên từng cột................................. Error! Bookmark not defined.
Hình 1. 11-14 kết quả tạo mới............................................ Error! Bookmark not defined.
Hình 1. 11-15 kết quả từ python list................................ Error! Bookmark not defined.
Hình 1. 11-16 kết quả ví dụ.................................................. Error! Bookmark not defined.
12


Hình 1. 11-17 kết quả được lưu.......................................... Error! Bookmark not defined.
Hình 1. 12-1 ví dụ tạo biểu đồ................................................................................ 43
Hình 2. 2-1 Đồ thị của xt theo t...............................................................................46
Hình 2. 2-3 Đồ thị của xt/xt-1*100 theo t................................................................ 47
Hình 2. 2-4 Đồ thị của xt– xt-1theo t........................................................................47
Hình 2. 2-5 Một số định dạng dữ liệu.....................................................................48
Hình 2. 3-1 Tiến trình chung của một bài tốn dự báo........................................... 49
Hình 3. 3-1 Ví dụ về mơ hình làm mịn theo cấp số nhân....................................... 56
Hình 3. 3-2 Minh họa bảng dữ liệu.........................................................................57
Hình 3. 3-3 Kết quả thực nghiệm mơ hình Moving Average kích thước cửa sổ trượt
là 60.........................................................................................................................58
Hình 3. 3-4 Kết quả thực nghiệm mơ hình Moving Average kích thước cửa sổ trượt
là 30.........................................................................................................................58
Hình 3. 3-5 Kết quả thực nghiệm mơ hình Moving Average kích thước cửa sổ trượt
là 15.........................................................................................................................59

Hình 3. 3-6 Kết quả thực nghiệm mơ hình làm mịn theo cấp số nhân....................60
Hình 3. 3-7 Kết quả thực nghiệm mơ hình làm mịn hàm mũ kép...........................61

13


MỞ ĐẦU
Trong cuộc sống hiện đại ngày nay, khi nền kinh tế ngày càng phát triển
ngành công nghệ thông tin là một trợ thủ đắc lực cho hầu hết các ngành nghề. Sự
góp mặt của các chương trình ứng dụng đã mang lại nhiều lợi ích thiết thực và làm
cho cách thức vận hành và hoạt động của các liên ngành khác trở lên linh hoạt và
mang lại hiệu quả cao. Đặc biệt, trong thời đại công nghệ 4. 0 chúng ta gần như
không thể thiếu được những khái niệm liên quan đến công nghệ thông tin, từ các
phương tiện truyền thơng, xã hội, văn hóa, giải trí, khoa học kỹ thuật cho đến lĩnh
vực kinh doanh, quản lý, y tế, giáo dục v.v. Đâu đâu cũng cần những phần mềm
cũng như sản phẩm của công nghệ thông tin đễ hỗ trợ giúp thúc đẩy sự phát triển
vững mạnh hơn. Ví dụ trong lĩnh vực kinh doanh bn bán hàng hóa theo cách
truyền thống vẫn cịn tồn tại nhiều nhược điểm như thống kê chi tiết chưa chính
xác, quy trình thanh tốn chưa được chặt chẽ và nhanh chóng, nhưng nhờ có các
phần mềm quản lý, thanh tốn điện tử mà các nhà quản lý có thể theo dõi các kết
quả thực hiện chính xác của hệ thống.
Để tạo ra các sản phẩm phần mềm hữu ích, cùng với sự phát triển của nhiều
ngơn ngữ lập trình đáp ứng cho cơng nghiệp 4. 0 thì Python là một cái tên đáng
chú ý. Hiện nay ngôn ngữ Python được xếp hạng 1 trong Top 10 các ngơn ngữ lập
trình phổ biến nhất đang được thế giới sử dụng. Python là một ngơn ngữ có hình
thái rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới bắt đầu học lập trình.
Cấu trúc của Python cịn cho phép người sử dụng viết mã lệnh với số lần gõ phím
tối thiểu nhất. Python là một ngơn ngữ lập trình đơn giản nhưng lại rất hiệu quả.
Bên cạnh đó, Python là một ngơn ngữ có tính hướng đối tượng cao, và được sử
dụng rất nhiều cho các bài toán xử lý với dữ liệu lớn. Với ngơn ngữ lập trình

python là một ngơn ngữ lập trình đa năng với nhiều ưu điểm vượt trội, và đang
đứng ở vị trí số một trong top các ngơn ngữ lập trình hiện nay. Chính vì những ưu
điểm này nên lem đã chọn đề tài tìm hiểu ngơn ngữ lập trình Python và viết
chương trình thực nghiệm dự báo sự biến động của giá chứng khoán làm đề tài tốt
nghiệp của mình.
14


Đồ án gồm các nội dung sau:
Chương I. Tìm hiểu về ngơn ngữ lập trình python, trong đó trình bày về
lịch sử phát triển, cài đặt phần mềm, các cấu trúc điều khiển, các cấu trúc dữ liệu
và một số cơng cụ trong ngơn ngữ lập trình Python.
Chương II Tìm hiểu về bài tốn dự báo, trong đó trình bày về bài tốn dự
báo, tiến trình của bài tốn dự báo và tiêu chuẩn của bài toán dự báo.
Chương III Bài toán ứng dụng dự báo giá cổ phiếu và thực nghiệm, trong
đó trình bày về bài tốn dự báo giá cổ phiếu, một số phương pháp thống kê để dự
báo giá cổ phiếu, chương trình thử nghiệm và kết quả dự báo với dữ liệu chứng
khốn của cơng ty chứng khoán được niêm yết trên thị trường chứng khoán Việt
Nam.
Cuối cùng là phần kết luận trong đó trình bày các nội dung và kết quả thực
hiện của đề tài, những hạn chế và hướng nghiên cứu tiếp theo.

15


Chương 1 NGƠN NGỮ LẬP TRÌNH PYTHON
1.1

Giới thiệu


Lịch sử hình thành
Python đã được hình thành vào cuối những năm 1980 và được bắt đầu thực
hiện vào tháng 12/1989 bởi Guido van Rossum tại CWI tại Hà Lan như là người kế
thừa của ngôn ngữ ABC (tự lấy cảm hứng từ SETL) có khả năng xử lý ngoại lệ và
giao tiếp với hệ điều hành Amoeba. Van Rossum là tác giả chính của Python, và
vai trị trung tâm của ơng tiếp tục trong việc quyết định hướng phát triển của
Python được phản ánh trong tiêu đề mà cộng đồng Python dành cho ông “Độc tài
nhân từ cho cuộc sống” (benevolent dictator for life)(BDFL).
Python 2. 0 được phát hành vào ngày 16/10/2000, với nhiều tính năng chính
mới bao gồm một bộ dọn rác đầy đủ và hỗ trợ Unicode. Với phiên bản này, quá
trình phát triển đã được thay đổi và trở thành minh bạch hơn và được cộng đồng
ủng hộ.
Python 3. 0 (còn được gọi là Python 3000 hoặc Py3k), một bản phát hành
lớn, khơng tương thích ngược, được phát hành vào ngày 03/12/2008 sau một thời
gian dài thử nghiệm. Nhiều trong số các tính năng chính của nó đã được điều chỉnh
để tương thích ngược với Python 2. 6 và 2. 7. Các tính năng và triết lý phát triển
Python là 1 ngơn ngữ lập trình đa hình: lập trình hướng đối tượng và hướng cấu
trúc được hỗ trợ đầy đủ, và có 1 số tính năng của ngơn ngữ hỗ trợ lập trình theo
chức năng và lập trình hướng khía cạnh (Aspect-oriented programming). Nhiều mơ
hình khác được hỗ trợ bằng việc sử dụng các phần mở rộng, bao gồm thiết kế theo
hợp đồng (design by contract) và lập trình luận lý.
Các trang như Mozilla, Reddit, Instagram và PBS đều được viết bằng Python.
Ngơn ngữ lập trình Python được dùng vào các mục đích:
 Phát triển web (trên máy chủ)
 Phát triển phần mềm
16


 Tính tốn một cách khoa học
 Lên kịch bản cho hệ thống

Tại Sao Nên Học Lập Trình Python?
 Python hỗ trợ nhiều nền tảng khác nhau (Windows, Mac, Linux,
Raspberry Pi, etc).
 Python có cú pháp đơn giản, dễ đọc hiểu và rất gần gũi với tiếng Anh.
 Cú pháp của Python giúp lập trình viên sử dụng ít dịng code để lập
trình cùng một thuật tốn hơn so với các ngơn ngữ lập trình khác.
 Python sử dụng trình thơng dịch để thực thi các dịng code. Do đó,
những dịng code có thể được thực thi ngay lập tức mà khơng cần biên
dịch tồn bộ chương trình. Như vậy giúp chúng ta kiểm tra code
nhanh hơn.
Python cũng hỗ trợ hàm, thủ tục, hay kể cả lập trình hướng đối tượng.
Để viết mã nguồn Python, ta có thể sử dụng bất kỳ một trình soạn thảo nào,
kể cả những trình soạn thảo đơn giản nhất như NotePad. Tuy nhiên, để phát triển
các ứng dụng một cách hiệu quả hơn, ta nên sử dụng một IDE, để có thể tiết kiệm
thời gian và cơng sức viết code.
Trong phần tìm hiểu này, đồ án sử dụng một trong những IDE thông dụng
nhất để lập trình ứng dụng Python, đó là PyCharm IDE.
1.2 Cài đặt môi trường làm việc “cài đặt PyCharm”
Để download Pycharm, ta truy cập vào:
https://www. jetbrains. com/pycharm/download/#section=windows và tải về

17


Hình 1.2-1 dowload PyCharm

Sau khi đã tải phiên bản pycahrm về máy ta tiến hành cài đặt pycharm theo các
bước trong hướng dẫn và những tùy chọn cài đặt.

Hình 1.2-2 Cài đặt PyCharm


18


Sau khi q trình cài đặt được hồn tất, giao diện của PyCharm sẽ như hình

Hình 1.2-3 Tạo project

1.3 Cài đặt python
Để download Python, ta truy cập địa chỉ trang chủ của python qua địa chỉ
https://www. python. org/downloads/ và tải python bản mới nhất.

Hình 1.3-1 Download python

Sau khi download xong nhấn vào file. exe vừa download và kích hoạt để cài đặt.
Lúc này chỉ cần thực hiện lần lượt các bước theo hướng dẫn như chọn các thành
phần cài đặt, xác định đường dẫn cần thiết và các thông số khác.
19


Hình 1.3-2 Cài đặt python

1.4 Tạo file và viết mã Python trên PyCharm
Sau khi đã tạo xong Project, ta click phải chuột lên Project, rồi tạo mới một Python
File, để tạo một file mã nguồn Python. Và đặt tên cho file đó, file được viết bằng
ngơn ngữ lập trình python có đi “py”

Hình 1.4-1 Tạo file python

Thử viết một ví dụ in ra “Hello world” trên pycharm bằng ngôn ngữ lập trình

python.

Hình 1.4-2 Ví dụ Hello world
20


1.5 Các Khái Niệm Cơ Bản Trong Lập Trình Python
1.5.1 Comments trong python

Trong Python bất kỳ văn bản nào ở bên phải biểu tượng # thì sẽ được trình biên
dịch hiểu là một comment và khơng biên dịch phần đó.

Hình 1.5-1 Comment trong python

Sử dụng càng nhiều comment hữu ích trong chương trình của bạn sẽ làm cho cơng
việc lập trình của bạn dễ dàng hơn:
Giải thích các giả định.
Giải thích các quyết định quan trọng.
Giải thích chi tiết quan trọng.
Giải thích vấn đề bạn đang cố gắng giải quyết.
Giải thích các vấn đề đang cố gắng khắc phục trong chương trình của mình, v.v. .
Hằng số (Literal Constants): Ví dụ về một hằng số theo nghĩa đen là một số như 5,
1. 23 hoặc một chuỗi như ‘python’hay “It’s a string!”. Nó được gọi là nghĩa đen
bởi vì sử dụng giá trị của nó theo nghĩa đen. Số 2 ln ln đại diện cho chính nó
và khơng có gì khác và nó là một hằng số vì giá trị của nó khơng thể thay đổi. Do
đó, tất cả những giá trị này được gọi là hằng số.
Số (Numbers): Số chủ yếu có hai loại – số nguyên (integer) và số thực (float).
Chuỗi (String): Một chuỗi là một dãy các ký tự. Chuỗi về cơ bản chỉ là một loạt
các từ.


21


Biến: Biến chính xác như tên gọi của nó, tức là giá trị của nó có thể thay đổi. Các
biến có thể giúp lưu trữ bất cứ cái gì nếu có thể định nghĩa được nó. Các biến chỉ là
một phần của bộ nhớ máy tính nơi lưu trữ một số thông tin.
Đối tượng (Object): Python đề cập đến bất cứ điều gì được sử dụng trong một
chương trình như là một đối tượng.
1.6 Cấu trúc dữ liệu là gì, các kiểu cấu trúc dữ liệu trong python.
Việc tổ chức, quản lý và lưu trữ dữ liệu rất quan trọng vì nó cho phép truy cập dễ
dàng hơn và sửa đổi hiệu quả. Cấu trúc dữ liệu (Data Structure) cho phép bạn sắp
xếp dữ liệu của mình theo cách cho phép bạn lưu trữ các bộ dữ liệu được thu thập,
liên quan đến chúng và theo đó mà thực hiện các thao tác trên chúng.
Python có hỗ trợ ngầm cho Cấu trúc dữ liệu cho phép lưu trữ và truy cập dữ liệu.
Các cấu trúc này được gọi là List, Dictionary, Tuple và Set.
Python cho phép người dùng tạo Cấu trúc dữ liệu của riêng họ, cho phép toàn
quyền kiểm soát chức năng. Các cấu trúc dữ liệu nổi bật nhất là Stack, Queue,
Tree, Linked List, v.v. đồng thời cũng có sẵn trong các ngơn ngữ lập trình khác.
Cấu trúc dữ liệu tích hợp (Built-in Data Structures)
Về cấu trúc dữ liệu trong Python, các Cấu trúc dữ liệu này được tích hợp sẵn với
Python giúp lập trình dễ dàng hơn và giúp các lập trình viên sử dụng chúng để có
được các giải pháp nhanh hơn. Và có các kiểu cấu trúc dữ liệu là:
List: Được sử dụng để lưu trữ dữ liệu của các loại dữ liệu khác nhau một cách tuần
tự. Có các địa chỉ được gán cho mọi thành phần của danh sách, được gọi là Index.
Giá trị chỉ mục bắt đầu từ 0 và tiếp tục cho đến khi phần tử cuối cùng được gọi là
chỉ số dương.
Dictionary: Được sử dụng để lưu trữ các cặp key-value. Để hiểu rõ hơn, hãy nghĩ
đến một thư mục điện thoại nơi hàng trăm và hàng ngàn tên và số tương ứng của
chúng đã được thêm vào. Bây giờ các giá trị không đổi ở đây là Tên và Số điện
thoại được gọi là các phím. Và các tên và số điện thoại khác nhau là các giá trị đã

22


được đưa vào các phím. Nếu truy cập các giá trị của các phím, sẽ nhận được tất cả
tên và số điện thoại. Vì vậy, đó là những gì một cặp key-value. Và trong Python,
cấu trúc này được lưu trữ bằng Dictionary
Set: Là một tập hợp các yếu tố không có thứ tự là duy nhất. Có nghĩa là ngay cả
khi dữ liệu được lặp lại nhiều lần, nó sẽ chỉ được nhập vào tập hợp một lần.
Tuple (các bộ dữ liệu): Tuples giống như các list với ngoại lệ là dữ liệu một khi
được nhập vào bộ dữ liệu khơng thể thay đổi bất kể điều gì. Ngoại lệ duy nhất là
khi dữ liệu bên trong Tuple có thể thay đổi, chỉ sau đó dữ liệu Tuple có thể được
thay đổi.

Hình 1.6-1 So sánh list và tuple

1.7 Cấu trúc điều khiển trong python
Python luôn chạy một loạt các câu lệnh theo thứ tự từ trên xuống một cách chính
xác. Câu lệnh điều khiển là loại câu lệnh được dùng để điều khiển luồng chạy của
các câu lệnh khác trong chương trình.
Điều này đạt được bằng cách sử dụng các câu lệnh điều khiển. Có 3 lệnh kiếm sốt
cấu trúc điều khiển của Python là: if, for và while.
1.7.1 Lệnh IF

Được sử dụng để kiểm tra một điều kiện: nếu điều kiện là đúng sẽ chạy một khối
các câu lệnh (được gọi là if-block), nếu sai chương trình sẽ xử lý một khối các câu
lệnh khác (được gọi là else-block ).
23



×