GV: Ths. Trần Duy Thanh
thanhtd@uel.edu.vn
Môn Học
KỸ THUẬT LẬP TRÌNH
VỚI PYTHON
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
CÁC KHÁI NIỆM CƠ BẢN
Trang 2
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
Mục tiêu bài học
Trang 3
- Hiểu và thực hiện được các kiẻu dữ liệu cơ bản
- Khai báo được biến, ghi chú
- Thực hành được các toán tử
- Nhập liệu được từ bàn phím
- Xử lý được các lỗi
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
Nội dung bài học
Trang 4
2.1. Kiểu dữ liệu cơ bản và khai báo biến trong Python
2.2. Cách ghi chú lệnh trong Python
2.3. Các toán tử thường dùng trong Python
2.4. Cách nhập liệu từ bàn phím trong Python
2.5. Các kiểu xuất dữ liệu
2.6. Các loại lỗi trong Python
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.1. Kiểu dữ liệu cơ bản và khai báo biến trong Python
Trang 5
2.1.1. Các kiểu dữ liệu cơ bản trong Python
2.1. 2. Khai báo biến trong Python
2.1. 3. Cách xóa biến
2.1. 4. Cách kiểm tra vùng lưu trữ giá trị của các biến int, float
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.1.1. Các kiểu dữ liệu cơ bản trong Python
Trang 6
• Kiểu int: Kiểu số nguyên (không có chứa dấu chấm thập phân), có thể
lưu các số nguyên âm và dương.
– Ví dụ: 113, -114
• Kiểu float: Kiểu số thực (có chứa dấu chấm thập phân),
– ví dụ: 5.2, -7.3
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.1.1. Các kiểu dữ liệu cơ bản trong Python
Trang 7
• Kiểu complex: Kiểu số phức,
– ví dụ 1: z = 2+3j thì 2 là phần thực, 3 là phần ảo (j là từ khóa để đánh
dấu phần ảo)
– ví dụ 2: z=complex(2,3) thì 2 là phần thực, 3 là phần ảo
– khi xuất kết quả ta có thể xuất:
• print(“Phần thực= “,z.real) ==>Phần thực= 2
• print(“Phần ảo= “,z.imag) ==> Phần ảo= 3
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.1.1. Các kiểu dữ liệu cơ bản trong Python
Trang 8
• Kiểu str: Kiểu chuỗi, để trong nháy đôi hoặc nháy đơn
– Ví dụ: “Obama”, ‘Putin’
• Kiểu bool: Kiểu luận lý, để lưu True hoặc False
– Ví dụ 1: t1=True
– Ví dụ 2: t2=False
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.1.2. Khai báo biến trong Python
Trang 9
Trong Python một biến không cần khai báo kiểu dữ liệu, khi ta gán giá trị
thì tự động Python sẽ nội suy ra kiểu dữ liệu của biến. Như vậy một biến
có thể có nhiều kiểu dữ liệu tùy thuộc vào giá trị mà ta gán. Ta có thể dùng
hàm type() để kiểm tra kiểu dữ liệu của biến:
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.1.2. Khai báo biến trong Python
Trang 10
x=5
print(type(x))
x='teo'
print(type(x))
x=True
print(type(x))
x=5.5
print(type(x))
x=complex(113,114)
print(type(x))
Với x = 5 ta có kiểu dữ liệu: <class ‘int’>
Với x = ‘teo’ ta có kiểu dữ liệu:<class ‘str’>
Với x = True ta có kiểu dữ liệu:<class ‘bool’>
Với x = 5.5 ta có kiểu dữ liệu:<class ‘float’>
Với x = complex(113,114) ta có kiểu dữ
liệu:<class ‘complex’>
print(x.real,x.imag)
thực:113, ảo:114
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.1.3. Cách xóa biến
Trang 11
Trong Python có một điểm thú vị là: Nếu biến đó đang tồn tại mà ta xóa nó
đi thì không còn sử dụng được nữa (tương tự trong C++ khi chúng ta thu
hồi bộ nhớ của con trỏ vậy), Python dùng từ khóa del để xóa:
x="Obama"
print(x)
del x
print(x)
Obama
Traceback (most recent call last):
File "/XoaBien.py", line 4, in <module>
print(x)
NameError: name 'x' is not defined
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.1.4. Cách kiểm tra vùng lưu trữ
Trang 12
Ta có thể kiểm tra vùng lưu trữ giá trị của các biến int, float bằng cách
import thư viện sys để có thể xem được chi tiết:
import sys
print("Thông tin chi tiết của int:")
print(sys.int_info)
print("Thông tin chi tiết của float:")
print(sys.float_info)
Thông tin chi tiết của int:
sys.int_info(bits_per_digit=15, sizeof_digit=2)
Thông tin chi tiết của float:
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308,
min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15,
mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.2. Cách ghi chú lệnh trong Python
Trang 13
2.2.1. Vì sao nên ghi chú khi lập trình
2.2.2. Ghi chú 1 dòng
2.2.3. Ghi chú nhiều dòng
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.2.1. Vì sao nên ghi chú khi lập trình
Trang 14
Việc ghi chú lệnh một cách cẩn thận khi lập trình thể hiện tính chuyên
nghiệp của Lập trình viên. Không phải nói ngoa nếu như các bạn được
phỏng vấn xin việc, nếu Công ty kiểm tra coding từ các Project sample của
bạn mà thấy bạn không có ghi chú một cách cẩn thận (cho dù bạn có lập
trình giỏi tới mấy) thì khả năng bị loại cực cao, nếu giỏi mà cẩu thả thì
càng nguy hiểm, vì độ “sát thương” cho các dự án rất cao.
Triển khai nhiều dự án, viết nhiều lệnh nếu không ghi chú: Khó khăn cho
chính bản thân Programmer khi đọc lại và rất khó training khi có nhân
viên mới vào làm việc.
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.2.2.Ghi chú 1 dòng
Trang 15
Python dùng từ khóa # để cho phép ta ghi chú 1 dòng:
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.2.3. Ghi chú nhiều dòng
Trang 16
Để ghi chú nhiều dòng lệnh, Ta dùng """ """ (3 cặp nháy đôi)
hoặc ''' '''(3 cập nháy đơn)
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.2.3. Ghi chú nhiều dòng
Trang 17
Để ghi chú nhiều dòng lệnh, Ta dùng """ """ (3 cặp nháy đôi)
hoặc ''' '''(3 cập nháy đơn)
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.3. Các toán tử thường dùng trong Python
Trang 18
Mỗi một ngôn ngữ lập trình đều có tập các toán tử thường dùng và đa
phần chúng khá giống nhau. Những bạn nào đã học C++, java, C# thì qua
Python cũng tương tự. Trong Python còn bổ sung thêm nhiều toán tử khá
hữu ích khác nữa, dưới này liệt kê 4 loại toán tử cơ bản thường dùng nhất
trong Python (các loại khác bạn có thể xem thêm tại:
https://docs.python.org/3/library/stdtypes.html ):
2.3.1. Toán tử số học cơ bản
2.3.2. Toán tử gán
2.3.3. Toán tử So sánh
2.3.4. Toán tử Logic
2.3.5. Độ ưu tiên toán tử
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.3.1.Toán tử số học cơ bản
Trang 19
Toán tử Mô tả Ví dụ
+ Cộng 12 + 4.9 => kết quả 16.9
– Trừ 3.98 – 4 => kết quả -0.02
* Nhân 2 * 3.4 => kết quả 6.8
/ Chia 9 / 2 => kết quả 4.5
// Chia lấy phần nguyên 9 // 2 => kết quả 4
% Chia lấy phần dư 9%2 =>kết quả 1
** Lũy thừa 3**4=>kết quả 81
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.3.2.Toán tử gán
Trang 20
Toán tử Mô tả Ví dụ Tương đương với
= Phép gán giá trị bên phải cho biến
bên trái dấu bằng x=5
+= Cộng và gán
x=2
x+=5
==>x=7
x=x+5
-= Trừ và gán
x=2
x-=5
==>x=-3
x=x-5
*= Nhân và gán
x=2
x*=5
==>x=10
x=x*5
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.3.2.Toán tử gán
Trang 21
Toán tử Mô tả Ví dụ Tương đương với
/= Chia và gán
x=7
x/=5
==>x=1.4
x=x/5
//= Chia và gán (lấy nguyên)
x=7
x//=5
==>x=1
x=x//5
%= Chia lấy dư
x=7
x%=5
==>x=2
x=x%5
**= Lấy lũy thừa và gán
x=2
x**=3
==>x là 2 mũ 3 =8
x=x**3
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.3.3.Toán tử So sánh
Trang 22
Toán tử Mô tả Ví dụ
== So sánh bằng 5 == 5 => kết quả True
!= So sánh không bằng 5 != 5 => kết quả False
< So sánh nhỏ hơn 5 < 5 => kết quả False
<= So sánh nhỏ hơn hoặc bằng 5 <= 5 => kết quả True
> So sánh lớn hơn 5 > 5.5 => kết quả False
>= So sánh lớn hơn hoặc bằng 113>= 5 => kết quả True
is
Trả về true nếu các biến ở hai bên toán
tử cùng trỏ tới một đối tượng(hoặc
cùng giá trị), nếu không là false
x=5
y=5
print(x is y)
=>kết quả là True
is not
Trả về false nếu các biến ở hai bên toán
tử cùng trỏ tới một đối tượng(hoặc
cùng giá trị), nếu không là true
x=5
y=5
print(x is not y)
=>kết quả là False
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.3.4.Toán tử Logic
Trang 23
Toán tử Mô tả Ví dụ
and Toán tử Và: Nếu cả hai điều kiện là True thì
kết quả sẽ là True
x=2016
print(x%4==0 and
x%100!=0)
=>True
or Toán tử Hoặc: Chỉ cần một điều kiện True thì
nó True, tất cả điều kiện False thì nó False
x=2016
print((x%4==0 and
x%100!=0) or x%400==0)
=>True
not
Toán tử Phủ định. Thông thường nó được
dùng để đảo ngược trạng thái logic của toán
hạng
x=4
if (not x>=5):
print("Ngắm gà khỏa thân
và nải chuối")
else: print("Đậu")
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.3.5.Độ ưu tiên toán tử
Trang 24
Python có ràng buộc thứ tự ưu tiên của các toán tử. Tuy nhiên tốt nhất là
các bạn hay điều khiển nó bằng cách dùng cặp ngoặc tròn ( ) để nó rõ
nghĩa hơn. Bảng dưới đây để tham khảo độ ưu tiên từ cao xuống thấp (tuy
nhiên có thể quên nó đi mà hãy dùng ngoặc tròn () để chỉ định rõ).
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.3.5.Độ ưu tiên toán tử
Trang 25
Thứ tự ưu tiên Toán tử Miêu tả
1 ** Toán tử mũ
2 * / % //
Phép nhân, chia, lấy phần dư và
phép chia lấy phần nguyên
3 + – Toán tử Cộng, Trừ
4 <= < > >= Các toán tử so sánh
5 <> == != Các toán tử so sánh
6 = %= /= //= -= += *= **= Các toán tử gán
7 is , is not Các toán tử so sánh
8 not, or, and Các toán tử Logic
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.4. Cách nhập liệu từ bàn phím trong Python
Trang 26
Trong Python để nhập liệu từ bàn phím ta dùng hàm input(). Giá trị nhập
vào của hàm input() thường là kiểu chuỗi, do đó ta cần chuyển kiểu nếu
như muốn lưu trữ giá trị nhập vào không phải kiểu chuỗi.
print("Mời bạn nhập cái gì đó:")
s=input()
print("Bạn nhập:",s)
print("Kiểu dữ liệu:",type(s))
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
Trang 27
Muốn đưa về số int
print("Mời thím nhập int:")
x=int(input())
print("Bạn nhập:",x)
print("Kiểu dữ liệu:",type(x))
2.4. Cách nhập liệu từ bàn phím trong Python
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
Trang 28
Muốn đưa về số float
print("Mời thím nhập int:")
x=float(input())
print("Bạn nhập:",x)
print("Kiểu dữ liệu:",type(x))
2.4. Cách nhập liệu từ bàn phím trong Python
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
Trang 29
Muốn đưa về số boolean
def StrToBool(s):
return s.lower() in ("yes", "true", "t", "1")
print("Mời thím nhập bool:")
x = StrToBool(input())
print("Bạn nhập:", x)
print("Kiểu dữ liệu:", type(x))
2.4. Cách nhập liệu từ bàn phím trong Python
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
Trang 30
Ngoài ra hàm input() còn có cho phép ta nhập nhãn tiêu đề vào như sau:
x=input("Mời bạn nhập giá trị gì đó:")
print("Bạn nhập: ",x)
2.4. Cách nhập liệu từ bàn phím trong Python
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
Trang 31
Để xuất lặp dữ liệu ra màn hình ta làm như sau:
Xuất dấu * 15 lần
print('*'*15)
***************
2.5. Các kiểu xuất dữ liệu
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
Trang 32
Dùng hàm format để xuất dữ liệu:
2.5. Các kiểu xuất dữ liệu
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
Trang 33
Muốn xuất căn phải ta có thể làm như sau:
print('-'*15)
print('{0:>2} {1:>11}'.format('STT', 'Giá trị'))
print('-'*15)
print('{0:>2} {1:>11}'.format(1, 10**10))
print('{0:>2} {1:>11}'.format(2, 10**9))
print('{0:>2} {1:>11}'.format(3, 10**8))
print('{0:>2} {1:>11}'.format(4, 10**7))
print('{0:>2} {1:>11}'.format(5, 10**6))
print('{0:>2} {1:>11}'.format(6, 10**5))
print('{0:>2} {1:>11}'.format(7, 10**4))
print('{0:>2} {1:>11}'.format(8, 10**3))
print('{0:>2} {1:>11}'.format(9, 10**2))
print('{0:>2} {1:>11}'.format(10, 10**1))
print('-'*15)
2.5. Các kiểu xuất dữ liệu
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
Trang 34
Bất cứ người nào lập trình cũng đều sinh ra lỗi, tùy vào và khả và kinh
nghiệm của từng người mà gặp các loại lỗi khác nhau. Có 3 loại lỗi thường
gặp là:
2.6.1. Lỗi cú pháp(Syntax Errors)
2.6.2. Lỗi thực thi(Run-time Exceptions)
2.6.3. Lỗi nghiệp vụ(Logic Errors)
Python cũng giống như các ngôn ngữ khác là cho phép bắt lỗi bằng khối
lệnh try…catch
2.6. Các loại lỗi trong Python
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
Trang 35
Lỗi thường gặp với những Programmer mới bắt đầu học, viết đâu sai đó,
không thể thông dịch được phần mềm.
2.6.1. Lỗi cú pháp(Syntax Errors)
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
Trang 36
Thường lỗi này thông dịch hoàn tất, nhưng trong quá trình thực thi lại
phát sinh ra lỗi. Các lỗi thường gặp như chia cho 0, ép kiểu sai, đọc file lỗi,
kết nối mạng lỗi….
2.6.2. Lỗi thực thi(Run-time Exceptions)
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
Trang 37
Lỗi này rất nghiêm trọng, thông dịch và chạy ngon lành. Nhưng kết qua sai
với yêu cầu nghiệp của Khách hàngĐứt bóng đời Cô Lựu
Các lỗi này thường rất hiếm khi xảy ra, nhưng khi xảy ra rồi thì rất khó tìm
thấy, và thấy rồi cũng thường khó fix bug.
2.6.3. Lỗi nghiệp vụ(Logic Errors)
Web kinh doanh 1
WORKING HARD & SMART TODAY FOR A BETTER TOMORROW
2.6.4. Bắt lỗi
Trang 38
Python hỗ trợ try…catch để bắt lỗi Runtime, giúp báo rõ loại lỗi chương
trình đang gặp và vẫn tiếp tục hoạt động khi gặp lỗi. Có rất nhiều trường
hợp sử dụng, bài học trình bày 1 cách tổng quát nhất:
02-Các khái niệm cơ bản.pptx

More Related Content

PDF
Tu-Hoc-Python-Co-Ban-Trong-10-Phut-NIIT
PDF
Bài giảng ngôn ngữ C chương 3: Cấu trúc điều khiển trong C
PDF
HÀM_NoCoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapy.pdf
PDF
0 mo dau
DOC
Brief introduction
DOCX
Thực tập (ccdc))
PPTX
Python Programming basic document for beginners
PDF
temp.pdf
Tu-Hoc-Python-Co-Ban-Trong-10-Phut-NIIT
Bài giảng ngôn ngữ C chương 3: Cấu trúc điều khiển trong C
HÀM_NoCoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapy.pdf
0 mo dau
Brief introduction
Thực tập (ccdc))
Python Programming basic document for beginners
temp.pdf

