Giáo trình lập trình hướng đối tượng python

Hôm nay cafedev chia sẻ cho ace một số kiến thức, tài liệu, bài tập chọn lọc giúp mọi người rèn luyện, nâng cao, ôn luyện về hướng đối tượng[Object-oriented Programming [OOP]] một cách vững nhất.

Theo kinh nghiệm xương máu đi làm thực tế hơn 8 năm nay với các dự án cả trăm người cho tới 1,2 người tham gia. Những dự án đó hầu như 100% đều có dùng tới lập trình hướng đối tượng[Object-oriented Programming [OOP]] và nó cũng là một chủ đề khá hot trong phỏng vấn cho các ace mới lần đầu đi làm. Ngoài ra python là một ngôn ngữ khá mạnh mẽ và ứng dụng nhiều trong các lĩnh vực khác nhau, bạn có tham khảo thêm về nó tại đây.

Hầu hết các ngôn ngữ lập trình hiện nay đều có thể áp dụng lập trình hướng đối tượng, chỉ cần bạn hiểu sâu về nó và áp dụng nó trên một ngôn ngữ cụ thể thì các ngôn ngữ khác cũng tương tự như vậy. Trong bài này cafedev sẽ giúp các bạn học nó và làm bài tập trên ngôn ngữ python 3 một cách chi tiết + full bài hướng dẫn.

Nếu ace nào chưa rõ hoặc muốn ôn luyện c++ thì có thể tham khảo series tự học python sau.

Sau đây là các tài liệu, thực hành bạn cần biết khi học OOP với Python:

  • 1. Tài liệu
  • 2. Bài tập
  • 3. Tóm tắt

1 Python3 – Class
2 Lập trình hướng đối tượng trong Python | Phần 1 [lớp, đối tượng và các thành viên của lớp]
3 Lập trình hướng đối tượng trong Python | Phần 2 [che giấu dữ liệu và in đối tượng]
4 Lập trình hướng đối tượng trong Python | Phần 3 [Kế thừa, ví dụ về đối tượng, hàm issubclass[] và super[]]
5 Đa hình trong Python
6 Class variable và Static variable trong Python
7 Class method và static method trong Python
8 Thay đổi các biến thành viên trong Python
9 Hàm constructor trong Python
10 Hàm destructor trong Python
11 Hàm str[] và hàm repr[] trong Python
12 Metaprogramming bằng các Meta-classes trong Python
13 Các thuộc tính của Lớp và Các thuộc tính của Thể hiện trong Python
14 Reflection trong Python
15 Barrier Object trong Python
16 Timer objects trong Python
17 Garbage Collection trong Python

2. Bài tập

1 Bài tập hướng đối tượng trong python
2 Bài tập với json trong python
3 Bài tập với Cơ sở dữ liệu trong python
4 Bài tập với Thread-Multithread trong python
5 Bài tập GUI trong python
6 Bài tập GAME trong python

3. Tóm tắt

Lập rình OOP rất cần và hữu ích cho ace trong công việc sau này. Cafedev khuyên chân thành các bạn mới hay bạn nào đã học nhưng chưa nắm rõ về nó, bạn nên học, tìm hiểu và làm bài tập nhiều vô để hiểu nó kỹ, sâu hơn. Chúc các bạn thành công.

Nguồn và Tài liệu tiếng anh tham khảo:

  • w3school
  • python.org
  • geeksforgeeks

Tài liệu từ cafedev:

  • Full series tự học Python từ cơ bản tới nâng cao tại đây nha.
  • Ebook về python tại đây.
  • Các series tự học lập trình khác

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

  • Group Facebook
  • Fanpage
  • Youtube
  • Instagram
  • Twitter
  • Linkedin
  • Pinterest
  • Trang chủ

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!

Lập trình Python

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. Khaibáolớp, đối tượng

– Khai báo lớp:

class :
        #Constructor – Hàm khởi tạo
	def __init__[self,[]]
	[]
	[]

– 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 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.
Một số hàm làm việc với lớp

Lưu ý: name phải là kiểu xâu trong các hàm trên

4. 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[]

Chủ Đề