You are on page 1of 64

Lập trình với Python

Chương 1: Giới thiệu


Tài liệu tham khảo
1. Hill, C. (2020). Learning scientific programming with
Python. Cambridge University Press.
2. Stephenson, B. (2019). The Python Workbook 2nd.
Springer.
3. Pine, D. J. (2019). Introduction to Python for science
and engineering. CRC Press.
4. Kong, Q., Siauw, T., & Bayen, A. M. (2021) Python
Programming and Numerical Methods - A Guide for
Engineers and Scientists. Elsevier Inc.
Lập trình Python: Giới thiệu 2
Hướng dẫn cài đặt Python
• Download file cài đặt python tại
https://www.python.org/downloads/windows/
• Chọn version mà bạn muốn cài đặt. Giả sử cài version
3.7 bản Windows x84-64 executable installer
• Click đúp vào file.exe vừa tải về để cài đặt
• Chọn tick vào ô Add Python 3.7 to PATH (lựa chọn này
giúp bạn chạy lệnh python trên cmd, powershell trên
windows)
Lập trình Python: Giới thiệu 3
Hướng dẫn cài đặt Python

Lập trình Python: Giới thiệu 4


Hướng dẫn cài đặt Python

Lập trình Python: Giới thiệu 5


Hướng dẫn cài đặt Python

Lập trình Python: Giới thiệu 6


Hướng dẫn cài đặt Python

Lập trình Python: Giới thiệu 7


Hướng dẫn cài đặt Visual Studio Code
• Download file cài đặt Visual Studio Code tại
https://code.visualstudio.com/docs/?dv=win
• Click đúp vào file.exe vừa tải về để cài đặt.
• Giao diện sau khi các bạn cài xong.
• Cài extension và sử dụng nó cho python. (Bạn bấm : Ctrl
+ Shift + x . Tìm python bấm install)

Lập trình Python: Giới thiệu 8


Hướng dẫn cài đặt Visual Studio Code

Lập trình Python: Giới thiệu 9


Hướng dẫn cài đặt Visual Studio Code

Lập trình Python: Giới thiệu 10


Hướng dẫn cài đặt thư viện
• Nhấn tổ hợp Windows + S để mở cửa sổ tìm kiếm, nhập
vào từ khóa cmd, chọn Command Prompt.

Lập trình Python: Giới thiệu 11


Hướng dẫn cài đặt thư viện
• Gõ lệnh python --version để kiểm tra version Python mà
các bạn đã cài,

Lập trình Python: Giới thiệu 12


Hướng dẫn cài đặt thư viện
• Cài thư việc Numpy bằng lệnh: pip install numpy

Lập trình Python: Giới thiệu 13


Hướng dẫn cài đặt thư viện
• Cài thư viện Matplotlib bằng lệnh: pip install matplotlib

Lập trình Python: Giới thiệu 14


Hướng dẫn cài đặt thư viện
• Cài đặt scipy bằng lệnh: pip install scipy

Lập trình Python: Giới thiệu 15


Lịch sử các ngôn ngữ lập trình
• 1800: Joseph Marie Jacquard dạy một cái máy đọc những
tấm thẻ đục lỗ, tạo ra đơn vị xử lý đa luồng đầu tiên. Phát
minh của ông đã bị các nhà sản xuất tơ tằm phản đối kịch liệt
những người đã thấy trước sự ra đời của Skynet.
• 1842: Ada Lovelace một phụ nữ quý tộc bắt đầu phác thảo
trong một quyển sách (notebook), cái mà sau này được biết
đến như là chương trình máy tính đầu tiên được xuất bản, chỉ
hơi bất tiện bởi thực tế là máy tính không tồn tại vào thời
điểm đó.

Lập trình Python: Giới thiệu 16


Lịch sử các ngôn ngữ lập trình
• 1936: Alan Turing được coi là cha đẻ của khoa học máy tính,
nhưng ông đã bị tòa án Anh thiến về mặt hóa học. Nữ hoàng
sau đó đã ân xá cho ông ta, nhưng tiếc rằng ông đã qua đời
được nhiều thế kỷ tại thời điểm đó.
• 1936: Alonzo Church cũng phát minh ra mọi thứ vói
Turning, nhưng ở phía bên kia đại dương và không bị thiến
bởi nữ hoàng.

Lập trình Python: Giới thiệu 17


Lịch sử các ngôn ngữ lập trình
• 1957: John Backus tạo ra FORTRAN là ngôn ngữ đầu tiên
được các lập trình viên thực sự sử dụng.
• 1959: Grace Hopper phát minh ra ngôn ngữ lập trình hướng
thương mại và gọi nó là "common business-oriented
language" hay viết tắt là COBOL.
• 1964: John Kemery và Thomas Kurtz thấy rằng các ngôn ngữ
lập trình hiện tại quá khó và họ đã tạo ra một ngôn ngữ đơn
giản, dễ sử dụng và gọi nó là BASIC.