Similar to 02-Các khái niệm cơ bản.pptx (20)

PDF
Giaotrinhbaitapkythuatlaptrinh
PDF
C23_Buoi1_BasicC_aewfdvccccccccccccc.pdf
PDF
Quyen 1. LY THUYET VA BAI TAP NNLT PYTHON.pdf
PPTX
BC-HDBM CD PYTHON 1234567888888888888889
PDF
Bài tập nhập môn lập trình
PPT
Lap trinhvba
PPT
DOC
Ontap ltc
PPTX
ky thuat lap tirnh giao tiep ky thuat lap tirnh giao tiep
DOCX
Bài 6
PDF
Chuong 1. tong quan
PDF
Cau hoi trac nghiem lt nc (1)
PPT
Nhập môn lập trình - Vương Bá Thịnh
PDF
Introduction to data statistics with r - Part I (in Vietnamese)
PPTX
Seminar clean code
PDF
Nội dung Matlab_C2_Hàm và thủ tục trong Matlab.pdf
DOC
Bài tập CTDL và GT 3
PDF
Tiểu luận cơ sở ngành kỹ thuật phần mềm. phần mềm mô phỏng các thuật toán s...
PPTX
tin học lớp 8
DOCX
Cac ham trong C# - 2555555555555555555555
Giaotrinhbaitapkythuatlaptrinh
C23_Buoi1_BasicC_aewfdvccccccccccccc.pdf
Quyen 1. LY THUYET VA BAI TAP NNLT PYTHON.pdf
BC-HDBM CD PYTHON 1234567888888888888889
Bài tập nhập môn lập trình
Lap trinhvba
Ontap ltc
ky thuat lap tirnh giao tiep ky thuat lap tirnh giao tiep
Bài 6
Chuong 1. tong quan
Cau hoi trac nghiem lt nc (1)
Nhập môn lập trình - Vương Bá Thịnh
Introduction to data statistics with r - Part I (in Vietnamese)
Seminar clean code
Nội dung Matlab_C2_Hàm và thủ tục trong Matlab.pdf
Bài tập CTDL và GT 3
Tiểu luận cơ sở ngành kỹ thuật phần mềm. phần mềm mô phỏng các thuật toán s...
tin học lớp 8
Cac ham trong C# - 2555555555555555555555
Ad

