Professional Documents
Culture Documents
Bai Giới Thiệu Về Python - C3
Bai Giới Thiệu Về Python - C3
KHOA ĐIỆN TỬ
1
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
PYTHON LÀ GÌ?
• Python là ngôn ngữ lập trình hướng đối tượng đang nổi lên hiện nay như một
ngôn ngữ nhập môn lập trình
• Python cũng là một ngôn ngữ thông dịch, tức là ngôn ngữ không cần phải biên
dịch ra file chạy mà đọc code đến đâu thì chạy đến đó.
• Python hỗ trợ mẫu đa lập trình, bao gồm lập trình hướng đối tượng, lập trình hàm
và mệnh lệnh hoặc là các phong cách lập trình theo thủ tục.
• Python không chỉ làm việc trên lĩnh vực đặc biệt như lập trình web, và đó là tại
sao ngôn ngữ này là đa mục đích bởi vì nó có thể được sử dụng với web,
enterprise, 3D CAD, …
2
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
3
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
4
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Keyword : là những từ chỉ dành riêng cho Python. Ngoại trừ True, False và None được
viết hoa ra thì các keyword khác đều bắt buộc được viết dưới dạng chữ thường.
• Định danh : là tên được đặt cho các thực thể như class, function, biến,... trong Python.
Nó giúp phân biệt thực thể này với thực thể khác.
5
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Định danh không thể bắt đầu bằng một chữ số.
• Python không hỗ trợ các ký tự đặc biệt như !, @, #, $, %,... trong định danh.
• Tên lớp thường bắt đầu với một chữ cái hoa. Tất cả các định danh khác bắt đầu với chữ cái thường.
• Định danh bắt đầu với một dấu dạch dưới _ thì là định danh private.
• Định danh bắt đầu với 2 dấu gạch dưới __ thì mức độ private cao hơn.
• Nếu định danh bắt đầu và kết thúc bằng 2 dấu gạch dưới (__init__ chẳng hạn) thì định danh đó là tên đặc biệt được ngôn ngữ
định nghĩa.
• Python là ngôn ngữ lập trình phân biệt chữ hoa, chữ thường, nghĩa là bien và Bien là không giống nhau.
6
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Mỗi câu lệnh được viết trên 1 dòng nếu câu lệnh trên nhiều dòng thì sử dụng ký tự tiếp
tục dòng lệnh (\)
• Một khối code (thường là khối lệnh của hàm, vòng lặp,...) bắt đầu với thụt lề và kết thúc
với dòng đầu tiên không thụt lề. Thụt lề bao nhiêu là tùy thuộc ở người lập trình nhưng
chúng phải nhất quán trong suốt khối code đó, tức là các lệnh trong cùng một khối thì
phải có độ thụt lề bằng nhau.
• Sử dụng ký tự # để bắt đầu một dòng chú thích
7
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
8
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Toán tử số học
• Toán tử quan hệ (còn gọi là toán tử so sánh)
• Toán tử gán
• Toán tử logic
• Toán tử membership
• Toán tử identify
• Toán tử thao tác bit
9
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
// Thực hiện phép chia, trong đó kết quả là thương số sau khi đã xóa các chữ số
sau dấu phảy
+ Phép cộng
- Phép trừ
* Phép nhân
/ Phép chia
% Phép chia lấy phần dư
** Phép lấy số mũ (ví dụ 2**3 cho kết quả là 8)
10
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
TOÁN TỬ QUAN HỆ
Toán tử Miêu tả
< Nhỏ hơn. Nếu giá trị của toán hạng trái là nhỏ hơn giá trị của toán hạng
phải, thì điều kiện trở thành true
> Lớn hơn
<= Nhỏ hơn hoặc bằng
<= Lớn hơn hoặc bằng
== Bằng
!= Không bằng
<> Không bằng (tương tự !=)
11
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
TOÁN TỬ GÁN
Toán tử Miêu tả
= Phép gán
/= Chia toán hạng trái cho toán hạng phải, và gán kết quả cho toán hạng trái
+= Cộng và gán
-= Trừ và gán
*= Nhân và gán
%= Chia lấy phần dư và gán
**= Lấy số mũ và gán
//= Thực hiện phép chia // và gán
12
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
TOÁN TỬ LOGIC
Toán tử Miêu tả
and Phép Và. Nếu cả hai điều kiện là true thì kết quả sẽ là true
or Phép Hoặc. Nếu một trong hai điều kiện là true thì kết quả là true
not Phép phủ định. Được sử dụng để đảo ngược trạng thái logic của
toán hạng
13
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
| Sao chép một bit tới kết quả nếu bit này tồn tại trong bất kỳ toán hạng nào (a | b) = 61 (tức là 0011 1101)
^ Sao chép bit nếu nó được set (chỉ bit 1) chỉ trong một toán hạng (a ^ b) = 49 (tức là 0011 0001)
~ Đây là toán tử một ngôi, được sử dụng để đảo ngược bit (~a ) = -61 (tức là 1100 0011)
<< Toán tử dịch trái nhị phân. Giá trị của toán hạng trái được dịch chuyển a << = 240 (tức là 1111 0000)
sang trái một số lượng bit đã được xác định bởi toán hạng phải
>> Toán tử dịch phải nhị phân. Giá trị của toán hạng trái được dịch chuyển a >> = 15 (tức là 0000 1111)
sang phải một số lượng bit đã được xác định bởi toán hạng phải
14
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
TOÁN TỬ MEMBERSHIP
Toán tử Miêu tả
in Trả về true nếu một biến là nằm trong dãy các biến, nếu không
là false
not in Trả về true nếu một biến là không nằm trong dãy các biến, nếu
không là false
15
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
TOÁN TỬ IDENTIFY
Toán tử Miêu tả
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, nếu không là false
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, nếu không là true
16
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
17
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
18
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Lệnh if
• Lệnh for
• Lệnh while
• Lệnh continue,break
• Lệnh pass
19
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Cú pháp
• if điều kiện
• Khối lệnh của if
20
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Cú pháp: Sơ đồ
if điều kiện:
Khối lệnh của if
else:
Khối lệnh của else
21
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
LỆNH IF...ELIF...ELSE
• Cú pháp
if điều kiện:
Khối lệnh của if
elif test expression:
Khối lệnh của elif
else:
Khối lệnh của else
22
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
VÍ DỤ VỀ LỆNH IF
• x = int(input("Nhap mot so: "))
• if x < 0:
• x=0
• print('So am')
• elif x == 0:
• print('So 0')
• elif x == 1:
• print('So 1')
• else:
• print('So duong')
23
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
24
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
VÍ DỤ 2
• #Lặp dãy từ 0 đến 10
• for num in range(0,10):
• #Lặp trên các thừa số của một số trong dãy
• for i in range(2,num):
• #Xác định thừa số đầu tiên (phép chia có số dư bằng 0)
• if num%i == 0:
• j=num/i #Ước lượng thừa số thứ 2
• print ('%d bằng %d * %d' % (num,i,j))
• break #Dừng vòng for hiện tại, chuyển đến số tiếp theo trong vòng for đầu
tiên
• else: # Phần else trong vòng lặp
• print (num, 'là số nguyên tố')
25
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
Cú pháp: Ví dụ:
while bieu_thuc: count = 0
cac_lenh while (count < 9):
print ‘Dem so:', count
count = count + 1
26
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Một vòng lặp vô hạn là vòng lặp mà điều kiện của • Ví dụ:
nó là luôn true, tức là vòng lặp không bao giờ kết
• var = 1
thúc.
• Một vòng lặp vô hạn có thể là rất hữu ích trong lập • while var == 1 : # vong lap vo han
trình client/server, tại đó server cần chạy liên tục để • num = input("Hay nhap mot so :")
mà các chương trình client có thể giao tiếp với nó
• print ("So da nhap la: ", num)
khi cần thiết.
• Để thoát khỏi vòng lặp vô hạn cần nhấn phím • print (“Ket thuc!”)
CTRL+C
27
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
28
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
LỆNH BREAK
• Lệnh này kết thúc vòng lặp hiện tại và truyền • Ví dụ:
điều khiển tới cuối vòng lặp. • var = 10
• Lệnh break có thể được sử dụng trong vòng • while var > 0:
lặp while và vòng lặp for.
• print ('Gia tri bien hien tai la :', var)
• Nếu đang sử dụng lồng vòng lặp, thì lệnh break
• var = var -1
kết thúc sự thực thi của vòng lặp bên trong và
bắt đầu thực thi dòng code tiếp theo của khối. • if var == 5:
• Cú pháp: • break
• break • print “Ket thuc!"
29
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
LỆNH CONTINUE
30
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
LỆNH PASS
• Lệnh pass được sử dụng khi một lệnh là cần thiết theo cú pháp nhưng không muốn bất
cứ lệnh hoặc khối code nào được thực thi.
• Lệnh pass là một hoạt động null và không có gì xảy ra khi nó thực thi.
• Cú pháp :
• pass
31
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
32
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
VÍ DỤ VỀ HÀM
• # Phan dinh nghia ham
• def sum( arg1, arg2 ):
• # Cong hai tham so va tra ve ket qua."
• total = arg1 + arg2
• print "Ben trong ham : ", total
• return total;
33
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
34
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
35
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• sum(10,20)
• sum(20)
36
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
37
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
THAM SỐ TỪ KHÓA
• Ví dụ:
• Sử dụng tham số từ khóa, tham
số được truyền trong lời gọi • def msg(Id,Name):
hàm được kết nối với phần định • #"In gia tri da truyen"
nghĩa hàm dựa trên tên của • print("ma so:",Id)
tham số. Với trường hợp này, vị
• print("Ten:",Name)
trí của các tham số trong lời gọi
hàm là tùy ý •
• #Function call
• msg(Id=100,Name='Hoang')
• msg(Name='Thanh',Id=101)
38
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
39
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
40
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
XỬ LÝ CHUỖI
41
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
XỬ LÝ CHUỖI
• Trích xuất chuỗi con : lấy khoản [start:end] (range).
• VD: str = 'Hello world' print str[0:4] = "Hell“
• Lấy độ dài của chuỗi: len(chuỗi)
• VD: count = len("Hello world") count = 11
• Tìm và thay thế trong chuỗi: replace(search, replace[, max])
• VD: str = 'Hello world' newstr = str.replace('Hello' , 'Bye')
• Tách chuỗi: split(str="", num=string.count(str)) .
• VD: str = 'Hello world' print str.split(' ')
• splitlines() để tách chuỗi theo từng dòng
42
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
XỬ LÝ CHUỖI
• loại bỏ các ký tự khoảng trắng:
• strip([chars]) : loại bỏ trước và sau chuỗi
• lstrip([chars]) : loại bỏ phía trước chuỗi
• rstrip([chars]) : loại bỏ phía sau chuỗi
43
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Nhập 1 chuỗi, đếm xem trong chuỗi có bao nhiêu từ (giả sử:
các từ phân tách nhau bởi dấu cách hoặc dấu , hoặc dấu .
Hoặc dấu !
• VD: xin chào! Tên tôi là hoa, tôi 20 tuổi
44
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
BÀI TẬP
• Nhập 1 chuỗi dữ liệu. Thay thế tất cả các chuỗi con x được nhập từ bàn phím thành
chuỗi con y( nhập từ bàn phím)
• VD: str gốc = “ xin chào xin cho tôi một vé”
• X = “xin”
• Y = “không”
• không chào không cho tôi một vé
45
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
XỬ LÝ LIST
• Truy xuất từng phần tử của mảng bằng index, phần tử đầu tiên có thứ tự là 0
• VD: numbers = [1, 2, 3, 4, 5] names = ['Marry' , 'Peter']
• numbers[0] = 1/ names[0] = ‘Marry’
• Đếm số phần tử của mảng: len(array)
• Trích xuất mảng con: tên mảng [start:end]/ (range).
• . Xóa phần tử của mảng: del tên mảng[ chỉ số]
• Nối 2 mảng: toán tử +
46
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
XỬ LÝ LIST
47
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
TUPLE
• Tuple cũng là một cấu trúc mảng, tương tự như cấu trúc List.
• Khai báo Tuple sử dụng cặp dấu ngoặc (...) và một tuple đã được khai báo rồi thì không
thay đổi được giá trị (immutable)
• Không hỗ trợ các phương thức như append() , pop() …
• VD:
mytuple = ('x' , 'y' , 'z')
48
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
DICTIONARY
• Dictionary cũng là một cấu trúc mảng, nhưng các phần tử bao gồm key và value.
• VD: point = {'x': 1, 'y': 2}
• point[x] = 1
• Thêm một phần tử vào dictionary: dict[key] = value .
• VD: user = {'name': 'Jone' , 'age': 30}
• user['country'] = 'Vietnam‘
• Kết quả là : user = {'country': 'Vietnam' , 'age': 30, 'name': 'Jone'}
49
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
DICTIONARY
50
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Tạo 1 dictionary gồm 2 thành phần số -- key và bình phương của số -- value
• Nhập 1 số nguyên dương
• Lập 1 list chứa các dictionary từ 0 – đến số nguyên vừa nhập
51
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Cơ chế xử lý ngoại lệ của Python được cài đặt thông qua việc sử dụng các khối lệnh:
try, except và finally.
• Khối try: Dùng để thử lỗi. Khối try sẽ chứa các đoạn mã có khả năng gây ra lỗi
• Khối except: Dùng để xử lý lỗi. Khối except sẽ chứa các đoạn mã xử lý lỗi được phát
sinh trong khối try. Khối except có ý nghĩa giống như khối catch ở các ngôn ngữ khác
như Java, C#
• Khối finally: Dùng để chứa các đoạn mã sẽ được thực thi cho dù chương trình có lỗi hay
không. Khối này thường dùng để chứa các đoạn lệnh giải phóng tài nguyên sau khi
thực thi xong chương trình, VD như đóng file, đóng kết nối đến CSDL v.v…
52
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Nếu chương trình có lỗi, khối try sẽ dừng lại, và chương trình
sẽ chuyển đến khối except để thực thi và xử lý lỗi.
• Nếu chương trình có nhiều khối except, thì từng khối sẽ lần lượt được
đánh giá theo thứ tự từ trên xuống dưới, khối nào xử lý được lỗi thì sẽ
được thực thi.
• Nếu chương trình không có lỗi, khối try sẽ được thực thi toàn bộ, chương
trình không thực thi khối except.
53
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
54
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
BÀI TẬP
• Bài 2: nhập 1 dãy số nguyên, in ra các số nguyên tố trong dãy. Tính trung bình cộng các
số không nguyên tố
• Bài 3: Nhập 1 số nguyên 0<n<50. Nhập 1 mảng gồm n số nguyên. Viết hàm kiểm tra 1
số có là số đối xứng không? Tạo 1 dictionary chứa các số đối xứng. Tính TBC các số
đối xứng
• VD 123321
55
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
BÀI TẬP
• 1- Viết hàm tính giai thừa của 1 số nguyên dương. Nhập n, in ra kết quả n!
• 2- Nhập 1 số nguyên dương n. Tạo 1 danh sách (list) chứa bình phương các số từ 1 đến
n
• 3 – Nhập 1 số nguyên dương n. Tạo 1 dictionary chứa bình phương các số từ 1 đến n
• 4- Nhập 1 dãy số, các số được phân tách nhau bởi dấu phảy. Tính tổng các số chẵn
56
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
BÀI TẬP
• 5- Viết hàm tính tổng, hàm tính hiệu, hàm tính tích, hàm tính thương của 2 số thực. Nhập 2
số. In kết quả tổng, hiệu, tích, thương của 2 số đó
• 6- Viết hàm tính tổng các số chẵn của 1 dãy, hàm tính tổng các số lẻ của 1 dãy. Nhập 1 list
các phần tử phân tách nhau bởi dấu phảy. Tính tổng chẵn, tổng lẻ của list đã nhập
• 7 – Viết hàm kiểm tra 1 số nguyên x có chia hết cho 2 không, hàm kiểm tra số chia hết cho
3, hàm kiểm tra số chia hết cho 5. Nhập 1 số tự nhiên N, tạo ra 3 list chứa các số chia hết
cho 2, chia hết cho 3, chia hết cho 5 trong khoảng từ 1 đến N
• 8- Viết hàm kiểm tra số x có nguyên tố không, hàm kiểm tra x có chính phương không.
Nhập 1 số nguyên dương N, tạo 1 dictionary chứa các số nguyên tố và 1 dictionary chứa các
số chính phương trong khoảng từ 1 đến N
57
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Lớp: Một nguyên mẫu được định nghĩa bởi người dùng cho một đối tượng. Các thuộc
tính là các thành viên dữ liệu (các biến class và biến instance) và các phương thức
được truy cập thông qua toán tử dot (dấu chấm .)
• Biến class: Đây là một biến được chia sẻ bởi tất cả các instance (sự thể hiện) của một
lớp. Các biến class được định nghĩa bên trong một lớp nhưng ở bên ngoài bất cứ
phương thức nào của lớp đó.
• Instance: Là một đối tượng riêng của một lớp nào đó. Một đối tượng obj mà thuộc một
lớp Circle là một instance (sự thể hiện) của lớp Circle.
58
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Biến instance: Là một biến được định nghĩa bên trong một phương thức và chỉ thuộc sở
hữu của instance hiện tại của một lớp đó.
• Phương thức: Một loại hàm đặc biệt mà được định nghĩa trong một phần định nghĩa
lớp.
• Đối tượng: Một instance duy nhất của một cấu trúc dữ liệu mà được định nghĩa bởi lớp
của nó. Một đối tượng gồm các thành viên dữ liệu (biến class và biến instance) và các
phương thức.
59
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• class myclass([parentclass]):
• assignments
• def __init__(self):
• statements
• def method():
• statements
• def method2():
• statements
60
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
61
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Để tạo các giá trị của một lớp, sử dụng tên lớp và truyền vào bất kỳ tham số nào mà
phương thức __init__ của nó chấp nhận.
• Ví dụ:
• sv1 = Sinhvien("Hoang", 4000000)
• sv2 = Sinhvien("Huong", 4500000)
62
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
• Để truy cập các thuộc tính của đối tượng sử dụng toán tử dot (dấu chấm) với đối tượng
như sau:
• Tên_class.Tên_thuộc_tính
• Tên_class.Tên_phương_thức
• Ví dụ:
• sv1.displaySinhvien()
• sv2.displaySinhvien()
• print "Tong so Sinh vien %d" % Sinhvien.svCount
63
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved
LẬP TRÌNH MẠNG
BÀI TẬP
• Tạo 1 class hoc sinh gồm các thông tin tên, mã học sinh, điểm toán, lý, hóa. Viết các
phương thức tính điểm tổng 3 môn, phương thức hiển thị thông tin học sinh.
• Nhập 1 list gồm n học sinh. Tìm học sinh có điểm tổng lớn nhất, tính trung bình cộng
điểm các học sinh có điểm toán <5 (lưu ý trường hợp tất cả hs đều có điểm toán >5)
64
https://fee.haui.edu.vn/vn © 2021 Hanoi University of Industry All rights reserved