Các lớp và đối tượng PythonClasses and Objects
Các lớp/đối tượng Python
Python là một ngôn ngữ lập trình định hướng đối tượng.
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 pháp của nó.
Một lớp giống như một hàm tạo đối tượng hoặc "bản thiết kế" để tạo các đối tượng.
Tạo một lớp học
Để tạo một lớp, hãy sử dụng từ khóa class
:
Thí dụ
Tạo một lớp có tên MyClass, với một thuộc tính có tên X:
lớp MyClass: & nbsp; x = 5
x = 5
Hãy tự mình thử »
Tạo đối tượng
Bây giờ chúng ta có thể sử dụng lớp có tên MyClass để tạo đối tượng:
Thí dụ
Tạo một lớp có tên MyClass, với một thuộc tính có tên X:
lớp MyClass: & nbsp; x = 5
print[p1.x]
Hãy tự mình thử »
Tạo đối tượng
Bây giờ chúng ta có thể sử dụng lớp có tên MyClass để tạo đối tượng:
Tạo một đối tượng có tên P1 và in giá trị của X:
p1 = myClass [] in [p1.x]
Hàm __init __ []
Thí dụ
Tạo một lớp có tên MyClass, với một thuộc tính có tên X:
lớp MyClass: & nbsp; x = 5
def __init__[self, name, age]:
self.name = name
self.age = age
Hãy tự mình thử »
Tạo đối tượng
print[p1.age]
Hãy tự mình thử »
Tạo đối tượng
The __init__[]
function is called automatically every time the class is being used to create a new object.
Bây giờ chúng ta có thể sử dụng lớp có tên MyClass để tạo đối tượng:
Tạo một đối tượng có tên P1 và in giá trị của X:
p1 = myClass [] in [p1.x]
Thí dụ
Tạo một lớp có tên MyClass, với một thuộc tính có tên X:
lớp MyClass: & nbsp; x = 5
def
__init__[self, name, age]:
self.name = name
self.age = age
Hãy tự mình thử »
Tạo đối tượng
Hãy tự mình thử »
Thí dụ
Tạo một lớp có tên MyClass, với một thuộc tính có tên X:
lớp MyClass: & nbsp; x = 5
def __init__[self, name, age]:
self.name = name
self.age = age
Hãy tự mình thử »
return f"{self.name}[{self.age}]"
Tạo đối tượng
Tạo đối tượng
Hãy tự mình thử »
Tạo đối tượng
Bây giờ chúng ta có thể sử dụng lớp có tên MyClass để tạo đối tượng:
Tạo một đối tượng có tên P1 và in giá trị của X:
Thí dụ
Tạo một lớp có tên MyClass, với một thuộc tính có tên X:
lớp MyClass: & nbsp; x = 5
def __init__[self, name, age]:
self.name = name
self.age = age
Hãy tự mình thử »
print["Hello my name is " + self.name]
Tạo đối tượng
p1.myfunc[]
Hãy tự mình thử »
Tạo đối tượng
The self
parameter is a reference to the current instance of the class, and is used to access variables that belong to the class.
Bây giờ chúng ta có thể sử dụng lớp có tên MyClass để tạo đối tượng:
Tạo một đối tượng có tên P1 và in giá trị của X:
p1 = myClass [] in [p1.x]
Thí dụ
Tạo một lớp có tên MyClass, với một thuộc tính có tên X:
lớp MyClass: & nbsp; x = 5
def __init__[mysillyobject, name, age]:
mysillyobject.name = name
mysillyobject.age = age
Hãy tự mình thử »
print["Hello my name is " + abc.name]
Tạo đối tượng
p1.myfunc[]
Bây giờ chúng ta có thể sử dụng lớp có tên MyClass để tạo đối tượng:
Tạo một đối tượng có tên P1 và in giá trị của X:
p1 = myClass [] in [p1.x]
Hàm __init __ []
Các ví dụ trên là các lớp và đối tượng ở dạng đơn giản nhất của chúng và không thực sự hữu ích trong các ứng dụng thực tế.
Để hiểu ý nghĩa của các lớp, chúng ta phải hiểu hàm __init __ [] tích hợp.
Tất cả các lớp có một hàm gọi là __init __ [], luôn được thực thi khi lớp được bắt đầu.
Sử dụng hàm __init __ [] để gán các giá trị cho các thuộc tính đối tượng hoặc các hoạt động khác cần thiết để thực hiện khi đối tượng được tạo:
Tạo một lớp có tên là người, sử dụng hàm __init __ [] để gán các giá trị cho tên và tuổi:
người lớp: & nbsp; def __init __ [tự, tên, tuổi]: & nbsp; & nbsp; & nbsp; self.name = name & nbsp; & nbsp; & nbsp; tự.age = tuổi
Lớp đối tượng là gì?
Lớp đối tượng là nhóm các đối tượng có thể được mô tả theo các thuộc tính mà các thành viên của nó có điểm chung.
Một đối tượng trong Python là gì?Class Definition
class ClassName: # Statement
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. Python là ngôn ngữ lập trình hướng đối tượng nhấn mạnh trên các đối tượng, tức là nó chủ yếu nhấn mạnh các chức năng.Object Definition
obj = ClassName[] print[obj.atrr]
Đối tượng so với lớp trong Python là gì?
Các đối tượng là một đóng gói của các biến và chức năng thành một thực thể duy nhất. Đối tượng nhận được các biến và chức năng của chúng từ các lớp. Các lớp về cơ bản là một mẫu để tạo các đối tượng của bạn.
- Lớp đối tượng trong OOP là gì?
- Trong lập trình hướng đối tượng, một lớp là bản thiết kế để tạo các đối tượng [cấu trúc dữ liệu cụ thể], cung cấp các giá trị ban đầu cho các biến trạng thái [biến thành viên hoặc thuộc tính] và triển khai hành vi [hàm hoặc phương thức thành viên]. Các đối tượng do người dùng xác định được tạo bằng từ khóa lớp.
- 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;
# Python3 program to # demonstrate defining # a class class Dog: pass
Cú pháp: Định nghĩa lớp & NBSP;
Cú pháp: Định nghĩa đối tượng
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.
An object consists of :
- Một số điểm trên lớp Python: & nbsp; & nbsp; It is represented by the attributes of an object. It also reflects the properties of an object.
- Các lớp được tạo bởi lớp từ khóa. It is represented by the methods of an object. It also reflects the response of an object to other objects.
- Các thuộc tính là các biến thuộc về một lớp. 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
obj = ClassName[] print[obj.atrr]7
obj = ClassName[] print[obj.atrr]8
obj = 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
obj = ClassName[] print[obj.atrr]8
# Python3 program to # demonstrate defining # a class class Dog: pass3
# Python3 program to # demonstrate defining # a class class Dog: pass0
# Python3 program to # demonstrate defining # a class class Dog: pass5
obj = ClassName[] print[obj.atrr]8
# Python3 program to # demonstrate defining # a class class Dog: pass7
# Python3 program to # demonstrate defining # a class class Dog: pass8
self
mammal I'm a mammal I'm a dog0
mammal I'm a mammal I'm a dog1
mammal I'm a mammal I'm a dog2
mammal I'm a mammal I'm a dog3
mammal I'm a mammal I'm a dog4
mammal I'm a mammal I'm a dog5
self
mammal I'm a mammal I'm a dog7
mammal I'm a mammal I'm a dog1
mammal I'm a mammal I'm a dog2
mammal I'm a mammal I'm a dog3
mammal I'm a mammal I'm a dog4
mammal I'm a mammal I'm a dog5
self
Hello, my name is Nikhil4
Hello, my name is Nikhil5
# Python3 program to # demonstrate defining # a class class Dog: pass0
Hello, my name is Nikhil7
mammal I'm a mammal I'm a dog2
Hello, my name is Nikhil9
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 dog0
Đầu ra
mammal I'm a mammal I'm a dog
Trong 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
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 dog2
obj = ClassName[] print[obj.atrr]8
# Python3 program to # demonstrate defining # a class class Dog: pass7
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 dog5
self
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 dog7
mammal I'm a mammal I'm a dog1
self
class
0# Python3 program to # demonstrate defining # a class class Dog: pass0
class
2obj = ClassName[] print[obj.atrr]8
# Python3 program to # demonstrate defining # a class class Dog: pass7
class
5self
mammal I'm a mammal I'm a dog0
mammal I'm a mammal I'm a dog1
mammal I'm a mammal I'm a dog2
mammal I'm a mammal I'm a dog3
__init__[]
1mammal I'm a mammal I'm a dog5
self
__init__[]
4‘
self
0
Output:
Hello, my name is Nikhil
Biế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
obj = ClassName[] print[obj.atrr]7
obj = ClassName[] print[obj.atrr]8
obj = 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
obj = ClassName[] print[obj.atrr]8
# Python3 program to # demonstrate defining # a class class Dog: pass3
# Python3 program to # demonstrate defining # a class class Dog: pass0
# Python3 program to # demonstrate defining # a class class Dog: pass5
obj = ClassName[] print[obj.atrr]8
# Python3 program to # demonstrate defining # a class class Dog: pass7
# Python3 program to # demonstrate defining # a class class Dog: pass8
self
mammal I'm a mammal I'm a dog0
Hello, my name is Nikhil5
# Python3 program to # demonstrate defining # a class class Dog: pass0
Hello, my name is Nikhil7
Đầu ra
Trong 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ú.
mammal I'm a mammal I'm a dog2
mammal I'm a mammal I'm a dog3
obj = ClassName[] print[obj.atrr]18
__init__[]
9mammal I'm a mammal I'm a dog2
mammal I'm a mammal I'm a dog3
obj = ClassName[] print[obj.atrr]22
obj = ClassName[] print[obj.atrr]23
mammal I'm a mammal I'm a dog2
mammal I'm a mammal I'm a dog3
obj = ClassName[] print[obj.atrr]26
obj = ClassName[] print[obj.atrr]27
mammal I'm a mammal I'm a dog2
mammal I'm a mammal I'm a dog3
obj = ClassName[] print[obj.atrr]30
obj = ClassName[] print[obj.atrr]31
mammal I'm a mammal I'm a dog2
mammal I'm a mammal I'm a dog3
obj = ClassName[] print[obj.atrr]34
__init__[]
9mammal I'm a mammal I'm a dog2
mammal I'm a mammal I'm a dog3
obj = ClassName[] print[obj.atrr]38
obj = ClassName[] print[obj.atrr]39
mammal I'm a mammal I'm a dog2
mammal I'm a mammal I'm a dog3
obj = ClassName[] print[obj.atrr]26
obj = ClassName[] print[obj.atrr]43
Bản thân
mammal I'm a mammal I'm a dog2
mammal I'm a mammal I'm a dog3
obj = ClassName[] print[obj.atrr]50
__init__[]
9mammal I'm a mammal I'm a dog2
obj = ClassName[] print[obj.atrr]53
Đầ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 dog
Trong 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ú.
Python3
class
obj = ClassName[] print[obj.atrr]7
obj = ClassName[] print[obj.atrr]8
obj = 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
obj = ClassName[] print[obj.atrr]8
# Python3 program to # demonstrate defining # a class class Dog: pass3
# Python3 program to # demonstrate defining # a class class Dog: pass0
# Python3 program to # demonstrate defining # a class class Dog: pass5
obj = ClassName[] print[obj.atrr]8
# Python3 program to # demonstrate defining # a class class Dog: pass7
# Python3 program to # demonstrate defining # a class class Dog: pass8
self
mammal I'm a mammal I'm a dog0
Hello, my name is Nikhil5
# Python3 program to # demonstrate defining # a class class Dog: pass0
Hello, my name is Nikhil7
Hello, my name is Nikhil5
# Python3 program to # demonstrate defining # a class class Dog: pass0
Hello, my name is Nikhil7
Đầu ra
Trong 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
obj = ClassName[] print[obj.atrr]94
obj = ClassName[] print[obj.atrr]07
__init__[]
9mammal I'm a mammal I'm a dog2
obj = ClassName[] print[obj.atrr]98