Python
là một ngôn ngữ lập trình đa mẫu hình, lập trình hướng đối tượng và lập trình cấu trúc được hỗ trợ hoàn toàn, và nhiều tính năng của nó cũng hỗ trợ lập trình hàm và lập trình hướng khía cạnh (bao gồm siêu lập trình và siêu đối tượng (phương thức thần kỳ)).Các mẫu hình khác cũng được hỗ trợ thông qua các phần mở rộng, bao gồm thiết kế theo hợp đồng và lập trình logic.
là một ngôn ngữ lập trình đa mẫu hình, lập trình hướng đối tượng và lập trình cấu trúc được hỗ trợ hoàn toàn, và nhiều tính năng của nó cũng hỗ trợ lập trình hàm và lập trình hướng khía cạnh (bao gồm siêu lập trình và siêu đối tượng (phương thức thần kỳ)).Các mẫu hình khác cũng được hỗ trợ thông qua các phần mở rộng, bao gồm thiết kế theo hợp đồng và lập trình logic.
1. Tìm hiểu về lập trình hướng đối tượng
– Lập trình hướng đối tượng là một kỹ thuật hỗ trợ, cho phép lập trình viên trực tiếp làm việc với các đối tượng mà họ định nghĩa. Giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng phần mềm.
– Hiện nay có khá nhiều ngôn ngữ lập trình theo hướng đối tượng như C++, Java, PHP, … và còn cả Python
Một vài thuật ngữ hướng đối tượng
+ Lớp (Class): kiểu dữ liệu do người dùng định nghĩa, tập hợp nhiều thuộc tính đặc trưng cho đối tượng được tạo ra từ lớp đó, các thuộc tính là các biến thành viên hoặc phương thức.
+ Đối tượng (Object): Một thể hiện cụ thể của cấu trúc dữ liệu được định nghĩa trong lớp. Một đối tượng bao gồm cả các biến thành viên và phương thức.
+ Thuộc tính (Data member): thuộc tính được định nghĩa trong lớp.
+ Phương thức (Method): được định nghĩa trong lớp nhằm thực hiện một công việc.
+ Kế thừa (Inheritace):tính chất của các ngôn ngữ lập trình hướng đối tượng cho phép các lớp mở rộng từ 1 lớp có sẵn.
2. Tìm hiểu về thao tác với lớp (class)
a. Khai báo lớp, đối tượng
– Khai báo lớp:
– Khai báo đối tượng:
b. Tham chiếu đến thuộc tính và phương thức
– Tham chiếu đến thuộc tính:
– Tham chiếu đến phương thức:
c. Một số hàm khi làm việc với lớp
Hàm Mô tả
getattr(obj, name[, default]) Lấy 1 thuộc tính của đối tượng, nếu đối tượng này không có thuộc tính đó thì giá trị trả về là default. Khi default không được truyền vào thì giá trị trả về là None.
hasattr(obj, name) Kiểm tra thuộc tính có tồn tại trong đối tượng này hay không, nếu có thì trả về True và ngược lại.
setattr(obj, name, value) Gán giá trị value cho thuộc tính trong đối tượng.
delattr(obj, name) Xoá thuộc tính trong đối tượng.
Lưu ý: name phải là kiểu xâu trong các hàm trên
3. Ví dụ về làm việc với class
– Lập trình hướng đối tượng là một kỹ thuật hỗ trợ, cho phép lập trình viên trực tiếp làm việc với các đối tượng mà họ định nghĩa. Giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng phần mềm.
– Hiện nay có khá nhiều ngôn ngữ lập trình theo hướng đối tượng như C++, Java, PHP, … và còn cả Python
Một vài thuật ngữ hướng đối tượng
+ Lớp (Class): kiểu dữ liệu do người dùng định nghĩa, tập hợp nhiều thuộc tính đặc trưng cho đối tượng được tạo ra từ lớp đó, các thuộc tính là các biến thành viên hoặc phương thức.
+ Đối tượng (Object): Một thể hiện cụ thể của cấu trúc dữ liệu được định nghĩa trong lớp. Một đối tượng bao gồm cả các biến thành viên và phương thức.
+ Thuộc tính (Data member): thuộc tính được định nghĩa trong lớp.
+ Phương thức (Method): được định nghĩa trong lớp nhằm thực hiện một công việc.
+ Kế thừa (Inheritace):tính chất của các ngôn ngữ lập trình hướng đối tượng cho phép các lớp mở rộng từ 1 lớp có sẵn.
2. Tìm hiểu về thao tác với lớp (class)
a. Khai báo lớp, đối tượng
– Khai báo lớp:
class <tên lớp>:
#Constructor – Hàm khởi tạo
def __init__(self,[<danh sách thuộc tính>])
[<sự kiện>]
[<phương thức>]
– Khai báo đối tượng:
<tên đối tượng> = <tên lớp>([<danh sách tham số>])
b. Tham chiếu đến thuộc tính và phương thức
– Tham chiếu đến thuộc tính:
<tên đối tượng>.<tên thuộc tính>
– Tham chiếu đến phương thức:
<tên đối tượng>.<phương thức>()
c. Một số hàm khi làm việc với lớp
Hàm Mô tả
getattr(obj, name[, default]) Lấy 1 thuộc tính của đối tượng, nếu đối tượng này không có thuộc tính đó thì giá trị trả về là default. Khi default không được truyền vào thì giá trị trả về là None.
hasattr(obj, name) Kiểm tra thuộc tính có tồn tại trong đối tượng này hay không, nếu có thì trả về True và ngược lại.
setattr(obj, name, value) Gán giá trị value cho thuộc tính trong đối tượng.
delattr(obj, name) Xoá thuộc tính trong đối tượng.
Lưu ý: name phải là kiểu xâu trong các hàm trên
3. Ví dụ về làm việc với class
class hocsinh:
#Constructor – Hàm khởi tạo
def __init__(self,hoten,dtoan,dvan):
self.hoten = hoten
self.dtoan = dtoan
self.dvan = dvan
#Phương thức dtb tính điểm trung bình
def dtb(self):
return (self.dtoan + self.dvan)/2
#Phương thức xuất ra màn hình một đối tượng def in_hs(self):
print(self.hoten,self.dtoan,self.dvan)
#Tạo đối tượng hs từ lớp hocsinh
hs = hocsinh("Nguyen Minh Anh",9,8)
#Tham chiếu đến phương thức dtb
print("Trung bình điểm của",hs.hoten,"là",hs.dtb())
#Tham chiếu đến phương thức in_hs
hs.in_hs()
Tags:
python