Python đặt thuộc tính cá thể

Ở bài viết này, chúng ta sẽ xem xét các khái niệm cơ bản của LẬP TRÌNH khám phá ĐIỀU TƯỢNG TRONG PYTHON chính là Lớp [lớp] và đối tượng [đối tượng]. Trong đối tượng, ta sẽ biết cách tạo, sử dụng các thuộc tính [attribute] và các phương thức [method] của đối tượng đó

Nội dung

Để theo dõi bài viết này một cách tốt nhất, bạn nên có những kiến ​​thức cơ bản về Python trong khóa LẬP TRÌNH PYTHON BẢN CƠ

Nếu bạn chưa có thời gian để học hết khóa trên thì hãy đảm bảo đã tìm hiểu những kiến ​​thức sau đây

Và đương nhiên để học tiếp bài sau, bạn phải ôm kiến ​​thức ở các bài trước

Bạn và Kteam sẽ cùng tìm hiểu những nội dung sau đây

  • Lớp là gì ?
  • Thuộc tính là gì ?
  • Hàm khởi tạo [khởi tạo phương thức]
  • Phương thức là gì ?

Lớp là gì ?

Nếu hỏi một người bạn đã biết về lập trình hướng đối tượng [bất kể ngôn ngữ nào] rằng bạn nghĩ đến từ bất kỳ lần đầu tiên nào khi nói về OOP có lẽ hầu hết câu trả lời nhận được sẽ là. class [Hay tieng viet la layer]

Vì vậy, lớp học là gì? . Ở đó ta khai báo các thuộc tính [attribute] và phương thức [method] Mô tả miêu tả để từ đó ta tạo ra được các đối tượng [object]

Lưu ý. double when object people ta also can write as instance, tuy it's not sát nghĩa cho lắm. Bạn không cần bận tâm lắm đâu vì vào ví dụ ta sẽ hiểu thêm, còn nếu bạn muốn hiểu kỹ thì hãy chiêm ngưỡng câu tiếng Anh sau. “Đối tượng là thể hiện của các loại. 42 là một thể hiện của kiểu int tương đương với 42 là một đối tượng int”

Cú pháp để tạo một lớp

lớp

# mã số

Giả sử ta tạo một lớp để miêu tả siêu nhân

class SieuNhan:
    pass # lệnh giữ chỗ


Lưu ý. theo tiêu chuẩn PEP8 về đặt tên của lớp [lớp] thì sẽ được viết theo kiểu CapWords. Bạn có thể theo hoặc không theo, vì đây chỉ là mã định dạng chuẩn Python thôi

Rồi nào, ta đã có khuôn mẫu của siêu nhân rồi, cái ta cần là một đối tượng thuộc lớp siêu nhân

class SieuNhan:
    pass

sieu_nhan_A = SieuNhan[] # sieu_nhan_A chính là một object thuộc lớp SieuNhan
print[sieu_nhan_A]

Kết quả

__chủ yếu__. SieuNhan nghĩa là đây là đối tượng thuộc lớp SieuNhan ở hàm main [có nghĩa là ở file ta đang chạy thực thi] kèm theo cái nơi ở của nó – thứ mà ta không cần bận tâm lắm lúc này

Thuộc tính là gì?

Siêu nhân [SN] của ta chưa có thuộc tính gì, ta cần phải giúp SN có thêm một vài thuộc tính. Khi khai báo thuộc tính cho một đối tượng, bạn phải xác định các thuộc tính để giúp ta có thể phân biệt nó với những đối tượng khác cùng lớp, ví dụ như giữa 2 thằng con trai đừng lấy giới tính ra để phân biệt.

Vì sao nghĩ tới siêu nhân, ta nghĩ tới cái gì?

Bạn đọc xem đoạn code ví dụ dưới đây để biết khai báo thuộc tính ĐƠN GIẢN và cách lấy thuộc tính

class SieuNhan:
    pass

sieu_nhan_A = SieuNhan[]

sieu_nhan_A.ten = "Sieu nhan do"
sieu_nhan_A.vu_khi = "Kiem"
sieu_nhan_A.mau_sac = "Do"

print["Ten cua sieu nhan la:",sieu_nhan_A.ten]
print["Sieu nhan mau:", sieu_nhan_A.mau_sac]
print["Su dung vu khi:", sieu_nhan_A.vu_khi]

Kết quả

Ten cua sieu nhan la: Sieu nhan do
Sieu nhan mau: Do
Su dung vu khi: Kiem

Lưu ý là thuộc tính nào mới lấy ra được nhé, chứ cái lớp của chúng ta không tự động sinh ra thuộc tính đâu.

print["Chi so suc manh: ", sieu_nhan_A.suc_manh]

Kết quả

AttributeError: 'SieuNhan' object has no attribute 'suc_manh'

Hàm khởi tạo [khởi tạo phương thức]

Mở rộng vấn đề, ta cần tuyên bố khoảng 1000 siêu nhân. Việc giải thích một siêu nhân có 3 thuộc tính như trên vị trí chi ta sẽ mất 3000 dòng thông báo. Tuy nhiên, bạn vẫn có thể khai báo chỉ bằng 1000 dòng bằng cách khai báo một lớp lót của Python tuy nhiên đôi khi các thuộc tính của đối tượng không dễ dàng để khai báo một cách đơn giản như vậy

Ta cần phải có một khuôn mẫu mà chỉ cần đưa các giá trị khuôn mẫu vào còn việc gán giá trị thì để làm khuôn mẫu. Dĩ nhiên khuôn mẫu có thể, nếu ta xây dựng cho nó một hàm tạo hàm

class SieuNhan:
    def __init__[self]:
        pass

Lưu ý. 2 dấu gạch “_” bắt đầu và kết thúc

Giải thích một vài điều, đây là tên hàm được quy ước, nếu bạn đặt tên hàm như vậy, bạn mặc định nói với chương trình rằng đây là hàm tạo [nó là gì thì bạn từ từ sẽ biết]. Trong Python, một số hàm trong lớp sẽ được gọi tự động khi ta khai báo một đối tượng và hàm tạo là một trong số các hàm đó

Từ khóa self hay cụ thể ở đây là tham số self là một quy ước [lưu ý là hoàn toàn sẽ không bị bắt lỗi cú pháp nếu sử dụng từ khóa khác], bạn có thể sử dụng một từ khóa khác. Tuy nhiên, từ trước đến giờ mình chưa thấy ai sử dụng một từ khóa khác ngoài bản thân. Nếu bạn không muốn gây hiểu lầm cho người khác thậm chí chí khiến người khác nghĩ là bạn viết mã sai thì bạn nên sử dụng từ khóa self

Do đó, từ khóa self là gì? . Ý nghĩa của nó là đối tượng chính. Hơi khó hiểu nhỉ?

________số 8

Đầu tiên, từ khóa self sẽ nhận giá trị chính là đối tượng đã gọi hàm đó. Ủ? . Và đương nhiên, self được gán bằng đối tượng sieu_nhan_A, các đối số “do”, “Kiem”, “Do” còn lại sẽ được truyền vào theo tứ tự. Bạn hãy thử xem lại cách thủ công khai báo thuộc tính khi ban đầu, bạn sẽ thấy nó tương tự

Bạn nên nhớ rằng mỗi khi có một đối tượng nào gọi một hàm thì bao giờ cũng tối thiểu sẽ có một đối số được gửi vào hàm đó chính là đối tượng chính đó, nếu hàm đó không có tham số nhận thì sẽ sinh ra lỗi, còn nếu hàm đó không có tham số nhận thì sẽ sinh ra lỗi, còn nếu hàm đó không có tham số nhận thì sẽ sinh ra lỗi. . Còn nếu gửi vào vẫn không có lỗi thì…Bug này nghiêm trọng khó sửa đây

When ta try in các thuộc tính

print["Ten cua sieu nhan la:",sieu_nhan_A.ten]
print["Sieu nhan mau:", sieu_nhan_A.mau_sac]
print["Su dung vu khi:", sieu_nhan_A.vu_khi]

Kết quả

Ten cua sieu nhan la: Sieu nhan do
Sieu nhan mau: Do
Su dung vu khi: Kiem

Phương thức là gì?

Time ta try help SN of them ta có một câu giới thiệu. Ta tạo một hàm để làm điều đó

class SieuNhan:
    pass

sieu_nhan_A = SieuNhan[] # sieu_nhan_A chính là một object thuộc lớp SieuNhan
print[sieu_nhan_A]
1

Kết quả

class SieuNhan:
    pass

sieu_nhan_A = SieuNhan[] # sieu_nhan_A chính là một object thuộc lớp SieuNhan
print[sieu_nhan_A]
2

Thông thường, khi nói tới hàm của lớp, người ta hay gọi là phương thức [phương thức]. Khi nói tới hàm thì nó là chương trình bé bé đợi bạn thực thi, còn khi gọi nó là phương thức thì nó là hàm nhưng liên quan tới lớp thôi. Người ta thường hay « hàm gọi », « phương thức gọi ». Nhớ đừng nhầm lẫn nhé, người ta cười cho đấy

Kết luận

Bài này đã giúp bạn nắm bắt được những khái niệm cơ bản của lớp và đối tượng trong Python

Ở bài tiếp theo, ta sẽ tìm hiểu về KHAI BÁO THUỘC TÍNH TRONG LỚP

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc đóng góp ý kiến ​​của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không sợ khó”

Thảo luận

Nếu bạn gặp bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam. com to get the support from the community

Chủ Đề