Recently uploaded (8)

PPTX
QUÁ TRÌNH PHÁT TRIỂN CỦA CÁC HÌNH THÁI KINH TẾ XÃ HỘI.pptx
PPTX
Khởi-nghiệp.pptx...............................
PDF
iSCM-CT-BT3,4-Bố trí cột dầm sàn,Khai triển Wc.pdf
PDF
iSCM-CT-Bài giảng-Cột Dầm Sàn.pdf áaaaaaa
DOCX
BẢN VẼ A0 ĐỒ ÁN ĐẠI HỌC GTVT HÀ NỘI K62 2025
PDF
bọ môn thamkhaor slidexc cxchCJCgzxcjkzhczxck
DOCX
the song of 3000 vocabulary to help remember easier
PPT
luan van thac si cua Tran Thi Thu Trang tai Sai Gon
QUÁ TRÌNH PHÁT TRIỂN CỦA CÁC HÌNH THÁI KINH TẾ XÃ HỘI.pptx
Khởi-nghiệp.pptx...............................
iSCM-CT-BT3,4-Bố trí cột dầm sàn,Khai triển Wc.pdf
iSCM-CT-Bài giảng-Cột Dầm Sàn.pdf áaaaaaa
BẢN VẼ A0 ĐỒ ÁN ĐẠI HỌC GTVT HÀ NỘI K62 2025
bọ môn thamkhaor slidexc cxchCJCgzxcjkzhczxck
the song of 3000 vocabulary to help remember easier
luan van thac si cua Tran Thi Thu Trang tai Sai Gon
Ad

