Thừa kế trong Python
Kế thừa là một tính năng mạnh mẽ trong lập trình hướng đối tượng.
Nó đề cập đến việc xác định một lớp mới có ít hoặc không có sửa đổi cho một lớp hiện có. Lớp mới được gọi là lớp dẫn xuất [hoặc trẻ em] và lớp mà nó thừa hưởng được gọi là lớp cơ sở [hoặc cha mẹ].derived [or child] class and the one from which it inherits is called the base [or parent] class.
Cú pháp kế thừa Python
class BaseClass: Body of base class class DerivedClass[BaseClass]: Body of derived class
Các lớp có nguồn gốc kế thừa các tính năng từ lớp cơ sở nơi các tính năng mới có thể được thêm vào nó. Điều này dẫn đến khả năng tái sử dụng mã.
Ví dụ về thừa kế trong Python
Để chứng minh việc sử dụng thừa kế, chúng ta hãy lấy một ví dụ.
Một đa giác là một hình đóng với 3 cạnh trở lên. Giả sử, chúng ta có một lớp gọi là
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
5 được định nghĩa như sau.class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
Lớp này có các thuộc tính dữ liệu để lưu trữ số cạnh n và độ lớn của mỗi bên dưới dạng một danh sách được gọi là các bên.
Phương pháp
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
6 có độ lớn của mỗi bên và class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
7 hiển thị các độ dài bên này.Một tam giác là một đa giác với 3 cạnh. Vì vậy, chúng ta có thể tạo một lớp gọi là tam giác kế thừa từ đa giác. Điều này làm cho tất cả các thuộc tính của lớp đa giác có sẵn cho lớp tam giác.
Chúng ta không cần xác định lại chúng [khả năng tái sử dụng mã]. Tam giác có thể được định nghĩa như sau.
class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
Tuy nhiên, lớp
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
8 có phương pháp mới class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
9 để tìm và in diện tích của tam giác. Đây là một mẫu chạy.>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
Chúng ta có thể thấy rằng mặc dù chúng ta không xác định các phương thức như
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
6 hoặc class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
7 cho lớp class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
8 một cách riêng biệt, chúng ta đã có thể sử dụng chúng.Nếu một thuộc tính không được tìm thấy trong bản thân lớp, tìm kiếm tiếp tục đến lớp cơ sở. Điều này lặp lại đệ quy, nếu lớp cơ sở có nguồn gốc từ các lớp khác.
Phương pháp ghi đè trong Python
Trong ví dụ trên, lưu ý rằng phương pháp
class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
3 được xác định trong cả hai lớp, tam giác cũng như đa giác. Khi điều này xảy ra, phương thức trong lớp dẫn xuất sẽ ghi đè lên trong lớp cơ sở. Điều này có nghĩa là, class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
3 trong tam giác được ưu tiên so với class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
5 trong đa giác.Nói chung khi ghi đè một phương thức cơ sở, chúng ta có xu hướng mở rộng định nghĩa thay vì chỉ đơn giản là thay thế nó. Điều tương tự đang được thực hiện bằng cách gọi phương thức trong lớp cơ sở từ lớp trong lớp có nguồn gốc [gọi
class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
6 từ class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
3 trong class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
8].Một tùy chọn tốt hơn sẽ là sử dụng chức năng tích hợp
class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
9. Vì vậy, >>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
0 tương đương với >>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
1 và được ưa thích. Để tìm hiểu thêm về hàm class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
9 trong Python, hãy truy cập hàm python Super [].Hai chức năng tích hợp
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
3 và >>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
4 được sử dụng để kiểm tra các khoản thừa kế.Hàm
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
3 trả về >>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
6 nếu đối tượng là một thể hiện của lớp hoặc các lớp khác có nguồn gốc từ nó. Mỗi và mọi lớp trong Python thừa hưởng từ lớp cơ sở >>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
7.>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
Tương tự,
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
4 được sử dụng để kiểm tra kế thừa lớp.>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
Một trong những khái niệm cốt lõi trong các ngôn ngữ lập trình hướng đối tượng [OOP] là sự kế thừa. Đây là một cơ chế cho phép bạn tạo một hệ thống phân cấp các lớp chia sẻ một tập hợp các thuộc tính và phương thức bằng cách lấy một lớp từ một lớp khác. Kế thừa là khả năng của một lớp để lấy hoặc kế thừa các thuộc tính từ một lớp khác. & NBSP;
Lợi ích của việc thừa kế là: & nbsp;
- Nó đại diện cho các mối quan hệ trong thế giới thực tốt.
- Nó cung cấp khả năng tái sử dụng của một mã. Chúng tôi không phải viết cùng một mã nhiều lần. Ngoài ra, nó cho phép chúng tôi thêm nhiều tính năng vào một lớp mà không cần sửa đổi nó.reusability of a code. We don’t have to write the same code again and again. Also, it allows us to add more features to a class without modifying it.
- Nó có bản chất chuyển tiếp, có nghĩa là nếu lớp B kế thừa từ một loại A khác, thì tất cả các lớp con của B sẽ tự động kế thừa từ lớp A.
- Kế thừa cung cấp một cấu trúc mô hình đơn giản, dễ hiểu. & NBSP;
- Chi phí phát triển và bảo trì ít hơn là kết quả của một kế thừa. & NBSP;
Cú pháp kế thừa Python
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}
Tạo lớp cha mẹ
Tạo một lớp người với các phương thức hiển thị.Person class with Display methods.
Python3
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
0>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
3>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
5>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
8>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
223 >>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
4>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
8 >>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
8>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
3>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}3
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2Các
Satyam 1025
>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
0Satyam 1028
Satyam 1029
Mayank 103 Emp class called0
Mayank 103 Emp class called1
Mayank 103 Emp class called2
Output:
Satyam 102
Tạo một lớp trẻ em
Ở đây EMP là một lớp khác sẽ kế thừa các thuộc tính của lớp PERSE [lớp cơ sở].Emp is another class which is going to inherit the properties of the Person class[base class].
Python3
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 Mayank 103 Emp class called4
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
3>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 Mayank 103 Emp class called7
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}8
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}7
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}8
Geek1 False Geek2 True4
Satyam 1024
‘
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
03class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
04Mayank 103 Emp class called7
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
06Output:
Mayank 103 Emp class called
Ví dụ về kế thừa trong Python & NBSP;
Python3
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
0>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
3>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
5>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
8>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
223 >>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
4>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
8 >>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
8>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
3>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}3
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2Các
Satyam 1025
>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
0Satyam 1028
Satyam 1029
Mayank 103 Emp class called0
Mayank 103 Emp class called1
Tạo một lớp trẻ em
Các
Satyam 1025
>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
0Satyam 1028
Satyam 1029
Mayank 103 Emp class called0
Mayank 103 Emp class called1
Tạo một lớp trẻ em
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}7
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
54Ở đây EMP là một lớp khác sẽ kế thừa các thuộc tính của lớp PERSE [lớp cơ sở].
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}7
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
54Output:
Geek1 False Geek2 True
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 Mayank 103
Emp class called
4
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
3>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 Mayank 103 Emp class called7
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}8
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2- ‘
- Ví dụ về kế thừa trong Python & NBSP;
>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
5>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
15
>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
22 >>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
4>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0____44 class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
23>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2subclass_name [superclass_name]: Python3
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
0>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
3>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
5>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
8>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
223 >>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
4>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
8 >>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
8>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
3>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}3
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}7
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}8
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
90class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}7
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}8
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
95Tạo một lớp trẻ em
Ở đây EMP là một lớp khác sẽ kế thừa các thuộc tính của lớp PERSE [lớp cơ sở].
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 Mayank 103 Emp class called4
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
3>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 Mayank 103 Emp class called7
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}8
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
14>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
16‘
class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
28Output:
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
0Ví dụ về kế thừa trong Python & NBSP;
The variables defined within __init__[] are called the instance variables or objects. Hence, ‘name’ and ‘idnumber’ are the objects of the class Person. Similarly, ‘salary’ and ‘post’ are the objects of the class Employee. Since the class Employee inherits from class Person, ‘name’ and ‘idnumber’ are also the objects of class Employee.
Chương trình Python để chứng minh lỗi nếu chúng ta quên gọi __init __ [] của cha mẹ
Nếu bạn quên gọi __init __ [] của lớp cha thì các biến thể hiện của nó sẽ không có sẵn cho lớp con. & NBSP;
Mã sau đây tạo ra một lỗi vì lý do tương tự. & NBSP;
Python3
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
30>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
5>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
35>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
20>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
22 class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
43>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
45>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
5>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
50class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
53>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
55>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
7 >>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
58class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
59Satyam 1024
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}7
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}8
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
7class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
90Đầu ra: & nbsp;
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
1Các loại kế thừa khác nhau:
- Kế thừa duy nhất: Khi một lớp con được thừa hưởng từ chỉ một lớp cha mẹ, nó được gọi là thừa kế đơn. Chúng tôi đã thấy một ví dụ ở trên.: When a child class inherits from only one parent class, it is called single inheritance. We saw an example above.
- Nhiều kế thừa: Khi một lớp con được thừa hưởng từ nhiều lớp cha, nó được gọi là nhiều kế thừa. & Nbsp;: When a child class inherits from multiple parent classes, it is called multiple inheritances.
Không giống như Java, Python cho thấy nhiều kế thừa.
Python3
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
66>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
5>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
76>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
51class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}7
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}8
class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
82Satyam 1024
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
85>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
5>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
76>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
51
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}7
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}8
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
01Satyam 1024
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
85>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
5>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
11>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6Satyam 1024
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
15>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6Satyam 1024
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}7
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}8
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
21Satyam 1024
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
76>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
51class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}7
Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}8
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
32>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
34>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
85>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
38Output:
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
2
16class Polygon: def __init__[self, no_of_sides]: self.n = no_of_sides self.sides = [0 for i in range[no_of_sides]] def inputSides[self]: self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]] def dispSides[self]: for i in range[self.n]: print["Side",i+1,"is",self.sides[i]]
6>>> isinstance[t,Triangle] True >>> isinstance[t,Polygon] True >>> isinstance[t,int] False >>> isinstance[t,object] True
95class Triangle[Polygon]: def __init__[self]: Polygon.__init__[self,3] def findArea[self]: a, b, c = self.sides # calculate the semi-perimeter s = [a + b + c] / 2 area = [s*[s-a]*[s-b]*[s-c]] ** 0.5 print['The area of the triangle is %0.2f' %area]
3>>> issubclass[Polygon,Triangle] False >>> issubclass[Triangle,Polygon] True >>> issubclass[bool,int] True
58: When we have a child and grandchild relationship.class Polygon: def __init__[self, no_of_sides]: self.n = no_of_sides self.sides = [0 for i in range[no_of_sides]] def inputSides[self]: self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]] def dispSides[self]: for i in range[self.n]: print["Side",i+1,"is",self.sides[i]]
Python3
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 >>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
04>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 >>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
25>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
35>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 >>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
37Di sản đa cấp: Khi chúng ta có một mối quan hệ con và cháu. & Nbsp;
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 >>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
40>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
5>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
15class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
22 >>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
4class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
70>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
72>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0____44 class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
23>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
27 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
29>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 >>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
63>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0____44 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
5>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
68class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
755____53 >>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
77class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
95>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
97>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0____44 >>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
80>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
27 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
86>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 >>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
88>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0____44 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
5>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
93Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}7
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
22Output:
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
3
16class Polygon: def __init__[self, no_of_sides]: self.n = no_of_sides self.sides = [0 for i in range[no_of_sides]] def inputSides[self]: self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]] def dispSides[self]: for i in range[self.n]: print["Side",i+1,"is",self.sides[i]]
6>>> isinstance[t,Triangle] True >>> isinstance[t,Polygon] True >>> isinstance[t,int] False >>> isinstance[t,object] True
00>>> isinstance[t,Triangle] True >>> isinstance[t,Polygon] True >>> isinstance[t,int] False >>> isinstance[t,object] True
3>>> issubclass[Polygon,Triangle] False >>> issubclass[Triangle,Polygon] True >>> issubclass[bool,int] True
02 More than one derived class are created from a single base.>>> isinstance[t,Triangle] True >>> isinstance[t,Polygon] True >>> isinstance[t,int] False >>> isinstance[t,object] True
0>>> issubclass[Polygon,Triangle] False >>> issubclass[Triangle,Polygon] True >>> issubclass[bool,int] True
4>>> isinstance[t,Triangle] True >>> isinstance[t,Polygon] True >>> isinstance[t,int] False >>> isinstance[t,object] True
05>>> isinstance[t,Triangle] True >>> isinstance[t,Polygon] True >>> isinstance[t,int] False >>> isinstance[t,object] True
6>>> isinstance[t,Triangle] True >>> isinstance[t,Polygon] True >>> isinstance[t,int] False >>> isinstance[t,object] True
2: This form combines more than one form of inheritance. Basically, it is a blend of more than one type of inheritance.>>> isinstance[t,Triangle] True >>> isinstance[t,Polygon] True >>> isinstance[t,int] False >>> isinstance[t,object] True
16class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
27 class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
11Types of inheritance in Python>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
12>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
14class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
51Satyam 102
9class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
59Satyam 102
9>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
19Satyam 102
4
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
Di truyền phân cấp Nhiều hơn một lớp dẫn xuất được tạo ra từ một cơ sở duy nhất.
We can make an instance variable private by adding double underscores before its name. For example,
Python3
Di truyền lai: Hình thức này kết hợp nhiều hơn một hình thức thừa kế. Về cơ bản, nó là một sự pha trộn của nhiều hơn một loại thừa kế.
>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
5>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
76>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
51>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
85>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
95>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
58>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
0>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
4 >>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
5>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
76>>> issubclass[Polygon,Triangle]
False
>>> issubclass[Triangle,Polygon]
True
>>> issubclass[bool,int]
True
3 class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
51class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
16>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
55>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
6Satyam 1024
>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
9 class Triangle[Polygon]:
def __init__[self]:
Polygon.__init__[self,3]
def findArea[self]:
a, b, c = self.sides
# calculate the semi-perimeter
s = [a + b + c] / 2
area = [s*[s-a]*[s-b]*[s-c]] ** 0.5
print['The area of the triangle is %0.2f' %area]
85>>> t = Triangle[]
>>> t.inputSides[]
Enter side 1 : 3
Enter side 2 : 5
Enter side 3 : 4
>>> t.dispSides[]
Side 1 is 3.0
Side 2 is 5.0
Side 3 is 4.0
>>> t.findArea[]
The area of the triangle is 6.00
7>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
2Class BaseClass: {Body} Class DerivedClass[BaseClass]: {Body}7
>>> isinstance[t,Triangle]
True
>>> isinstance[t,Polygon]
True
>>> isinstance[t,int]
False
>>> isinstance[t,object]
True
62Đầu ra: & nbsp;
class Polygon:
def __init__[self, no_of_sides]:
self.n = no_of_sides
self.sides = [0 for i in range[no_of_sides]]
def inputSides[self]:
self.sides = [float[input["Enter side "+str[i+1]+" : "]] for i in range[self.n]]
def dispSides[self]:
for i in range[self.n]:
print["Side",i+1,"is",self.sides[i]]
4Các loại kế thừa khác nhau: