Tìm hiểu cách xác định một lớp trong Python và những gì nó có thể bao gồm.

Bạn đang xem : khử một lớp trong python

Lớp Python

Python là một ngôn ngữ hoàn toàn hướng đối tượng.
Bạn đã làm việc với các lớp và đối tượng ngay từ phần đầu của các bài hướng dẫn này.
Mọi phần tử trong chương trình Python là một đối tượng của một lớp. Một số, chuỗi, danh sách, từ điển, v.v., được sử dụng trong một chương trình là một đối tượng của một lớp dựng sẵn tương ứng.
Bạn có thể truy xuất tên lớp của các biến hoặc đối tượng bằng phương thức type () , như được hiển thị bên dưới.

Ví dụ: Các lớp tích hợp sẵn trong Python

  & gt; & gt; & gt; num = 20
& gt; & gt; & gt; gõ (num)
& lt; lớp 'int' & gt;
& gt; & gt; & gt; s = "Python"
& gt; & gt; & gt; (các) loại
& lt; lớp 'str' & gt;
 

Xác định một lớp

Một lớp trong Python có thể được định nghĩa bằng từ khóa class .

  class & lt; ClassName & gt ;:
    & lt; statement1 & gt;
    & lt; statement2 & gt;
    .
    .
    & lt; statementN & gt;
 

Theo cú pháp ở trên, một lớp được định nghĩa bằng từ khóa class theo sau là tên lớp và toán tử : sau tên lớp, điều này cho phép bạn tiếp tục dòng thụt lề tiếp theo để xác định các thành viên của lớp.
Những người sau là thành viên trong lớp.

Một lớp cũng có thể được định nghĩa mà không có bất kỳ thành viên nào. Ví dụ sau định nghĩa một lớp trống bằng cách sử dụng từ khóa pass .

Ví dụ: Xác định lớp Python

  class Sinh viên:
    đi qua
 

Khởi tạo lớp sử dụng ký hiệu chức năng. Để tạo một đối tượng của lớp, chỉ cần gọi một lớp như một hàm không tham số trả về một đối tượng mới của lớp, như hình dưới đây.

Ví dụ: Tạo đối tượng của một lớp

  std = Student ()
 

Ở trên, Student () trả về một đối tượng của lớp Student , được gán cho một biến std .
Lớp Student là một lớp trống vì nó không chứa bất kỳ thành viên nào.

Thuộc tính Lớp

Thuộc tính lớp là các biến được định nghĩa trực tiếp trong lớp được chia sẻ bởi tất cả các đối tượng của lớp.
Các thuộc tính của lớp có thể được truy cập bằng cách sử dụng tên lớp cũng như sử dụng các đối tượng.

Ví dụ: Xác định lớp Python

  class Sinh viên:
    schoolName = 'Trường XYZ'
 

Ở trên, schoolName là một thuộc tính lớp được định nghĩa bên trong một lớp. Giá trị của schoolName sẽ không đổi cho tất cả các đối tượng trừ khi được sửa đổi một cách rõ ràng.

Ví dụ: Xác định Lớp Python

  & gt; & gt; & gt; Student.schoolName
'Trường XYZ'
& gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.schoolName
'Trường XYZ'
 

Như bạn có thể thấy, thuộc tính lớp được truy cập bởi Student.schoolName cũng như std.schoolName .
Thay đổi giá trị của thuộc tính lớp bằng cách sử dụng tên lớp sẽ thay đổi nó trên tất cả các trường hợp. Tuy nhiên, việc thay đổi giá trị thuộc tính lớp bằng cách sử dụng cá thể sẽ không phản ánh với các phiên bản hoặc lớp khác.

Ví dụ: Xác định Lớp Python

  & gt; & gt; & gt; Student.schoolName = 'ABC School' # thay đổi giá trị thuộc tính bằng cách sử dụng tên lớp
& gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.schoolName
Giá trị 'ABC School' # đã thay đổi cho tất cả các trường hợp
& gt; & gt; & gt; std.schoolName = 'My School' # thay đổi thuộc tính của phiên bản
& gt; & gt; & gt; std.schoolName
'Trường của tôi'
& gt; & gt; & gt; Student.schoolName # thay đổi cấp độ phiên bản không phản ánh đối với thuộc tính lớp
'Trường ABC'
& gt; & gt; & gt; std2 = Sinh viên ()
& gt; & gt; & gt; std2.schoolName
'Trường ABC'
 

Ví dụ sau minh họa việc sử dụng thuộc tính lớp count .

