Python phát hiện loại biến như thế nào?

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

Làm thế nào để Python biết loại biến là gì?

Để lấy kiểu của một biến trong Python, bạn có thể sử dụng hàm type[] tích hợp sẵn . Trong Python, mọi thứ đều là đối tượng. Vì vậy, khi bạn sử dụng hàm type[] để in loại giá trị được lưu trữ trong một biến ra bàn điều khiển, nó sẽ trả về loại lớp của đối tượng.

Python có thể tự động tìm kiểu dữ liệu không?

Kiểu dữ liệu trong python được tự động phát hiện khi giá trị được lưu trữ trong biến . Bài viết này đề cập đến các loại kiểu dữ liệu có thể thay đổi và bất biến khác nhau trong python bao gồm bộ, số, chuỗi, bộ dữ liệu, danh sách và từ điển.

Chủ Đề