Lập trình Python: Giới thiệu 18


Lịch sử các ngôn ngữ lập trình
• 1970: Niklaus Wirth tạo ra Pascal cùng với một số ngôn ngữ
khác, ông thích tạo ra các ngôn ngữ. Ông cũng phát minh
ra luật của Wirth cái làm cho luật của Moore thành lỗi thời
bởi vì các lập trình viên phần mềm sẽ viết các phần mềm
cồng kềnh đến nỗi ngay cả các máy tính lớn (mainframe)
cũng không thể theo kịp. Điều này sau đó sẽ được chứng
minh là đúng với phát minh của Electron.js.

Lập trình Python: Giới thiệu 19


Lịch sử các ngôn ngữ lập trình
• 1972: Dennis Ritchie cảm thấy buồn chán khi làm việc tại
Bell Labs vì thế ông quyết định tạo ra C ngôn ngữ có những
dấu ngoặc nhọn {} và nó là một thành công lớn. Sau đó ông
bổ sung thêm secmentation faults và các tính năng thân thiện
với các lập trình viên để tăng hiệu xuất. Ông và bạn bè của
mình tại Bell Labs cũng làm một chương trình demo cho C,
kết quả họ đã tạo ra một hệ điều hành gọi là Unix.

Lập trình Python: Giới thiệu 20


Lịch sử các ngôn ngữ lập trình
• 1980: Alan Kay phát minh ra ngôn ngữ lập trình hướng đối
tượng gọi là Smalltalk, trong Smalltalk mọi thứ đều là đối
tượng. Không một ai thực sự có thời gian để hiểu ý nghĩa của
small talk.
• 1987: Larry Wall với kinh nghiệm tôn giáo, trở thành một
nhà thuyết giảng và làm cho Perl trở thành một học thuyết.
• 1983: Jean Ichbiah nhận thấy rằng những chương trình Ada
Lovelace chưa bao giờ thực sự chạy và đã quyết định tạo ra
một ngôn ngữ với tên của bà nhưng ngôn ngữ này tiếp tục
không chạy.
Lập trình Python: Giới thiệu 21
Lịch sử các ngôn ngữ lập trình
• 1986: Brac Box và Tol Move quyết định tạo thêm một phiên
bản C dựa trên Smalltalk, cái được gọi là Objective-C.
• 1983: Bjarne Stroustrup bổ sung thêm nhiều tính năng nâng
cao mà ông có thể nghĩ ra cho C và đặt cho ngôn ngữ lập
trình này là C++.
• 1991: Guido van Rossum phát minh ra Python, cú pháp được
chọn lấy cảm hứng từ Monty Python và Flying Circus.

Lập trình Python: Giới thiệu 22


Lịch sử các ngôn ngữ lập trình
• 1993: Roberto Ierusalimschy và bạn của mình quyết định học
cần một ngôn ngữ kịch bản cho Brazil, trong quá trình địa
phương hóa một lỗi phát sinh làm cho chỉ số đếm bắt đầu từ
1 thay vì 0, họ đặt tên nó là Lua.
• 1994: Rasmus Lerdorf làm một động cơ mẫu cho các kịch
bản (scripts) CGI trên trang cá nhân của mình, ông phát
hành dotfiles trên web. Thế giới quyết định sử dụng các
dotfiles cho mọi thứ và trong cơn sốt này Rasmus tung ra
một vài liên kết cơ sở dữ liệu mở rộng cho nó và gọi nó là
PHP.
Lập trình Python: Giới thiệu 23
Lịch sử các ngôn ngữ lập trình
• 1995: Yukihiro Mastsumoto - Matz không thấy hạnh phúc,
ông nhận thấy các lập trình viên khác cũng vậy. Vì thế ông
tạo ra Ruby để giúp các lập trình hạnh phúc. Sau khi tạo ra
Ruby "Matz" hạnh phúc, cộng đồng Ruby cũng hạnh phúc và
mọi người hạnh phúc.

Lập trình Python: Giới thiệu 24


Lịch sử các ngôn ngữ lập trình
• 1995: Brendan Eich sử dụng những ngày cuối tuần để thiết
kế một ngôn ngữ sẽ được sử dụng rộng rãi trên mọi trình
duyệt và cuối cùng là Skynet. Ban đầu khi làm việc tại
Netscape ông gọi nó là LiveScript nhưng Java trở thành một
một ngôn ngữ lập trình phổ biến vì thế họ đã quyết định đổi
tên nó thành JavaScipt. Java trở thành một thương hiệu và
điều này đem đến rắc rối cho họ, JavaScript sau đó được đổi
tên thành ECMAScript nhưng mọi người vẫn gọi nó là
JavaScript.

Lập trình Python: Giới thiệu 25


Lịch sử các ngôn ngữ lập trình
• 1996: James Gosling phát minh Java, ngôn ngữ đầu tiên thực
sự hướng đối tượng nơi các quy tắc design patterns được chú
ý hơn chủ nghĩa thực dụng.
• 2001: Anders Hejlsberg viết lại Java và gọi nó là C# bởi vì
lập trình trong C tuyệt hơn Java. Mọi người thích phiên bản
Java mới này vì nó hoàn toàn không giống Java.
• 2005: David Hanselmeyer Hansen tạo ra một web framework
được gọi là Ruby on Rails, và mọi người không còn nhớ rằng
chúng là hai thứ riêng biệt.

Lập trình Python: Giới thiệu 26


Lịch sử các ngôn ngữ lập trình
• 2006: John Resig viết một thư viện cho JavaScript, và mọi
người nghĩ nó là một ngôn ngữ và sử dụng nó bằng cách
copy và pate những đoạn code jQuery từ internet.
• 2009: Ken Thompson và Rod Pike quyết định tạo một ngôn
ngữ giống C, với Gophers như là linh vật. Họ gọi nó là Go,
biến nó thành open source và bán những chiếc gối và mũ bảo
hiểm có thương hiệu Gopher.

Lập trình Python: Giới thiệu 27


Lịch sử các ngôn ngữ lập trình
• 2010: Gray Hoare cũng muốn tạo một ngôn ngữ giống C, anh
ấy gọi nó là Rust. Sau đó, Graydon chuyển sang làm việc trên
Swift cho Apple.
• 2012: Angers Hjelsberg muốn viết C# trong các trình duyệt
web, anh đã thiết kế TypeScript tương tự JavaScript nhưng
vay mượn nhiều ý tưởng từ Java.

Lập trình Python: Giới thiệu 28


Lịch sử các ngôn ngữ lập trình
• 2012: Angers Hjelsberg muốn viết C# trong các trình duyệt
web, anh đã thiết kế TypeScript tương tự JavaScript nhưng
vay mượn nhiều ý tưởng từ Java.
• 2013: Jaremy Ashkenas muốn hạnh phúc giống như các lập
trình viên Ruby vì thế anh tạo ra CoffeeScript ngôn ngữ trông
giống Ruby nhưng được biên dịch thành JavaScript. Nhưng
Jeremy chưa bao giờ thực sự hạnh phúc như Matz và các lập
trình viên Ruby.

Lập trình Python: Giới thiệu 29


Các khái niệm cơ bản
• Câu lệnh là đơn vị cơ bản của một ngôn ngữ lập trình.
Trong trường hợp đặc biệt, nó có thể cũng trở thành một
đơn vị thao tác của máy tính điện tử hay còn gọi là
một chỉ thị.
• Cú pháp câu lệnh của một ngôn ngữ lập trình là các quy
tắc luật lệ về trật tự và hình thức viết của một câu lệnh.
Tùy theo ngôn ngữ mà các cú pháp này có sự thay đổi
khác nhau.

Lập trình Python: Giới thiệu 30


Các khái niệm cơ bản
• Thuật toán (giải thuật) là một tập hợp hữu hạn các
hướng dẫn được xác định rõ ràng, có thể thực hiện được
bằng máy tính, thường để giải quyết một lớp vấn đề
hoặc để thực hiện một phép tính.
• Các thuật toán luôn rõ ràng và được sử dụng chỉ rõ việc
thực hiện các phép tính, xử lý dữ liệu, suy luận tự động
và các tác vụ khác.

Lập trình Python: Giới thiệu 31


Các khái niệm cơ bản
• Thuật toán có các đặc điểm sau:
 Đầu vào: Một thuật toán có thể yêu cầu đầu vào hoặc
không
 Đầu ra: Mỗi thuật toán được mong đợi tạo ra ít nhất một
kết quả.
 Tính xác định: Mỗi chỉ dẫn phải rõ ràng và không mập
mờ.
 Tính hữu hạn: Nếu các lệnh của một thuật toán được
thực thi, thuật toánsẽ kết thúc sau số bước hữu hạn.
Lập trình Python: Giới thiệu 32
Các khái niệm cơ bản
• Lưu đồ là một loại sơ đồ biểu diễn một thuật toán hoặc
một quá trình, biểu hiện các bước công việc dưới dạng
các loại hình hộp khác nhau theo thứ tự được biểu diễn
bởi các mũi tên.
• Sơ đồ này có thể thể hiện giải pháp cho vấn đề cần giải
quyết từng bước từng bước một. Các bước quá trình
được hiển thị dưới dạng các hình hộp được nối với nhau
bằng các mũi tên để thể hiện dòng điều khiển.

Lập trình Python: Giới thiệu 33


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 34


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 35


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 36


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 37


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 38


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 39


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 40


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 41


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 42


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 43


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 44


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 45


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 46


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 47


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 48


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 49


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 50


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 51


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 52


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 53


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 54


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 55


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 56


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 57


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 58


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 59


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 60


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 61


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 62


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 63


Các khái niệm cơ bản

Lập trình Python: Giới thiệu 64

You might also like