Ví dụ: Student.py

  class Sinh viên:
    đếm = 0
    def __init __ (bản thân):
        Student.count + = 1
 

Trong ví dụ trên, số lượng là một thuộc tính trong lớp Sinh viên.
Bất cứ khi nào một đối tượng mới được tạo, giá trị của count sẽ được tăng thêm 1.
Bây giờ bạn có thể truy cập thuộc tính count sau khi tạo các đối tượng, như được hiển thị bên dưới.

Xem Thêm  Làm cách nào để căn giữa một đoạn văn bản trên một từ cụ thể trong HTML, CSS hoặc JavaScript? - cách căn giữa một đoạn văn trong html

Ví dụ:

  & gt; & gt; & gt; std1 = Sinh viên ()
& gt; & gt; & gt; Student.count
1
& gt; & gt; & gt; std2 = Sinh viên ()
& gt; & gt; & gt; Student.count
2
 

Hàm tạo

Trong Python, phương thức khởi tạo được gọi tự động bất cứ khi nào một đối tượng mới của một lớp được khởi tạo, giống như các hàm tạo trong C # hoặc Java.
Hàm tạo phải có tên đặc biệt __init __ () và một tham số đặc biệt được gọi là self .

Lưu ý:

Tham số đầu tiên của mỗi phương thức trong một lớp phải là self , tham chiếu đến đối tượng đang gọi.
Tuy nhiên, bạn có thể đặt bất kỳ tên nào cho tham số đầu tiên, không nhất thiết phải là self .

Ví dụ sau định nghĩa một phương thức khởi tạo.

Ví dụ: Constructor

  class Sinh viên:
    def __init __ (self): 

# phương thức khởi tạo

print (

'Hàm tạo được gọi ra'

)

Bây giờ, bất cứ khi nào bạn tạo một đối tượng của lớp Student , phương thức khởi tạo __init __ () sẽ được gọi, như được hiển thị bên dưới.

Ví dụ: Lệnh gọi hàm tạo khi tạo đối tượng

  & gt; & gt; & gt; s1 = Student ()
Hàm tạo được gọi
& gt; & gt; & gt; s2 = Sinh viên ()
Hàm tạo được gọi
 

Hàm tạo trong Python được sử dụng để xác định các thuộc tính của một cá thể và gán giá trị cho chúng.

Thuộc tính phiên bản

Thuộc tính instance là các thuộc tính hoặc thuộc tính được gắn vào một thể hiện của một lớp. Các thuộc tính cá thể được định nghĩa trong phương thức khởi tạo.

Ví dụ sau xác định các thuộc tính cá thể name age trong hàm tạo.

Ví dụ: Thuộc tính đối tượng

  class Sinh viên:
    schoolName = 'XYZ School' # thuộc tính lớp

    def __init __ (self): # constructor
        self.name = '' # thuộc tính phiên bản
        self.age = 0 # thuộc tính instance
 

Một thuộc tính phiên bản có thể được truy cập bằng cách sử dụng ký hiệu dấu chấm: [tên phiên bản]. [Tên thuộc tính] , như được hiển thị bên dưới.

Ví dụ:

  & gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.name
''
& gt; & gt; & gt; std.age
0
 

Bạn có thể đặt giá trị của các thuộc tính bằng cách sử dụng ký hiệu dấu chấm, như hình dưới đây.

Ví dụ:

  & gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.name = "Bill" # gán giá trị cho thuộc tính instance
& gt; & gt; & gt; std.age = 25 # gán giá trị cho thuộc tính instance
& gt; & gt; & gt; std.name # truy cập giá trị thuộc tính phiên bản
Hóa đơn
& gt; & gt; & gt; std.age # truy cập giá trị vào thuộc tính phiên bản
25
 

Bạn có thể chỉ định giá trị của các thuộc tính cá thể thông qua hàm tạo.
Hàm tạo sau bao gồm các tham số tên và tuổi, ngoại trừ tham số self .

Ví dụ: Đặt Giá trị Thuộc tính

  class Sinh viên:
    def __init __ (tự, tên, tuổi):
        self.name = tên
        self.age = tuổi
 

Bây giờ, bạn có thể chỉ định các giá trị trong khi tạo một thể hiện, như được hiển thị bên dưới.

Ví dụ: Truyền Giá trị Thuộc tính Phiên bản trong Khối mã lệnh

  & gt; & gt; & gt; std = Student ('Bill', 25 tuổi)
& gt; & gt; & gt; std.name
'Hóa đơn'
& gt; & gt; & gt; std.age
25
 

Lưu ý:

Bạn không phải chỉ định giá trị của tham số self . Nó sẽ được chỉ định nội bộ bằng Python.

Bạn cũng có thể đặt các giá trị mặc định cho các thuộc tính phiên bản. Đoạn mã sau đặt các giá trị mặc định của các tham số phương thức khởi tạo.
Vì vậy, nếu các giá trị không được cung cấp khi tạo một đối tượng, các giá trị sẽ được gán sau đó.

Xem Thêm  Xác định các lớp trong Python - lớp def trong python

Ví dụ: Đặt Giá trị Mặc định của Thuộc tính

  class Sinh viên:
    def __init __ (bản thân, tên = 

"Khách"

, tuổi = 25) self.name = tên self.age = tuổi

Bây giờ, bạn có thể tạo một đối tượng với các giá trị mặc định, như hình dưới đây.

Ví dụ: Giá trị mặc định của thuộc tính đối tượng

  & gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.name
'Khách mời'
& gt; & gt; & gt; std.age
25
 

Hãy truy cập thuộc tính lớp so với thuộc tính phiên bản trong Python để biết thêm thông tin.

Thuộc tính lớp

Trong Python, một thuộc tính trong lớp có thể được xác định bằng cách sử dụng hàm property () .

Phương thức property () trong Python cung cấp một giao diện cho các thuộc tính cá thể.
Nó đóng gói các thuộc tính cá thể và cung cấp một thuộc tính, giống như Java và C #.

Phương thức property () nhận các phương thức get, set và delete làm đối số và trả về một đối tượng của lớp property .

Ví dụ sau minh họa cách tạo một thuộc tính trong Python bằng cách sử dụng hàm property () .

Ví dụ: property ()

  class Sinh viên:
    def __init __ (bản thân):
        bản thân .__ name = ''
    def setname (tự, tên):
        print ('setname () được gọi là')
        bản thân .__ name = tên
    def getname (self):
        print ('getname () được gọi là')
        

trả về

tên tự .__ name = property (getname, setname)

Trong ví dụ trên, thuộc tính (getname, setname) trả về đối tượng thuộc tính và gán nó cho name .
Do đó, thuộc tính name ẩn thuộc tính cá thể riêng __name .
Thuộc tính name được truy cập trực tiếp, nhưng bên trong nó sẽ gọi phương thức getname () hoặc setname () , như được hiển thị bên dưới.

Ví dụ: property ()

  & gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.name = "Steve"
setname () được gọi là
& gt; & gt; & gt; std.name
getname () được gọi là
'Steve'
 

Bạn nên sử dụng property decorator thay vì phương thức property () .

Phương thức Lớp

Bạn có thể xác định bao nhiêu phương thức tùy thích trong một lớp bằng cách sử dụng từ khóa def .
Mỗi phương thức phải có tham số đầu tiên, thường được đặt tên là self , tham chiếu đến phiên bản đang gọi.

Ví dụ: Phương pháp lớp

  class Sinh viên:
    def displayInfo (self): # phương thức lớp
        print ('Thông tin Sinh viên')
 

Self chỉ là một tên quy ước cho đối số đầu tiên của một phương thức trong lớp.
Phương thức được định nghĩa là mymethod (self, a, b) nên được gọi là x.mymethod (a, b) cho đối tượng x of lớp.

Phương thức lớp ở trên có thể được gọi như một hàm bình thường, như được hiển thị bên dưới.

Ví dụ: Phương pháp lớp

  & gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.displayInfo ()
'Thông tin học sinh'
 

Tham số đầu tiên của phương thức không cần được đặt tên là self . Bạn có thể đặt bất kỳ tên nào tham chiếu đến phiên bản của phương thức gọi.
Phương thức displayInfo () sau đặt tên cho tham số đầu tiên là obj thay vì self và hoạt động hoàn toàn tốt.

Ví dụ: Phương pháp lớp

  class Sinh viên:
    def displayInfo (obj): # class method
        print ('Thông tin Sinh viên')
 

Việc xác định một phương thức trong lớp mà không có tham số self sẽ tạo ra một ngoại lệ khi gọi một phương thức.

Ví dụ: Phương pháp lớp

  class Sinh viên:
    def displayInfo (): # phương thức không có tham số self
        print ('Thông tin Sinh viên')
 
  & gt; & gt; & gt; std = Sinh viên ()
& gt; & gt; & gt; std.displayInfo () 

Traceback (cuộc gọi gần đây nhất cuối cùng): std.displayInfo () TypeError: displayInfo () nhận 0 đối số vị trí nhưng 1 đối số được đưa ra

Phương thức có thể truy cập các thuộc tính cá thể bằng cách sử dụng tham số self .

Ví dụ: Phương pháp lớp

 class Sinh viên:
    def __init __ (tự, tên, tuổi):
        self.name = tên
        self.age = tuổi
    def displayInfo (self): # phương thức lớp
        print ('Tên sinh viên:', self.name, ', Tuổi:', self.age)
 

Bây giờ bạn có thể gọi phương thức, như được hiển thị bên dưới.

Xem Thêm  MySQL DELETE Query: Cách xóa một hàng khỏi bảng - mysql xóa hàng ở đâu

Ví dụ: Gọi một phương thức

  & gt; & gt; & gt; std = Student ('Steve', 25 tuổi)
& gt; & gt; & gt; std.displayInfo ()
Tên sinh viên: Steve, Tuổi: 25
 

Xóa thuộc tính, đối tượng, lớp

Bạn có thể xóa các thuộc tính, đối tượng hoặc chính lớp đó bằng cách sử dụng từ khóa del , như được hiển thị bên dưới.

Ví dụ: Xóa thuộc tính, đối tượng, lớp

  & gt; & gt; & gt; std = Student ('Steve', 25 tuổi)
& gt; & gt; & gt; del std.name # xóa thuộc tính
& gt; & gt; & gt; std.name
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "& lt; pyshell # 42 & gt;", dòng 1, trong & lt; mô-đun & gt;
std.name
AttributeError: Đối tượng 'Student' không có thuộc tính 'name'
& gt; & gt; & gt; del std # xóa đối tượng
& gt; & gt; & gt; std.name
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "& lt; pyshell # 42 & gt;", dòng 1, trong & lt; mô-đun & gt;
std.name
NameError: tên 'std' không được xác định
& gt; & gt; & gt; xóa học sinh # xóa lớp học
& gt; & gt; & gt; std = Student ('Steve', 25 tuổi)
Traceback (cuộc gọi gần đây nhất cuối cùng):
Tệp "& lt; pyshell # 42 & gt;", dòng 1, trong & lt; mô-đun & gt;
std = Sinh viên ()
NameError: tên 'Sinh viên' không được xác định
 


Xem thêm những thông tin liên quan đến chủ đề khử một lớp trong python

Python A Z Bài 11 Class Lớp đối tượng trong Python

  • Tác giả: Shop Công nghệ số Thiều Gia
  • Ngày đăng: 2017-11-02
  • Đánh giá: 4 ⭐ ( 5031 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Lớp và Đối Tượng Trong Python

  • Tác giả: www.codehub.com.vn
  • Đánh giá: 4 ⭐ ( 3530 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hầu hết mọi thứ trong Python là một đối tượng, với các thuộc tính và phương thức riêng.

[Tự học Python]Lập Trình Hướng Đối Tượng

  • Tác giả: dotnet.edu.vn
  • Đánh giá: 5 ⭐ ( 5835 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: 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 lên. Giúp tăng năng suất, đơn giản hoá độ 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

Class trong Python (lập trình hướng đối tượng OOP)

  • Tác giả: freetuts.net
  • Đánh giá: 3 ⭐ ( 3218 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn các bạn cách tạo class trong Python, và các kiến thức liên quan như hàm khởi tạo – tính kế thừa – các mực độ truy cập public / private và public.

Module trong Python

  • Tác giả: vietjack.com
  • Đánh giá: 4 ⭐ ( 8209 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Module trong Python – Học Python cơ bản và nâng cao theo các bước đơn giản từ Tổng quan, Cài đặt, Biến, Toán tử, Cú pháp cơ bản, Hướng đối tượng, Vòng lặp, Chuỗi, Number, List, Dictionary, Tuple, Module, Xử lý ngoại lệ, Tool, Exception Handling, Socket, GUI, Multithread, Lập trình mạng, Xử lý XML.

Lớp và đối tượng trong Python

  • Tác giả: openplanning.net
  • Đánh giá: 3 ⭐ ( 7085 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Chi tiết bài học 13.Python OOP

  • Tác giả: vimentor.com
  • Đánh giá: 5 ⭐ ( 1964 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Vimentor chi tiết bài học Python OOP: Lớp, Đối tượng, thừa kế và hàm khởi tạo với ví dụ

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php