Trong bài viết này, chúng ta sẽ tìm hiểu về hàm type[] và isinstance[] trong Python, và sự khác nhau giữa type[] và isinstance[]
Loại trong Python là gì?
Python có một phương thức tích hợp được gọi là type thường có ích khi tìm ra loại biến được sử dụng trong chương trình trong thời gian chạy. Cách chính tắc để kiểm tra loại trong Python được đưa ra dưới đây
Cú pháp của hàm type[]
type[object] type[name, bases, dict]
ví dụ 1. Ví dụ về kiểu [] với một tham số đối tượng đơn
Trong ví dụ này, chúng tôi đang cố gắng kiểm tra kiểu dữ liệu của từng biến, chẳng hạn như x, s và y bằng cách sử dụng hàm type[]
Python3
class 'int' class 'str' class 'list'24
class 'int' class 'str' class 'list'0
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'2
class 'int' class 'str' class 'list'3____11
class 'int' class 'str' class 'list'5
class 'int' class 'str' class 'list'6
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'8
class 'int' class 'str' class 'list'9
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'11
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'13
class 'int' class 'str' class 'list'14
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16____117
class 'int' class 'str' class 'list'18
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16____117
class 'int' class 'str' class 'list'32
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16____117
class 'int' class 'str' class 'list'36
đầu ra
class 'int' class 'str' class 'list'
ví dụ 2. Ví dụ về kiểu [] có tên, cơ sở và tham số dict
Nếu bạn cần kiểm tra loại đối tượng, bạn nên sử dụng hàm isinstance[] của Python để thay thế. Đó là bởi vì hàm isinstance[] cũng kiểm tra xem đối tượng đã cho có phải là một thể hiện của lớp con hay không
Python3
class 'int' class 'str' class 'list'37
class 'int' class 'str' class 'list'38
class 'int' class 'str' class 'list'39
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'17
class 'int' class 'str' class 'list'16
class 'int' class 'str' class 'list'53
class 'int' class 'str' class 'list'54
class 'int' class 'str' class 'list'55
class 'int' class 'str' class 'list'56
class 'int' class 'str' class 'list'57
class 'int' class 'str' class 'list'58
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'20
class 'int' class 'str' class 'list'21
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'23
class 'int' class 'str' class 'list'24
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16____117
class 'int' class 'str' class 'list'28
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16____531
class 'int' class 'str' class 'list'28
class 'int' class 'str' class 'list'33
class 'int' class 'str' class 'list'34
class 'int' class 'str' class 'list'35
class 'int' class 'str' class 'list'36____11
class 'int' class 'str' class 'list'20
class 'int' class 'str' class 'list'39
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'23
class 'int' class 'str' class 'list'42
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'17_______116
class 'int' class 'str' class 'list'46
class 'int' class 'str' class 'list'47
class 'int' class 'str' class 'list'57
class 'int' class 'str' class 'list'58
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'20
class 'int' class 'str' class 'list'21
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'23
class 'int' class 'str' class 'list'24
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16____117
class 'int' class 'str' class 'list'19
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16____531
class 'int' class 'str' class 'list'19
đầu ra
class 'int' class 'str' class 'list'1
isinstance[] trong Python là gì?
Hàm isinstance[] kiểm tra xem đối tượng [đối số thứ nhất] là một thể hiện hay lớp con của lớp thông tin lớp [đối số thứ hai]
Cú pháp hàm isinstance[]
cú pháp. isinstance[đối tượng, thông tin lớp]
Tham số
- vật. đối tượng cần kiểm tra
- thông tin lớp học. lớp, loại hoặc bộ của các lớp và loại
Trở lại. đúng nếu đối tượng là một thể hiện hoặc lớp con của một lớp hoặc bất kỳ phần tử nào của bộ dữ liệu sai.
Nếu thông tin lớp không phải là một loại hoặc bộ loại, một ngoại lệ TypeError sẽ được đưa ra
ví dụ 1.
Trong ví dụ này, chúng ta sẽ thấy test isinstance[] cho đối tượng lớp
Python3
class 'int' class 'str' class 'list'244
class 'int' class 'str' class 'list'33
class 'int' class 'str' class 'list'246
class 'int' class 'str' class 'list'35
class 'int' class 'str' class 'list'36____11
class 'int' class 'str' class 'list'2
class 'int' class 'str' class 'list'01
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'03
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16______106
class 'int' class 'str' class 'list'07
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16
class 'int' class 'str' class 'list'06
class 'int' class 'str' class 'list'11
class 'int' class 'str' class 'list'12
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'14
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16
class 'int' class 'str' class 'list'06
class 'int' class 'str' class 'list'11
class 'int' class 'str' class 'list'12
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'14
class 'int' class 'str' class 'list'23
đầu ra
class 'int' class 'str' class 'list'3
ví dụ 2
Trong ví dụ này, chúng ta sẽ thấy test isinstance[] cho đối tượng integer, float và string
Python3
class 'int' class 'str' class 'list'24
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'06_______116
class 'int' class 'str' class 'list'28
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'30
class 'int' class 'str' class 'list'31
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16____134
class 'int' class 'str' class 'list'35
class 'int' class 'str' class 'list'36
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'06
class 'int' class 'str' class 'list'16
class 'int' class 'str' class 'list'40
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'42
class 'int' class 'str' class 'list'31
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16____146
class 'int' class 'str' class 'list'47
class 'int' class 'str' class 'list'48
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'06
class 'int' class 'str' class 'list'16
class 'int' class 'str' class 'list'52
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'54
class 'int' class 'str' class 'list'31
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16____158
class 'int' class 'str' class 'list'59
đầu ra
class 'int' class 'str' class 'list'5
ví dụ 3
Trong ví dụ này, chúng ta sẽ thấy test isinstance[] cho tuple, list, dictionary và set object
Python3
class 'int' class 'str' class 'list'60
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'06
class 'int' class 'str' class 'list'63
class 'int' class 'str' class 'list'64
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'66
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'68
class 'int' class 'str' class 'list'69
class 'int' class 'str' class 'list'14
class 'int' class 'str' class 'list'31
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16____174
class 'int' class 'str' class 'list'75
class 'int' class 'str' class 'list'76
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'06
class 'int' class 'str' class 'list'79
class 'int' class 'str' class 'list'64
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'66
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'68
class 'int' class 'str' class 'list'85
class 'int' class 'str' class 'list'86
class 'int' class 'str' class 'list'31
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16____190
class 'int' class 'str' class 'list'91
class 'int' class 'str' class 'list'92
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'06
class 'int' class 'str' class 'list'95
class 'int' class 'str' class 'list'64
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'66
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'68
class 'int' class 'str' class 'list'101
class 'int' class 'str' class 'list'12
class 'int' class 'str' class 'list'31
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16____1106
class 'int' class 'str' class 'list'107
class 'int' class 'str' class 'list'108
class 'int' class 'str' class 'list'1
class 'int' class 'str' class 'list'06
class 'int' class 'str' class 'list'79
class 'int' class 'str' class 'list'112
class 'int' class 'str' class 'list'113______1114
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'116
class 'int' class 'str' class 'list'113
class 'int' class 'str' class 'list'118
class 'int' class 'str' class 'list'10
class 'int' class 'str' class 'list'120
class 'int' class 'str' class 'list'113
class 'int' class 'str' class 'list'122
class 'int' class 'str' class 'list'85
class 'int' class 'str' class 'list'57
class 'int' class 'str' class 'list'31
class 'int' class 'str' class 'list'15
class 'int' class 'str' class 'list'16____1128
class 'int' class 'str' class 'list'129
đầu ra
class 'int' class 'str' class 'list'2
Sự khác biệt giữa loại [] và isinstance [] là gì?
Một lỗi cơ bản mà mọi người mắc phải là sử dụng hàm type[] trong đó hàm isinstance[] sẽ phù hợp hơn