02-Các khái niệm cơ bản.pptx

  • 1. GV: Ths. Trần Duy Thanh thanhtd@uel.edu.vn Môn Học KỸ THUẬT LẬP TRÌNH VỚI PYTHON
  • 2. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW CÁC KHÁI NIỆM CƠ BẢN Trang 2
  • 3. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW Mục tiêu bài học Trang 3 - Hiểu và thực hiện được các kiẻu dữ liệu cơ bản - Khai báo được biến, ghi chú - Thực hành được các toán tử - Nhập liệu được từ bàn phím - Xử lý được các lỗi
  • 4. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW Nội dung bài học Trang 4 2.1. Kiểu dữ liệu cơ bản và khai báo biến trong Python 2.2. Cách ghi chú lệnh trong Python 2.3. Các toán tử thường dùng trong Python 2.4. Cách nhập liệu từ bàn phím trong Python 2.5. Các kiểu xuất dữ liệu 2.6. Các loại lỗi trong Python
  • 5. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.1. Kiểu dữ liệu cơ bản và khai báo biến trong Python Trang 5 2.1.1. Các kiểu dữ liệu cơ bản trong Python 2.1. 2. Khai báo biến trong Python 2.1. 3. Cách xóa biến 2.1. 4. Cách kiểm tra vùng lưu trữ giá trị của các biến int, float
  • 6. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.1.1. Các kiểu dữ liệu cơ bản trong Python Trang 6 • Kiểu int: Kiểu số nguyên (không có chứa dấu chấm thập phân), có thể lưu các số nguyên âm và dương. – Ví dụ: 113, -114 • Kiểu float: Kiểu số thực (có chứa dấu chấm thập phân), – ví dụ: 5.2, -7.3
  • 7. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.1.1. Các kiểu dữ liệu cơ bản trong Python Trang 7 • Kiểu complex: Kiểu số phức, – ví dụ 1: z = 2+3j thì 2 là phần thực, 3 là phần ảo (j là từ khóa để đánh dấu phần ảo) – ví dụ 2: z=complex(2,3) thì 2 là phần thực, 3 là phần ảo – khi xuất kết quả ta có thể xuất: • print(“Phần thực= “,z.real) ==>Phần thực= 2 • print(“Phần ảo= “,z.imag) ==> Phần ảo= 3
  • 8. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.1.1. Các kiểu dữ liệu cơ bản trong Python Trang 8 • Kiểu str: Kiểu chuỗi, để trong nháy đôi hoặc nháy đơn – Ví dụ: “Obama”, ‘Putin’ • Kiểu bool: Kiểu luận lý, để lưu True hoặc False – Ví dụ 1: t1=True – Ví dụ 2: t2=False
  • 9. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.1.2. Khai báo biến trong Python Trang 9 Trong Python một biến không cần khai báo kiểu dữ liệu, khi ta gán giá trị thì tự động Python sẽ nội suy ra kiểu dữ liệu của biến. Như vậy một biến có thể có nhiều kiểu dữ liệu tùy thuộc vào giá trị mà ta gán. Ta có thể dùng hàm type() để kiểm tra kiểu dữ liệu của biến:
  • 10. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.1.2. Khai báo biến trong Python Trang 10 x=5 print(type(x)) x='teo' print(type(x)) x=True print(type(x)) x=5.5 print(type(x)) x=complex(113,114) print(type(x)) Với x = 5 ta có kiểu dữ liệu: <class ‘int’> Với x = ‘teo’ ta có kiểu dữ liệu:<class ‘str’> Với x = True ta có kiểu dữ liệu:<class ‘bool’> Với x = 5.5 ta có kiểu dữ liệu:<class ‘float’> Với x = complex(113,114) ta có kiểu dữ liệu:<class ‘complex’> print(x.real,x.imag) thực:113, ảo:114
  • 11. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.1.3. Cách xóa biến Trang 11 Trong Python có một điểm thú vị là: Nếu biến đó đang tồn tại mà ta xóa nó đi thì không còn sử dụng được nữa (tương tự trong C++ khi chúng ta thu hồi bộ nhớ của con trỏ vậy), Python dùng từ khóa del để xóa: x="Obama" print(x) del x print(x) Obama Traceback (most recent call last): File "/XoaBien.py", line 4, in <module> print(x) NameError: name 'x' is not defined
  • 12. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.1.4. Cách kiểm tra vùng lưu trữ Trang 12 Ta có thể kiểm tra vùng lưu trữ giá trị của các biến int, float bằng cách import thư viện sys để có thể xem được chi tiết: import sys print("Thông tin chi tiết của int:") print(sys.int_info) print("Thông tin chi tiết của float:") print(sys.float_info) Thông tin chi tiết của int: sys.int_info(bits_per_digit=15, sizeof_digit=2) Thông tin chi tiết của float: sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
  • 13. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.2. Cách ghi chú lệnh trong Python Trang 13 2.2.1. Vì sao nên ghi chú khi lập trình 2.2.2. Ghi chú 1 dòng 2.2.3. Ghi chú nhiều dòng
  • 14. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.2.1. Vì sao nên ghi chú khi lập trình Trang 14 Việc ghi chú lệnh một cách cẩn thận khi lập trình thể hiện tính chuyên nghiệp của Lập trình viên. Không phải nói ngoa nếu như các bạn được phỏng vấn xin việc, nếu Công ty kiểm tra coding từ các Project sample của bạn mà thấy bạn không có ghi chú một cách cẩn thận (cho dù bạn có lập trình giỏi tới mấy) thì khả năng bị loại cực cao, nếu giỏi mà cẩu thả thì càng nguy hiểm, vì độ “sát thương” cho các dự án rất cao. Triển khai nhiều dự án, viết nhiều lệnh nếu không ghi chú: Khó khăn cho chính bản thân Programmer khi đọc lại và rất khó training khi có nhân viên mới vào làm việc.
  • 15. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.2.2.Ghi chú 1 dòng Trang 15 Python dùng từ khóa # để cho phép ta ghi chú 1 dòng:
  • 16. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.2.3. Ghi chú nhiều dòng Trang 16 Để ghi chú nhiều dòng lệnh, Ta dùng """ """ (3 cặp nháy đôi) hoặc ''' '''(3 cập nháy đơn)
  • 17. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.2.3. Ghi chú nhiều dòng Trang 17 Để ghi chú nhiều dòng lệnh, Ta dùng """ """ (3 cặp nháy đôi) hoặc ''' '''(3 cập nháy đơn)
  • 18. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.3. Các toán tử thường dùng trong Python Trang 18 Mỗi một ngôn ngữ lập trình đều có tập các toán tử thường dùng và đa phần chúng khá giống nhau. Những bạn nào đã học C++, java, C# thì qua Python cũng tương tự. Trong Python còn bổ sung thêm nhiều toán tử khá hữu ích khác nữa, dưới này liệt kê 4 loại toán tử cơ bản thường dùng nhất trong Python (các loại khác bạn có thể xem thêm tại: https://docs.python.org/3/library/stdtypes.html ): 2.3.1. Toán tử số học cơ bản 2.3.2. Toán tử gán 2.3.3. Toán tử So sánh 2.3.4. Toán tử Logic 2.3.5. Độ ưu tiên toán tử
  • 19. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.3.1.Toán tử số học cơ bản Trang 19 Toán tử Mô tả Ví dụ + Cộng 12 + 4.9 => kết quả 16.9 – Trừ 3.98 – 4 => kết quả -0.02 * Nhân 2 * 3.4 => kết quả 6.8 / Chia 9 / 2 => kết quả 4.5 // Chia lấy phần nguyên 9 // 2 => kết quả 4 % Chia lấy phần dư 9%2 =>kết quả 1 ** Lũy thừa 3**4=>kết quả 81
  • 20. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.3.2.Toán tử gán Trang 20 Toán tử Mô tả Ví dụ Tương đương với = Phép gán giá trị bên phải cho biến bên trái dấu bằng x=5 += Cộng và gán x=2 x+=5 ==>x=7 x=x+5 -= Trừ và gán x=2 x-=5 ==>x=-3 x=x-5 *= Nhân và gán x=2 x*=5 ==>x=10 x=x*5
  • 21. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.3.2.Toán tử gán Trang 21 Toán tử Mô tả Ví dụ Tương đương với /= Chia và gán x=7 x/=5 ==>x=1.4 x=x/5 //= Chia và gán (lấy nguyên) x=7 x//=5 ==>x=1 x=x//5 %= Chia lấy dư x=7 x%=5 ==>x=2 x=x%5 **= Lấy lũy thừa và gán x=2 x**=3 ==>x là 2 mũ 3 =8 x=x**3
  • 22. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.3.3.Toán tử So sánh Trang 22 Toán tử Mô tả Ví dụ == So sánh bằng 5 == 5 => kết quả True != So sánh không bằng 5 != 5 => kết quả False < So sánh nhỏ hơn 5 < 5 => kết quả False <= So sánh nhỏ hơn hoặc bằng 5 <= 5 => kết quả True > So sánh lớn hơn 5 > 5.5 => kết quả False >= So sánh lớn hơn hoặc bằng 113>= 5 => kết quả True is Trả về true nếu các biến ở hai bên toán tử cùng trỏ tới một đối tượng(hoặc cùng giá trị), nếu không là false x=5 y=5 print(x is y) =>kết quả là True is not Trả về false nếu các biến ở hai bên toán tử cùng trỏ tới một đối tượng(hoặc cùng giá trị), nếu không là true x=5 y=5 print(x is not y) =>kết quả là False
  • 23. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.3.4.Toán tử Logic Trang 23 Toán tử Mô tả Ví dụ and Toán tử Và: Nếu cả hai điều kiện là True thì kết quả sẽ là True x=2016 print(x%4==0 and x%100!=0) =>True or Toán tử Hoặc: Chỉ cần một điều kiện True thì nó True, tất cả điều kiện False thì nó False x=2016 print((x%4==0 and x%100!=0) or x%400==0) =>True not Toán tử Phủ định. Thông thường nó được dùng để đảo ngược trạng thái logic của toán hạng x=4 if (not x>=5): print("Ngắm gà khỏa thân và nải chuối") else: print("Đậu")
  • 24. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.3.5.Độ ưu tiên toán tử Trang 24 Python có ràng buộc thứ tự ưu tiên của các toán tử. Tuy nhiên tốt nhất là các bạn hay điều khiển nó bằng cách dùng cặp ngoặc tròn ( ) để nó rõ nghĩa hơn. Bảng dưới đây để tham khảo độ ưu tiên từ cao xuống thấp (tuy nhiên có thể quên nó đi mà hãy dùng ngoặc tròn () để chỉ định rõ).
  • 25. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.3.5.Độ ưu tiên toán tử Trang 25 Thứ tự ưu tiên Toán tử Miêu tả 1 ** Toán tử mũ 2 * / % // Phép nhân, chia, lấy phần dư và phép chia lấy phần nguyên 3 + – Toán tử Cộng, Trừ 4 <= < > >= Các toán tử so sánh 5 <> == != Các toán tử so sánh 6 = %= /= //= -= += *= **= Các toán tử gán 7 is , is not Các toán tử so sánh 8 not, or, and Các toán tử Logic
  • 26. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.4. Cách nhập liệu từ bàn phím trong Python Trang 26 Trong Python để nhập liệu từ bàn phím ta dùng hàm input(). Giá trị nhập vào của hàm input() thường là kiểu chuỗi, do đó ta cần chuyển kiểu nếu như muốn lưu trữ giá trị nhập vào không phải kiểu chuỗi. print("Mời bạn nhập cái gì đó:") s=input() print("Bạn nhập:",s) print("Kiểu dữ liệu:",type(s))
  • 27. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW Trang 27 Muốn đưa về số int print("Mời thím nhập int:") x=int(input()) print("Bạn nhập:",x) print("Kiểu dữ liệu:",type(x)) 2.4. Cách nhập liệu từ bàn phím trong Python
  • 28. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW Trang 28 Muốn đưa về số float print("Mời thím nhập int:") x=float(input()) print("Bạn nhập:",x) print("Kiểu dữ liệu:",type(x)) 2.4. Cách nhập liệu từ bàn phím trong Python
  • 29. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW Trang 29 Muốn đưa về số boolean def StrToBool(s): return s.lower() in ("yes", "true", "t", "1") print("Mời thím nhập bool:") x = StrToBool(input()) print("Bạn nhập:", x) print("Kiểu dữ liệu:", type(x)) 2.4. Cách nhập liệu từ bàn phím trong Python
  • 30. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW Trang 30 Ngoài ra hàm input() còn có cho phép ta nhập nhãn tiêu đề vào như sau: x=input("Mời bạn nhập giá trị gì đó:") print("Bạn nhập: ",x) 2.4. Cách nhập liệu từ bàn phím trong Python
  • 31. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW Trang 31 Để xuất lặp dữ liệu ra màn hình ta làm như sau: Xuất dấu * 15 lần print('*'*15) *************** 2.5. Các kiểu xuất dữ liệu
  • 32. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW Trang 32 Dùng hàm format để xuất dữ liệu: 2.5. Các kiểu xuất dữ liệu
  • 33. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW Trang 33 Muốn xuất căn phải ta có thể làm như sau: print('-'*15) print('{0:>2} {1:>11}'.format('STT', 'Giá trị')) print('-'*15) print('{0:>2} {1:>11}'.format(1, 10**10)) print('{0:>2} {1:>11}'.format(2, 10**9)) print('{0:>2} {1:>11}'.format(3, 10**8)) print('{0:>2} {1:>11}'.format(4, 10**7)) print('{0:>2} {1:>11}'.format(5, 10**6)) print('{0:>2} {1:>11}'.format(6, 10**5)) print('{0:>2} {1:>11}'.format(7, 10**4)) print('{0:>2} {1:>11}'.format(8, 10**3)) print('{0:>2} {1:>11}'.format(9, 10**2)) print('{0:>2} {1:>11}'.format(10, 10**1)) print('-'*15) 2.5. Các kiểu xuất dữ liệu
  • 34. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW Trang 34 Bất cứ người nào lập trình cũng đều sinh ra lỗi, tùy vào và khả và kinh nghiệm của từng người mà gặp các loại lỗi khác nhau. Có 3 loại lỗi thường gặp là: 2.6.1. Lỗi cú pháp(Syntax Errors) 2.6.2. Lỗi thực thi(Run-time Exceptions) 2.6.3. Lỗi nghiệp vụ(Logic Errors) Python cũng giống như các ngôn ngữ khác là cho phép bắt lỗi bằng khối lệnh try…catch 2.6. Các loại lỗi trong Python
  • 35. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW Trang 35 Lỗi thường gặp với những Programmer mới bắt đầu học, viết đâu sai đó, không thể thông dịch được phần mềm. 2.6.1. Lỗi cú pháp(Syntax Errors)
  • 36. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW Trang 36 Thường lỗi này thông dịch hoàn tất, nhưng trong quá trình thực thi lại phát sinh ra lỗi. Các lỗi thường gặp như chia cho 0, ép kiểu sai, đọc file lỗi, kết nối mạng lỗi…. 2.6.2. Lỗi thực thi(Run-time Exceptions)
  • 37. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW Trang 37 Lỗi này rất nghiêm trọng, thông dịch và chạy ngon lành. Nhưng kết qua sai với yêu cầu nghiệp của Khách hàngĐứt bóng đời Cô Lựu Các lỗi này thường rất hiếm khi xảy ra, nhưng khi xảy ra rồi thì rất khó tìm thấy, và thấy rồi cũng thường khó fix bug. 2.6.3. Lỗi nghiệp vụ(Logic Errors)
  • 38. Web kinh doanh 1 WORKING HARD & SMART TODAY FOR A BETTER TOMORROW 2.6.4. Bắt lỗi Trang 38 Python hỗ trợ try…catch để bắt lỗi Runtime, giúp báo rõ loại lỗi chương trình đang gặp và vẫn tiếp tục hoạt động khi gặp lỗi. Có rất nhiều trường hợp sử dụng, bài học trình bày 1 cách tổng quát nhất: