Hướng dẫn what is multilevel inheritance in python - kế thừa đa cấp trong python là gì

Python Nhiều kế thừa

Một lớp có thể được lấy từ nhiều lớp cơ sở trong Python, tương tự như C ++. Điều này được gọi là nhiều kế thừa.

Trong nhiều kế thừa, các tính năng của tất cả các lớp cơ sở được kế thừa vào lớp dẫn xuất. Cú pháp cho nhiều kế thừa tương tự như thừa kế đơn.

Thí dụ

class Base1:
    pass

class Base2:
    pass

class MultiDerived(Base1, Base2):
    pass

Ở đây, lớp nhiều người có nguồn gốc từ các lớp Base1 và Base2.

Hướng dẫn what is multilevel inheritance in python - kế thừa đa cấp trong python là gì
Nhiều kế thừa trong Python

Lớp nhiều người thừa kế từ cả hai lớp Base1 và Base2.


Kế thừa đa cấp Python

Chúng ta cũng có thể kế thừa từ một lớp học dẫn xuất. Điều này được gọi là kế thừa đa cấp. Nó có thể có bất kỳ độ sâu nào trong Python.

Trong kế thừa đa cấp, các tính năng của lớp cơ sở và lớp dẫn xuất được kế thừa vào lớp dẫn xuất mới.

Một ví dụ với trực quan tương ứng được đưa ra dưới đây.

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass

Ở đây, lớp dẫn xuất1 có nguồn gốc từ lớp cơ sở và lớp dẫn xuất2 có nguồn gốc từ lớp dẫn xuất1.

Hướng dẫn what is multilevel inheritance in python - kế thừa đa cấp trong python là gì
Di sản đa cấp trong Python

Thứ tự giải quyết phương pháp trong Python

Mỗi lớp học trong Python đều có nguồn gốc từ lớp

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
1. Nó là loại cơ sở nhất trong Python.

Vì vậy, về mặt kỹ thuật, tất cả các lớp khác, được tích hợp hoặc do người dùng xác định, là các lớp có nguồn gốc và tất cả các đối tượng là các trường hợp của lớp

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
1.

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))

Trong kịch bản nhiều kế thừa, bất kỳ thuộc tính được chỉ định nào được tìm kiếm đầu tiên trong lớp hiện tại. Nếu không được tìm thấy, việc tìm kiếm tiếp tục vào các lớp phụ huynh ở thời trang sâu, trái phải mà không tìm kiếm cùng một lớp hai lần.

Vì vậy, trong ví dụ trên của lớp

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
3, thứ tự tìm kiếm là [
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
3,
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
5,
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
6,
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
1]. Thứ tự này còn được gọi là tuyến tính hóa của lớp
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
3 và tập hợp các quy tắc được sử dụng để tìm thứ tự này được gọi là thứ tự phân giải phương thức (MRO).Method Resolution Order (MRO).

MRO phải ngăn chặn đặt hàng ưu tiên cục bộ và cũng cung cấp tính đơn điệu. Nó đảm bảo rằng một lớp học luôn xuất hiện trước cha mẹ của nó. Trong trường hợp của nhiều phụ huynh, thứ tự giống như các bộ dữ liệu của các lớp cơ sở.

MRO của một lớp có thể được xem là thuộc tính

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
9 hoặc phương thức
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
0. Cái trước trả lại một tuple trong khi cái sau trả lại một danh sách.

>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]

Dưới đây là một ví dụ kế thừa đa dạng phức tạp hơn một chút và trực quan hóa của nó cùng với MRO.

Hướng dẫn what is multilevel inheritance in python - kế thừa đa cấp trong python là gì
Hình dung nhiều kế thừa trong Python
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())

Đầu ra

[, , , , , , ]

Để biết thuật toán thực tế về cách tính toán MRO, hãy truy cập thảo luận về MRO.

Kế thừa được định nghĩa là cơ chế kế thừa các thuộc tính của lớp cơ sở cho lớp con. Ở đây chúng ta sẽ thấy các loại hình ảnh trong Python.inheritance in Python.

Hướng dẫn what is multilevel inheritance in python - kế thừa đa cấp trong python là gì

Các loại kế thừa trong Python

Các loại kế thừa phụ thuộc vào số lượng các lớp con và phụ huynh có liên quan. Có bốn loại kế thừa trong Python:

Di truyền duy nhất: & nbsp; 

Kế thừa duy nhất cho phép một lớp dẫn xuất kế thừa các thuộc tính từ một lớp cha, do đó cho phép tái sử dụng mã và bổ sung các tính năng mới vào mã hiện có.

Hướng dẫn what is multilevel inheritance in python - kế thừa đa cấp trong python là gì

Example:

Python3

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
1
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
2

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
5
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
7

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
1
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
2

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
1
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
4

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
7
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
7

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
3
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
2

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
1
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
6
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
7

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
1
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
9

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
1
[, , , , , , ]
1

Output:

This function is in parent class.
This function is in child class.

Nhiều kế thừa: & nbsp; 

Khi một lớp có thể được lấy từ nhiều lớp cơ sở, loại thừa kế này được gọi là nhiều kế thừa. Trong nhiều kế thừa, tất cả các tính năng của các lớp cơ sở được kế thừa vào lớp dẫn xuất. & NBSP;

Hướng dẫn what is multilevel inheritance in python - kế thừa đa cấp trong python là gì

Example:

Python3

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
1
[, , , , , , ]
3

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
[, , , , , , ]
55____46
[, , , , , , ]
7

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
This function is in parent class.
This function is in child class.
0
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
7

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
This function is in parent class.
This function is in child class.
7

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
1
This function is in parent class.
This function is in child class.
9

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
Father : RAM
Mother : SITA
1
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
6
[, , , , , , ]
7

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
Father : RAM
Mother : SITA
6
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
7

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
Lal mani
Grandfather name : Lal mani
Father name : Rampal
Son name : Prince
3

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
1
Lal mani
Grandfather name : Lal mani
Father name : Rampal
Son name : Prince
5

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
Lal mani
Grandfather name : Lal mani
Father name : Rampal
Son name : Prince
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
7

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
This function is in parent class.
This function is in child 1.
This function is in parent class.
This function is in child 2.
4
This function is in parent class.
This function is in child 1.
This function is in parent class.
This function is in child 2.
5
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
Lal mani
Grandfather name : Lal mani
Father name : Rampal
Son name : Prince
3

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
01
This function is in parent class.
This function is in child 1.
This function is in parent class.
This function is in child 2.
5
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
This function is in parent class.
This function is in child class.
7

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
05
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
07

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
08
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
10

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
11
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
13

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
14

Output:

Father : RAM
Mother : SITA

Thừa kế đa cấp & nbsp ;: :

Trong kế thừa đa cấp, các tính năng của lớp cơ sở và lớp dẫn xuất được tiếp tục di truyền vào lớp dẫn xuất mới. Điều này tương tự như một mối quan hệ đại diện cho một đứa trẻ và một ông nội. & Nbsp;

Hướng dẫn what is multilevel inheritance in python - kế thừa đa cấp trong python là gì

Example:

Python3

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
1
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
16

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
19
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
21

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
24
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
26

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
1
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
28

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
19
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
33

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
36
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
38

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
40
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
42

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
1
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
44

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
19
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
49

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
522____46
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
54

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
56
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
58

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
61
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
7

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
67
This function is in parent class.
This function is in child 1.
This function is in parent class.
This function is in child 2.
5
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
70

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
74
This function is in parent class.
This function is in child 1.
This function is in parent class.
This function is in child 2.
5
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
Lal mani
Grandfather name : Lal mani
Father name : Rampal
Son name : Prince
3

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
81
This function is in parent class.
This function is in child 1.
This function is in parent class.
This function is in child 2.
5
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
84

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
05
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
6
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
87
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
88
This function is in parent class.
This function is in child 1.
This function is in parent class.
This function is in child 2.
5____190
This function is in parent class.
This function is in child 1.
This function is in parent class.
This function is in child 2.
5__192

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
95

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
96

Output:

Lal mani
Grandfather name : Lal mani
Father name : Rampal
Son name : Prince

Di truyền phân cấp: & nbsp; 

Khi nhiều hơn một lớp dẫn xuất được tạo ra từ một cơ sở duy nhất, loại thừa kế này được gọi là kế thừa phân cấp. Trong chương trình này, chúng tôi có một lớp cha mẹ (cơ sở) và hai lớp (có nguồn gốc).

Hướng dẫn what is multilevel inheritance in python - kế thừa đa cấp trong python là gì

Example:

Python3

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
1
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
2

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
5
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
7

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
1
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
4

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
7
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
7

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
7
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
7

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
19
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
2

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
1
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
6
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
7

Nhiều kế thừa: & nbsp;

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
31
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
2

Khi một lớp có thể được lấy từ nhiều lớp cơ sở, loại thừa kế này được gọi là nhiều kế thừa. Trong nhiều kế thừa, tất cả các tính năng của các lớp cơ sở được kế thừa vào lớp dẫn xuất. & NBSP;

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
1
[, , , , , , ]
3

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
39

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
40

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
41

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
42

Output:

This function is in parent class.
This function is in child 1.
This function is in parent class.
This function is in child 2.

# Output: True print(issubclass(list,object)) # Output: True print(isinstance(5.5,object)) # Output: True print(isinstance("Hello",object))3[, , , , , , ]55____46 [, , , , , , ]7 

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
This function is in parent class.
This function is in child class.
0
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
7

Hướng dẫn what is multilevel inheritance in python - kế thừa đa cấp trong python là gì

Example:

Python3

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
1
This function is in parent class.
This function is in child class.
9

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
5
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
7

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
53
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
2

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
1
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
4

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
4
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
7
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
6
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
7

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
65
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
2

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
1
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
6
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
7

Nhiều kế thừa: & nbsp;

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
77
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
2

Khi một lớp có thể được lấy từ nhiều lớp cơ sở, loại thừa kế này được gọi là nhiều kế thừa. Trong nhiều kế thừa, tất cả các tính năng của các lớp cơ sở được kế thừa vào lớp dẫn xuất. & NBSP;

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
1
[, , , , , , ]
3

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
8
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
9
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
0
# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
89
>>> MultiDerived.__mro__
(,
 ,
 ,
 )

>>> MultiDerived.mro()
[,
 ,
 ,
 ]
2

# Output: True
print(issubclass(list,object))

# Output: True
print(isinstance(5.5,object))

# Output: True
print(isinstance("Hello",object))
3
[, , , , , , ]
55____46
[, , , , , , ]
7

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
1
# Demonstration of MRO

class X:
    pass


class Y:
    pass


class Z:
    pass


class A(X, Y):
    pass


class B(Y, Z):
    pass


class M(B, A, Z):
    pass

# Output:
# [, ,
#  , ,
#  , ,
#  ]

print(M.mro())
9

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
1
[, , , , , , ]
1

Output:

class Base:
    pass

class Derived1(Base):
    pass

class Derived2(Derived1):
    pass
0

Di truyền đa cấp là gì?

Di truyền đa cấp: Đó là một phương pháp mà một lớp kế thừa từ lớp cha và lớp con mới được tạo trở thành lớp cơ sở cho một lớp mới khác.a method where one class inherits from the parent class and the newly created sub-class becomes the base class for another new class.

Đa cấp và nhiều kế thừa là gì?

Nhiều kế thừa là một loại thừa kế trong đó một lớp kế thừa từ nhiều lớp cơ sở.Di truyền đa cấp là một loại kế thừa kế thừa từ một lớp có nguồn gốc, làm cho lớp cơ sở thuộc lớp A có nguồn gốc cho một lớp mới.Nhiều kế thừa không được sử dụng rộng rãi vì nó làm cho hệ thống phức tạp hơn.

Nhiều kế thừa giải thích với ví dụ là gì?

Nhiều kế thừa là một tính năng của C ++ trong đó một lớp có thể kế thừa từ nhiều lớp.Các hàm tạo của các lớp kế thừa được gọi theo cùng một thứ tự mà chúng được thừa hưởng.Ví dụ, trong chương trình sau, hàm tạo của B được gọi trước hàm tạo của A.a feature of C++ where a class can inherit from more than one classes. The constructors of inherited classes are called in the same order in which they are inherited. For example, in the following program, B's constructor is called before A's constructor.