Một lớp là bản thiết kế hoặc nguyên mẫu do người dùng xác định từ đó các đối tượng được tạo. Các lớp cung cấp một phương tiện của dữ liệu bó và chức năng cùng nhau. Tạo một lớp mới tạo ra một loại đối tượng mới, cho phép các phiên bản mới của loại đó được thực hiện. Mỗi phiên bản lớp có thể có các thuộc tính được gắn vào nó để duy trì trạng thái của nó. Các phiên bản lớp cũng có thể có các phương thức (được xác định bởi lớp của họ) để sửa đổi trạng thái của họ.
Để hiểu sự cần thiết phải tạo ra một lớp học ở Python, hãy xem xét một ví dụ, hãy nói rằng bạn muốn theo dõi số lượng con chó có thể có các thuộc tính khác nhau như giống và tuổi tác. Nếu một danh sách được sử dụng, yếu tố đầu tiên có thể là giống chó chó trong khi yếu tố thứ hai có thể đại diện cho tuổi của nó. Hãy giả sử có 100 con chó khác nhau, sau đó làm thế nào bạn biết yếu tố nào được cho là nào? Điều gì sẽ xảy ra nếu bạn muốn thêm các thuộc tính khác vào những con chó này? Điều này thiếu tổ chức và nó có nhu cầu chính xác cho các lớp học. & NBSP;
Cú pháp: Định nghĩa lớp & NBSP;Class Definition
class ClassName: # StatementCú pháp: Định nghĩa đối tượngObject Definition
obj = ClassName() print(obj.atrr)Lớp tạo ra cấu trúc dữ liệu do người dùng xác định, giữ các thành viên dữ liệu và chức năng thành viên của riêng mình, có thể được truy cập và sử dụng bằng cách tạo một thể hiện của lớp đó. Một lớp giống như một bản thiết kế cho một đối tượng.
Một số điểm trên lớp Python: & nbsp; & nbsp;
- Các lớp được tạo bởi lớp từ khóa.
- Các thuộc tính là các biến thuộc về một lớp.
- Các thuộc tính luôn được công khai và có thể được truy cập bằng toán tử DOT (.). Ví dụ: MyClass.MyAttribution
Xác định một lớp & nbsp;
# Python3 program to # demonstrate defining # a class class Dog: passTrong ví dụ trên, từ khóa lớp chỉ ra rằng bạn đang tạo một lớp theo sau là tên của lớp (con chó trong trường hợp này).
Đối tượng lớp
Một đối tượng là một thể hiện của một lớp. Một lớp giống như một bản thiết kế trong khi một thể hiện là bản sao của lớp có giá trị thực. Nó không phải là một ý tưởng nữa, nó là một con chó thực sự, giống như một con chó của giống chó con, người bảy tuổi. Bạn có thể có nhiều con chó để tạo ra nhiều trường hợp khác nhau, nhưng không có lớp như một hướng dẫn, bạn sẽ bị mất, không biết thông tin nào được yêu cầu. Đối tượng bao gồm: & nbsp;
An object consists of :
- Trạng thái: Nó được biểu diễn bằng các thuộc tính của một đối tượng. Nó cũng phản ánh các thuộc tính của một đối tượng. It is represented by the attributes of an object. It also reflects the properties of an object.
- Hành vi: Nó được biểu diễn bằng các phương pháp của một đối tượng. Nó cũng phản ánh phản ứng của một đối tượng với các đối tượng khác. It is represented by the methods of an object. It also reflects the response of an object to other objects.
- Nhận dạng: Nó đưa ra một tên duy nhất cho một đối tượng và cho phép một đối tượng tương tác với các đối tượng khác. It gives a unique name to an object and enables one object to interact with other objects.
Khai báo các đối tượng (còn được gọi là khởi tạo một lớp)
Khi một đối tượng của một lớp được tạo, lớp được cho là khởi tạo. Tất cả các trường hợp chia sẻ các thuộc tính và hành vi của lớp. Nhưng các giá trị của các thuộc tính đó, tức là trạng thái là duy nhất cho mỗi đối tượng. Một lớp duy nhất có thể có bất kỳ số lượng phiên bản.
Example:
Tuyên bố một đối tượng
Python3
class Dog:
attr1 ____10 obj = ClassName() print(obj.atrr)1
obj = ClassName() print(obj.atrr)3obj = ClassName() print(obj.atrr)0 obj = ClassName() print(obj.atrr)5
obj = ClassName() print(obj.atrr)7 obj = ClassName() print(obj.atrr)8obj = ClassName() print(obj.atrr)9# Python3 program to # demonstrate defining # a class class Dog: pass0
# Python3 program to # demonstrate defining # a class class Dog: pass1# Python3 program to # demonstrate defining # a class class Dog: pass2# Python3 program to # demonstrate defining # a class class Dog: pass3# Python3 program to # demonstrate defining # a class class Dog: pass4# Python3 program to # demonstrate defining # a class class Dog: pass5obj = ClassName() print(obj.atrr)9# Python3 program to # demonstrate defining # a class class Dog: pass7
# Python3 program to # demonstrate defining # a class class Dog: pass1# Python3 program to # demonstrate defining # a class class Dog: pass2# Python3 program to # demonstrate defining # a class class Dog: pass3# Python3 program to # demonstrate defining # a class class Dog: pass4# Python3 program to # demonstrate defining # a class class Dog: pass5obj = ClassName() print(obj.atrr)9mammal I'm a mammal I'm a dog 4
mammal I'm a mammal I'm a dog 5obj = ClassName() print(obj.atrr)0 mammal I'm a mammal I'm a dog 7
# Python3 program to # demonstrate defining # a class class Dog: pass2mammal I'm a mammal I'm a dog 9
Hello, my name is Nikhil0
Đầu ra
mammal I'm a mammal I'm a dogTrong ví dụ trên, một đối tượng được tạo ra về cơ bản là một con chó tên Rodger. Lớp này chỉ có hai thuộc tính lớp cho chúng ta biết rằng Rodger là một con chó và một động vật có vú.
Bản thân
- Các phương thức lớp phải có thêm một tham số đầu tiên trong định nghĩa phương thức. Chúng tôi không đưa ra một giá trị cho tham số này khi chúng tôi gọi phương thức, Python cung cấp nó.
- Nếu chúng ta có một phương pháp không có đối số, chúng ta vẫn có một đối số.
- Điều này tương tự như con trỏ này trong C ++ và tham chiếu này trong Java.
Khi chúng ta gọi một phương thức của đối tượng này là myObject.method (arg1, arg2), điều này sẽ tự động chuyển đổi bởi python thành myclass.method (myObject, arg1, arg2) - đây là tất cả những gì bản thân đặc biệt là về.
__init__ Phương pháp
Phương pháp __init__ tương tự như các hàm tạo trong C ++ và Java. Các hàm tạo được sử dụng để khởi tạo trạng thái đối tượng. Giống như các phương thức, một hàm tạo cũng chứa một tập hợp các câu lệnh (nghĩa là hướng dẫn) được thực thi tại thời điểm tạo đối tượng. Nó chạy ngay khi một đối tượng của một lớp được khởi tạo. Phương pháp này rất hữu ích để thực hiện bất kỳ khởi tạo nào bạn muốn làm với đối tượng của mình.
Python3
class Hello, my name is Nikhil2
obj = ClassName() print(obj.atrr)7 Hello, my name is Nikhil5obj = ClassName() print(obj.atrr)9Hello, my name is Nikhil7
# Python3 program to # demonstrate defining # a class class Dog: pass1obj = ClassName() print(obj.atrr)9Rodger details: Rodger is a dog Breed: Pug Color: brown Buzo details: Buzo is a dog Breed: Bulldog Color: black Accessing class variable using class name dog 0____10 Rodger details: Rodger is a dog Breed: Pug Color: brown Buzo details: Buzo is a dog Breed: Bulldog Color: black Accessing class variable using class name dog 2
obj = ClassName() print(obj.atrr)7 Rodger details: Rodger is a dog Breed: Pug Color: brown Buzo details: Buzo is a dog Breed: Bulldog Color: black Accessing class variable using class name dog 5obj = ClassName() print(obj.atrr)9# Python3 program to # demonstrate defining # a class class Dog: pass0
# Python3 program to # demonstrate defining # a class class Dog: pass1# Python3 program to # demonstrate defining # a class class Dog: pass2# Python3 program to # demonstrate defining # a class class Dog: pass3class1# Python3 program to # demonstrate defining # a class class Dog: pass5obj = ClassName() print(obj.atrr)9class4
class5obj = ClassName() print(obj.atrr)0 class7class8class9
Dog:0
Output:
Hello, my name is NikhilBiến lớp và trường hợp
Các biến thể hiện là dành cho dữ liệu, duy nhất cho từng trường hợp và biến lớp dành cho các thuộc tính và phương thức được chia sẻ bởi tất cả các trường hợp của lớp. Các biến thể hiện là các biến có giá trị được gán bên trong hàm tạo hoặc phương thức với bản thân trong khi các biến lớp là các biến có giá trị được gán trong lớp.
Xác định các biến thể hiện bằng cách sử dụng hàm tạo. & Nbsp;
Python3
class Dog:
Dog:4____10 Dog:6
obj = ClassName() print(obj.atrr)7 Hello, my name is Nikhil5obj = ClassName() print(obj.atrr)9 1
# Python3 program to # demonstrate defining # a class class Dog: pass1obj = ClassName() print(obj.atrr)9 4____10 6
# Python3 program to # demonstrate defining # a class class Dog: pass1obj = ClassName() print(obj.atrr)9 9____10 attr1 1
mammal I'm a mammal I'm a dog 5obj = ClassName() print(obj.atrr)0 attr1 4attr1 5# Python3 program to # demonstrate defining # a class class Dog: pass5attr1 7class9
attr1 9____10 attr1 4obj = ClassName() print(obj.atrr)0225________obj = ClassName() print(obj.atrr)044
# Python3 program to # demonstrate defining # a class class Dog: pass2# Python3 program to # demonstrate defining # a class class Dog: pass3obj = ClassName() print(obj.atrr)08class9
# Python3 program to # demonstrate defining # a class class Dog: pass2# Python3 program to # demonstrate defining # a class class Dog: pass3obj = ClassName() print(obj.atrr)12obj = ClassName() print(obj.atrr)13
# Python3 program to # demonstrate defining # a class class Dog: pass2# Python3 program to # demonstrate defining # a class class Dog: pass3obj = ClassName() print(obj.atrr)16obj = ClassName() print(obj.atrr)17
# Python3 program to # demonstrate defining # a class class Dog: pass2# Python3 program to # demonstrate defining # a class class Dog: pass3obj = ClassName() print(obj.atrr)20obj = ClassName() print(obj.atrr)21
# Python3 program to # demonstrate defining # a class class Dog: pass2# Python3 program to # demonstrate defining # a class class Dog: pass3obj = ClassName() print(obj.atrr)24class9
# Python3 program to # demonstrate defining # a class class Dog: pass2# Python3 program to # demonstrate defining # a class class Dog: pass3obj = ClassName() print(obj.atrr)28obj = ClassName() print(obj.atrr)29
# Python3 program to # demonstrate defining # a class class Dog: pass2# Python3 program to # demonstrate defining # a class class Dog: pass3obj = ClassName() print(obj.atrr)16obj = ClassName() print(obj.atrr)33
# Python3 program to # demonstrate defining # a class class Dog: pass2# Python3 program to # demonstrate defining # a class class Dog: pass3obj = ClassName() print(obj.atrr)20obj = ClassName() print(obj.atrr)37
# Python3 program to # demonstrate defining # a class class Dog: pass2# Python3 program to # demonstrate defining # a class class Dog: pass3obj = ClassName() print(obj.atrr)40class9
# Python3 program to # demonstrate defining # a class class Dog: pass2obj = ClassName() print(obj.atrr)43
Đầu ra
Rodger details: Rodger is a dog Breed: Pug Color: brown Buzo details: Buzo is a dog Breed: Bulldog Color: black Accessing class variable using class name dogXác định các biến thể hiện bằng phương pháp bình thường.
Python3
class Dog:
Dog:4____10 Dog:6
obj = ClassName() print(obj.atrr)7 Hello, my name is Nikhil5obj = ClassName() print(obj.atrr)9 1
# Python3 program to # demonstrate defining # a class class Dog: pass1obj = ClassName() print(obj.atrr)9 4____10 6
# Python3 program to # demonstrate defining # a class class Dog: pass1obj = ClassName() print(obj.atrr)9 9____10 attr1 1
# Python3 program to # demonstrate defining # a class class Dog: pass1obj = ClassName() print(obj.atrr)9 9____10 attr1 1
mammal I'm a mammal I'm a dog 5obj = ClassName() print(obj.atrr)0 attr1 4attr1 5# Python3 program to # demonstrate defining # a class class Dog: pass5attr1 7class9
attr1 9____10 attr1 4obj = ClassName() print(obj.atrr)0225________obj = ClassName() print(obj.atrr)044
# Python3 program to # demonstrate defining # a class class Dog: pass2# Python3 program to # demonstrate defining # a class class Dog: pass3obj = ClassName() print(obj.atrr)20obj = ClassName() print(obj.atrr)37
obj = ClassName() print(obj.atrr)84attr1 7class9
# Python3 program to # demonstrate defining # a class class Dog: pass2obj = ClassName() print(obj.atrr)88