Tải bản đầy đủ (.docx) (92 trang)

Tài liệu lập trình Python cơ bản(Dành cho HS THPT)

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.71 MB, 92 trang )

Lập trình Python cơ bản | Dương Thành Long

Mục lục

T r a n g 1 | 92


Lập trình Python cơ bản | Dương Thành Long

Bài 1: Khái niệm lập trình và ngôn ngữ lập trình

1. Khái niệm lập trình
Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của ngôn
ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của
thuật toán.
2. Khái niệm và phân loại ngôn ngữ lập trình
Là ngôn ngữ dùng để diễn tả thuật toán sao cho máy tính hiểu và
thực hiện được. Có 3 loại NNLT:
- Ngôn ngữ máy : Các lệnh được mã hóa bằng các kí hiệu 0 – 1.
Chương trình được viết trên ngôn ngữ máy có thể được nạp vào
bộ nhớ và thực hiện ngay.
- Hợp ngữ: sử dụng các từ viết tắt tiếng Anh để diễn tả câu lệnh.
- Ngôn ngữ bậc cao : Các lệnh được mã hóa bằng một ngôn ngữ
gần với ngôn ngữ Tiếng Anh. Chương trình viết trên ngôn ngữ
bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ
máy mới có thể thực hiện được. Phải sử dụng một chương trình
dịch để chuyển đổi. Lập trình bằng ngôn ngữ bậc cao dễ
viết hơn vì các lệnh được mã hóa gần với ngôn ngữ tự nhiên.
Lập trình trên ngôn ngữ máy rất khó, thường các chuyên gia lập
trình mới lập trình được.
3. Chương trình dịch


a. Biên dịch (compiler) :
Bước 1 : Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của lệnh
trong chương trình nguồn.
Bước 2 : Dịch toàn bộ chương trình nguồn thành một chương trình
trên ngôn ngữ máy.
(Thuận tiện cho các chương trình ổn định và cần thực hiện nhiều
lần).
b. Thông dịch (interpreter):
Bước 1 : Kiểm tra tính đúng đắn của lệnh tiếp theo trong chương
trình nguồn.
T r a n g 2 | 92


Lập trình Python cơ bản | Dương Thành Long

Bước 2 : Chuyển lệnh đó thành ngôn ngữ máy.
Bước 3 : Thực hiện các câu lệnh vừa được chuyển đổi .
(phù hợp với môt trường đối thoại giữa người và máy).
Lưu ý: một trong những nhiệm vụ quan trọng của chương trình
dịch là phát hiện lỗi cú pháp của chương trình nguồn.

4. Các thành phần của ngôn ngữ lập trình
Mỗi ngôn ngữ lập trình thường có ba thành phần cơ bản: bảng chữ
cái, cú pháp và ngữ nghĩa.
a. Bảng chữ cái: Là tập các kí hiệu dùng để viết chương trình.
- Trong ngôn ngữ Python bảng chữ cái gồm: Các chữ cái trong
bảng chữ cái tiếng Anh, các chữ số 0 -> 9 và một số kí tự đặc biệt
(SGK)
b. Cú pháp: là bộ qui tắc dùng để viết chương trình. cho ta biết
cách viết một chương trình hợp lệ.

c . Ngữ nghĩa: xác định ý nghĩa thao tác cần phải thực hiên , ứng
với tổ hợp kí tự dựa vào ngữ cảnh của nó
- Cú pháp cho biết cách viết một chương trình hợp lệ , còn ngữ
nghĩa xác định ý nghĩa của các tổ hợp kí tự trong chương trình.
- Lỗi cú pháp được chương trình dịch phát hiện và thông báo cho
người lập chương trình biết , chỉ có các chương trình không còn lỗi
cú pháp mới có thể được dịch sang ngôn ngữ máy.
- Lỗi ngữ nghĩa chỉ được phát hiện khi thực hiện chương trình trên
dữ liệu cụ thể .

T r a n g 3 | 92


Lập trình Python cơ bản | Dương Thành Long

Bài 2: Tổng quan về Python

1. Python là gì?
- Python là một ngôn ngữ lập trình kịch bản (scripting
language) do Guido van Rossum tạo ra năm 1990. Đến nay thì
cộng đồng người sử dụng ngôn ngữ này rất đông, nếu so sánh từ
bảng xếp hạng các ngôn ngữ năm 2019 thì Python đứng thứ 1
trong top 10 ngôn ngữ phổ biến nhất.

Và Python luôn được biết đến với các đặc điểm sau đây:
Cú pháp rất tường minh, dễ đọc.
Các khả năng tự xét mạnh mẽ.
Hướng đối tượng trực giác.
Cách thể hiện tự nhiên mã thủ tục.
T r a n g 4 | 92



Lập trình Python cơ bản | Dương Thành Long

Hoàn toàn mô-đun hóa, hỗ trợ các gói theo cấp bậc.
Xử lý lỗi dựa theo ngoại lệ.
Kiểu dữ liệu động ở mức rất cao.
Các thư viện chuẩn và các mô-đun ngoài bao quát hầu như mọi
việc.
Phần mở rộng và mô-đun dễ dàng viết trong C, C++.
Có thể nhúng trong ứng
bản (scripting interface).

dụng

như

một

giao

diện

kịch

Python mạnh mẽ và thực hiện rất nhanh.
2. Cài đặt Python.
Python hỗ trợ hầu hết trên các hệ điều hành hiện nay, và cách cài
đặt nó cũng rất đơn giản. Tuy nhiên ở bài này sẽ chỉ hướng dẫn cài
đặt python trên môi trường window, các môi trường khác tương tự.

Đầu tiên chúng ta cần download bộ cài python từ trang chủ của
nó (download). Ở đây chúng ta chọn phiên bản mới nhất là phiên
bản 3.8.5.

Tiếp đó chúng ta chạy file vừa tải về và cài đặt theo các bước như
sau:

T r a n g 5 | 92


Lập trình Python cơ bản | Dương Thành Long

Tích chọn Run

Chọn Install Now

T r a n g 6 | 92


Lập trình Python cơ bản | Dương Thành Long

Đợi quá trình cài đặt

Màn hình báo thành công.

T r a n g 7 | 92


Lập trình Python cơ bản | Dương Thành Long


Tiếp tục cài phần mềm IDE cho Python
Link phần mềm PyCharm: />
Bấm chọn Download

T r a n g 8 | 92


Lập trình Python cơ bản | Dương Thành Long

Chọn phiên bản Community
Chạy các bước cài đặt như phần mềm Python phía trên

Màn hình làm việc chính phần mềm PyCharm
3. Chạy chương trình đầu tiên.
- Sau khi đã cài đặt thành công python. Tại thư mục mặc định Bấm
chuột phải chọn New\Python File

T r a n g 9 | 92


Lập trình Python cơ bản | Dương Thành Long

Sau đó đặt tên là hello.py.

Và viết đoạn code sau vào:
print ('Hello world!')
T r a n g 10 | 92


Lập trình Python cơ bản | Dương Thành Long


- Bây giờ để có thể chạy được đoạn code trên chúng ta nhấn
chuột phải vào vị trí tên file hello.py và chọn Run.

- Kết quả thu được(vùng màu đỏ):
T r a n g 11 | 92


Lập trình Python cơ bản | Dương Thành Long

T r a n g 12 | 92


Lập trình Python cơ bản | Dương Thành Long

Bài 3: Nhập/xuất cơ bản, câu lệnh gán trong Python

1. Xuất kết quả ra màn hình trong Python.
Hàm print trong Python có tác dụng hiển thị dữ diệu ra màn hình
khi chương trình thực thi. Sử dụng với cú pháp như sau:
print(content)
Trong đó: content là nội dung hay biến muốn in ra màn hình,
nếu muốn hiển thị nhiều nội dung khác nhau trên cùng một
lần print thì chúng ta chỉ cần ngăn các giữa các nội dung bằng dấu
,.

DỤ:
Hiển
thị
ra

"Elearning.c3vietduc.daklak.edu.vn".

màn

hình

dòng

chữ

#file lesson1.py
print("Elearning.c3vietduc.daklak.edu.vn")
Kết quả:
Elearning.c3vietduc.daklak.edu.vn
VÍ DỤ: Hiển thị 2 khối nội dung trên 1 lần print.
print("Elearning.c3vietduc.daklak.edu.vn",
ThanhLong")

"

Created

by

2. Thay đổi ngắt dòng print.
Mặc định thì mỗi lần chúng ta print dữ liệu thì nó sẽ tự ngắt dòng
cho dòng tiếp theo.
VÍ DỤ:
Print(‘Elearning.c3vietduc.daklak.edu.vn’)
Print(‘Author: Thanh Long’)

Khi chạy đoạn code trên thì chúng ta sẽ thu được kết quả:
Elearning.c3vietduc.daklak.edu.vn
Author: Tin hoc

T r a n g 13 | 92


Lập trình Python cơ bản | Dương Thành Long

Vậy ở đây, khi chúng ta không muốn nó tự động ngắt dòng mỗi
khi kết thúc print nữa thì mọi người sử dụng từ khóa end thêm
vào param cuối cùng của hàm print với cú pháp như sau:
print(content, end = "charset")
Trong đó là charset là ký tự mà chúng ta muốn thực hiện khi kết
thúc hàm print.
print("Elearning.c3vietduc.daklak.edu.vn", end = " - ")
print("Hoc lap trinh online")
Kết quả:
Elearning.c3vietduc.daklak.edu.vn - Hoc lap trinh online
3. Input.
Trong Python có cung cấp cho chúng ta hàm input để nhận dữ liệu
từ người dùng nhập vào trong commandline. Sử dụng với cú pháp
như sau:
input(something)
Trong đó: something là nội dung mà chúng ta muốn hiển thị
trước khi người dùng nhập dữ liệu. Và giá trị mà hàm này trả về
chính là giá trị mà người dùng nhập vào.
VÍ DỤ: Nhập tuổi người dùng và in ra tuổi mà người dùng nhập
vào.
print("Hello guy!")

age = input("How old are you? ")
print("age: " + age)
Kết quả:

4. Câu lệnh gán(Toán tử gán).
Câu lệnh gán(toán tử gán) là toán tử dùng đế gán giá trị của một
đối tượng cho một đối tượng khác. Và trong Python thì nó cũng
T r a n g 14 | 92


Lập trình Python cơ bản | Dương Thành Long

được thể hiện giống như các ngôn ngữ khác. Và dưới đây là 8 toán
tử nằm trong dạng này mà Python hỗ trợ.
Toán
Tử

Chú Thích

Ví Dụ

=

Toán tử này dùng để gán giá trị của
một đối tượng cho một giá trị

c = a (lúc này c
sẽ có giá trị = 5)

+=


Toán tử này cộng rồi gắn giá trị cho
đối tượng

c += a (tương
đương với c = c
+ a)

-=

Toán tử này trừ rồi gắn giá trị cho
đối tượng

c -= a (tương
đương với c = c a)

*=

Toán tử này trừ rồi gắn giá trị cho
đối tượng

c *= a (tương
đương với c = c *
a)

/=

Toán tử này chia rồi gắn giá trị cho
đối tượng


c /= a (tương
đương với c = c /
a)

%

Toán tử này chia hết rồi gắn giá trị
cho đối tượng

c %= a (tương
đương với c = c
% a)

**=

Toán tử này lũy thừa rồi gắn giá trị
cho đối tượng

c **= a (tương
đương với c = c
** a)

//=

Toán tử này chia làm tròn rồi gắn
giá trị cho đối tượng

c //= a (tương
đương với c =
c // a)


T r a n g 15 | 92


Lập trình Python cơ bản | Dương Thành Long

T r a n g 16 | 92


Lập trình Python cơ bản | Dương Thành Long

Bài 4: Khai báo biến trong python

1. Khai báo biến trong Python.
Để khai báo biến trong Python chúng ta sử dụng cú pháp:
tenBien = giaTri
Trong đó:
tenBien là tên của biến mà người lập trình muốn đặt. Tên biến
này không được bắt đầu bằng số hay các ký tự đặc biệt, mà chỉ
được bắt đầu bằng chữ cái hoặc ký tự gạch dưới (_) và nó có phân
biệt hoa thường.
giaTri là giá trị của biến muốn gán.
VÍ DỤ: Khai báo một biến name trong Python.
name = "Thành Long"
Ngoài ra, người lập trình cũng có thể khai báo nhiều biến bằng 1
giá trị trên 1 lần khai báo.
VÍ DỤ:
a = b = c = 1996
Hay là khai báo nhiều biến với các giá trị tương ứng của nó trên 1
dòng.

VÍ DỤ:
name, age, male = "Thành Long", 32 , True
2. Các kiểu dữ liệu cơ bản trong Python.
Python cũng giống như một số các ngôn ngữ bậc cao khác, khi ta
khai báo biến thì kiểu dữ liệu của nó sẽ tự động được phát hiện và
định nghĩa. Vì vậy nên chúng ta cũng không phải quá vất vả khi
khai báo 1 biến.
Ví dụ: Các kiểu dữ liệu cơ bản trong python.
name = "Thành Long" #string(Xâu)
age = 32 #integer(Số nguyên)
point = 8.9 #float(Số thực)
T r a n g 17 | 92


Lập trình Python cơ bản | Dương Thành Long

option = [1,2,3,4,5] #lists(Mảng)
tuple = ('Thành Long', 32 , True) #Tuple(Mảng hằng số)
dictionary = {"name": "Thanh Long", "age": 32, "male": True}
#Dictionary(Từ điển)
3. Kiểm tra kiểu dữ liệu.
Trong python, để kiểm tra kiểu dữ liệu của một biến thì chúng ta
có thể sử dụng hàm type với cú pháp như sau:
type(data)
Trong đó data là biến mà chúng ta cần kiểm tra.
Ví dụ:
name = "Tin học"
type(name) #string
age = 22
type(age) #int

point = 8.9
type(point) #float
option = [1,2,3,4,5]
type(option) #list
tuplet = ('Tin học', 22 , True)
type(tuplet) #Tuple
dictionary = {"name": "Tin hoc", "age": 22, "male": True}
type(dictionary) # dict
4. Ép kiểu dữ liệu trong Python.
Trong một trường hợp nào đó mà người lập trình muốn chuyển đổi
kiểu dữ liệu của một biến, thì Python hỗ trợ qua các hàm cơ bản
sau:
float(data) chuyển đổi sang kiểu số thực.
int(data,base) chuyển đổi sang kiểu số, trong đó base là kiểu hệ
số mà các bạn muốn chuyển đổi sang (tham số này có thể bỏ
trống).
str(data) chuyển đổi sang dạng chuỗi.
T r a n g 18 | 92


Lập trình Python cơ bản | Dương Thành Long

complex(data) chuyển đổi sang kiểu phức hợp.
tuple(data) chuyển đổi sang kiểu Tuple.
dict(data) chuyển đổi sang kiểu Dictionary.
hex(data) chuyển đổi sang hệ 16.
oct(data) chuyển đổi sang hệ 8.
chr(data) chuyển đổi sang dạng ký tự.
...
Ví dụ:

age = 22;
# ép sang float
floatAge = float(age)
print(type(floatAge))
#ép sang integer.
intAge = int(age)
print(type(intAge))
#ép sang chuỗi.
strAge = str(age)
print(type(strAge))

T r a n g 19 | 92


Lập trình Python cơ bản | Dương Thành Long

Bài 5: Kiểu dữ liệu số trong Python

1. Kiểu dữ liệu số(number) trong Python.
Một biến được khai báo là kiểu dữ liệu số trong Python thì xét về
mặt lưu trữ bộ nhớ thì nó sẽ không thay đổi được giá trị, mà khi
chúng ta gán giá trị mới cho biến đó thì thực chất nó sẽ tạo ra các
ô nhớ mới khác để lưu trữ giá trị mới đó.
Trong Python hỗ trợ chúng ta 3 kiểu dữ liệu dạng số như sau:
int kiểu số nguyên kiểu này có kích thước không giới hạn (python
2 thì bị hạn chế).
float kiểu số thực. Kiểu này ngoài kiểu viết bình thường ra thì nó
cũng có thể được hiển thị dưới dạng số mũ E (VÍ DỤ: 2.5e2 = 250).
complex kiểu số phức đây là kiểu dữ liệu rất ít khi được sử dụng
tới, nên không giải thích thêm ở đây.

Nếu muốn giải phóng một vùng nhớ cho một biến trong Python thì
có thể sử dụng lệnh del với cú pháp sau:
del avariableName
//hoặc xóa nhiều biến
del avariableName1, avariableName2,..., avariableName3
Trong đó: avariableName, avariableName1,... là các biến mà bạn
muốn giải phóng.
VÍ DỤ:
age = 22
print(age) # 22
del age
print(age)
# name 'age' is not defined
2. Các toán tử.
Ở đây ví dụ biến a = 5 và b = 10:
T r a n g 20 | 92


Lập trình Python cơ bản | Dương Thành Long

Toán Tử

Ví Dụ

Chú Thích

+

a + b // 15


Phép cộng.

-

a - b // -5

Phép trừ.

*

a * b // 50

Phép nhân.

/

a / b // 0.5

Phép chia.

%

a % b // 5

Phép chia lấy dư.

3. Xử lý số học với module math trong Python
3.1. abs().
Hàm này có tác dụng trả về giá trị tuyệt đối của một số.
Lưu ý: Hàm này không nằm trong module math, nên các bạn

không cần phải import modules math.
Cú pháp:
abs(number)
Trong đó: number là số mà các bạn muốn chuyển đổi.
VÍ DỤ:
number = -5
print(abs(number))
# Kết quả: 5
number = -19.6
print(abs(number))
# Kết quả: 19.6
3.2. fabs().
Hàm này có tác dụng trả về giá trị tuyệt đối của một số. Nhưng nó
sẽ có khác với hàm abs() ở trên là hàm này sẽ chỉ chấp nhận
chuyển đổi được kiểu số nguyên (integer) và số thực (float) trong
khi hàm abs() chuyển đổi được cả complex number.
T r a n g 21 | 92


Lập trình Python cơ bản | Dương Thành Long

Cú pháp:
math.fabs(number)
Trong đó: number là số mà các bạn muốn chuyển đổi.
3.3. ceil().
Hàm này có tác dụng chuyển đổi một số về dạng số nguyên của
nó và số nguyên đó phải lớn hơn hoặc bằng số ban đầu. Nói một
cách đơn giản thì hàm này có tác dụng làm tròn lên 1 số.
Cú pháp:
math.ceil(number)

Trong đó: number là số mà các bạn muốn chuyển đổi.
VÍ DỤ:
import math
number = 5.2
print(math.ceil(number))
# Kết quả: 6
number = 19.6
print(math.ceil(number))
# Kết quả: 20
number = -19.6
print(math.ceil(number))
# Kết quả: -19
3.4. exp().
Hàm này có tác dụng trả về kết quả e x, trong đó x là số mà các
bạn cần tính.
VÍ DỤ:
import math

T r a n g 22 | 92


Lập trình Python cơ bản | Dương Thành Long

number = 5
print(math.exp(number))
# Kết quả: 148.4131591025766
3.5. floor().
Hàm này có tác dụng làm tròn một số về dạng số nguyên nhỏ hơn
hoặc bằng số ban đầu. Nói cách khác thì là làm tròn xuống một số.
VÍ DỤ:

import math
number = 5.3
print(math.floor(number))
# Kết quả: 5
number = 19.6
print(math.floor(number))
# Kết quả: 19
number = -19.6
print(math.floor(number))
# Kết quả: -20
3.6. log().
Hàm này sẽ trả về kết quả logarithm x, với x là số cần chuyển và x
> 0.
VÍ DỤ:
import math
number = 5.3
print(math.log(number))
# Kết quả: 1.667706820558076
T r a n g 23 | 92


Lập trình Python cơ bản | Dương Thành Long

number = 19.6
print(math.log(number))
# Kết quả: 2.975529566236472
3.7. log10().
Hàm này tương tự như hàm log(), nhưng là dạng logarithm cơ số
10.
VÍ DỤ:

import math
number = 5.3
print(math.log10(number))
# Kết quả: 0.724275869600789
number = 19.6
print(math.log10(number))
# Kết quả: 1.2922560713564761
3.8. max().
Hàm này có tác dụng trả về số lớn nhất trong các số được truyền
vào.
Lưu ý: Hàm này không nằm trong module math, nên các bạn
không cần phải import modules math.
VÍ DỤ:
x, y = 5, 9
print(max(x, y))
# Kết quả: 9
x, y, z = 5, 1, 3
print(max(x, y, z))
# Kết quả: 5
3.9. min().
T r a n g 24 | 92


Lập trình Python cơ bản | Dương Thành Long

Hàm này có tác dụng trả về số nhỏ nhất trong các số được truyền
vào.
Lưu ý: Hàm này không nằm trong module math, nên các bạn
không cần phải import modules math.
VÍ DỤ:

x, y = 5, 9
print(min(x, y))
# Kết quả: 5
x, y, z = 5, 1, 3
print(min(x, y, z))
# Kết quả: 1
3.10. modf().
Hàm này có tác dụng chuyển đổi một số về một tuple. Tuple này
chứa phần thập phân và phần nguyên của số đó, lưu ý tất cả các
giá trị trong tuple này đều ở dạng float.
VÍ DỤ:
import math
x = 5.278
print(math.modf(x))
# Kết quả: (0.2779999999999996, 5.0)
x = -102.69874
print(math.modf(x))
# Kết quả: (-0.6987400000000008, -102.0)
3.11. pow().
Hàm này có tác dụng trả về kết quả của phép x y, với x là tham số
thứ nhất, y là tham số thứ 2.
VÍ DỤ:
import math
T r a n g 25 | 92


×