Làm thế nào để bạn kiểm tra loại biến trong python?

Vì Python không hỗ trợ kiểm tra kiểu tĩnh [i. e kiểm tra kiểu ở kiểu biên dịch], nếu bạn muốn kiểm tra xem biến hoặc đối tượng Python có phải là Chuỗi hay không;

Hãy cho chúng tôi hiểu một số cách kiểm tra đối tượng kiểu chuỗi

1. Sử dụng phương thức isinstance[]

Phương thức isinstance[object, type] kiểm tra xem

a = 123

b = 'Hello'

print['Is a an instance of str?', isinstance[a, str]]
print['Is b an instance of str?', isinstance[b, str]]
5 có thuộc về
a = 123

b = 'Hello'

print['Is a an instance of str?', isinstance[a, str]]
print['Is b an instance of str?', isinstance[b, str]]
6 hay không và trả về True nếu điều kiện đó đúng và False nếu không

Các loại phổ biến là. int, str, danh sách, đối tượng, v.v.

Vì chúng tôi muốn kiểm tra loại

a = 123

b = 'Hello'

print['Is a an instance of str?', isinstance[a, str]]
print['Is b an instance of str?', isinstance[b, str]]
7, chúng tôi sẽ sử dụng
a = 123

b = 'Hello'

print['Is a an instance of str?', isinstance[a, str]]
print['Is b an instance of str?', isinstance[b, str]]
8 và kiểm tra xem nó có phải là
Is a an instance of str? False
Is b an instance of str? True
0 không

Hãy để chúng tôi hiểu điều này thông qua một ví dụ

a = 123

b = 'Hello'

print['Is a an instance of str?', isinstance[a, str]]
print['Is b an instance of str?', isinstance[b, str]]

đầu ra

Is a an instance of str? False
Is b an instance of str? True

2. Sử dụng phương pháp loại [đối tượng]

Điều này tương tự như phương thức

Is a an instance of str? False
Is b an instance of str? True
1, nhưng điều này trả về kiểu của đối tượng một cách rõ ràng

Hãy để chúng tôi sử dụng điều này để kiểm tra xem loại được trả về có phải là

a = 123

b = 'Hello'

print['Is a an instance of str?', isinstance[a, str]]
print['Is b an instance of str?', isinstance[b, str]]
7 hay không

Thí dụ

a = 123

b = 'Hello'

print['type[a] =', type[a]]
print['type[b] =', type[b]]

print['Is a of type string?', type[a] == str]
print['Is b of type string?', type[b] == str]

đầu ra

type[a] = 
type[b] = 
Is a of type string? False
Is b of type string? True

Kiểm tra xem tham số Hàm có phải là Chuỗi không

Chúng ta có thể áp dụng bất kỳ phương pháp nào ở trên để giới thiệu điều kiện 'kiểm tra' trong bất kỳ hàm nào, cho phép chúng ta thực thi phần thân chính của hàm chỉ khi đầu vào là một chuỗi

Hãy để chúng tôi hiểu điều này bằng một ví dụ đơn giản

a = 123

b = 'Hello'

def capitalize_name[inp]:
    # We can also use "if isinstance[inp, str]"
    if type[inp] != str:
        print['Input must be a string']
    else:
        print[inp.upper[]]


capitalize_name[a]
capitalize_name[b]

đầu ra

Input must be a string
HELLO

Chức năng của chúng tôi hiện kiểm tra rõ ràng xem tham số có phải là một chuỗi hay không, trước khi tiếp tục với phần thân chính. Các kiểm tra kiểu này có khả năng tránh được các lỗi thời gian chạy không cần thiết do kiểm tra kiểu động của Python

Chúng tôi không đưa ra bất kỳ lỗi nào từ chức năng của mình. Tuy nhiên, trong lập trình thực tế, hầu hết các xác thực loại tham số chức năng này đều ném ngoại lệ

Is a an instance of str? False
Is b an instance of str? True
3

Sự kết luận

Trong bài viết này, chúng ta đã tìm hiểu về cách sử dụng các phương thức

Is a an instance of str? False
Is b an instance of str? True
1,
Is a an instance of str? False
Is b an instance of str? True
5 của Python và kiểm tra xem đầu vào có phải là một chuỗi hay không. Chúng tôi cũng đã áp dụng điều này cho một hàm để chỉ chấp nhận một tham số nếu đó là một chuỗi

Giờ đây, có thể xảy ra ít lỗi hơn nhiều trong thời gian chạy và định dạng này rất cần thiết cho một chương trình Python tốt. Hy vọng bạn tìm thấy bài viết này hữu ích

Kiểu dữ liệu đóng một vai trò quan trọng trong hầu hết các ngôn ngữ lập trình. Bài viết này chứa thông tin mô tả về các hàm type[] và isinstance[] trong Python

Việc trích xuất loại biến mà Python đang nắm giữ rất quan trọng đối với mục đích gỡ lỗi và thử nghiệm. Trong bài viết này, bạn sẽ hiểu rõ về 2 cách tiếp cận để lấy kiểu của một biến và hai kỹ thuật này khác nhau như thế nào

Bạn có thể tham khảo các ví dụ dưới đây để hiểu rõ hơn

Các kiểu dữ liệu trong Python

Các kiểu dữ liệu được sử dụng trong Python là

  1. Con số. Kiểu dữ liệu này bao gồm số nguyên, số phức, v.v.
  2. Sợi dây. Nó bao gồm các ký tự Unicode- một tiêu chuẩn mã hóa toàn cầu
  3. Boolean. Nó đại diện cho Đúng và Sai
  4. Danh sách. Danh sách có thể thay đổi. Chúng tôi có thể thay đổi các giá trị bên trong danh sách ngay cả sau khi tạo chúng
  5. Tuple. Tuple bao gồm các phần tử thuộc các kiểu dữ liệu khác nhau ở dạng có thứ tự. Chúng tôi không thể thay đổi các giá trị bên trong tuple sau khi tạo chúng
  6. Bộ. Một bộ bao gồm các mục duy nhất ở dạng không có thứ tự
  7. Từ điển. Từ điển chứa các cặp khóa-giá trị ở dạng không có thứ tự

Hàm isinstance[] trong Python

Để kiểm tra bất kỳ đối tượng nào trong Python, chúng ta sử dụng hàm 'isinstance[]'. Hàm này tính đến các lớp con. Điều đó có nghĩa là hàm isinstance[] sẽ chỉ trả về TRUE khi một đối tượng đã nêu thuộc loại mong muốn. Một lần nữa, chúng ta thấy FALSE trong các trường hợp khác. Chúng tôi sử dụng hàm 'type[]' trong Python để lấy kiểu biến

Đó là những gì cần thiết cho bài viết này. Trong Python, mỗi giá trị chứa một kiểu dữ liệu. Lập trình Python coi mọi thứ là một đối tượng. Hàm isinstance[] giúp lập trình viên kiểm tra kiểu của biến. Nó chấp nhận hai tham số

Tham số đầu tiên xác định biến mà chúng ta muốn kiểm tra trong khi tham số thứ hai xác định loại Python tiêu chuẩn [như đã đề cập trong danh sách trên]

Chương trình

a = 123

b = 'Hello'

print['Is a an instance of str?', isinstance[a, str]]
print['Is b an instance of str?', isinstance[b, str]]
1

đầu ra

Kiểm tra loại dữ liệu bằng cách sử dụng type[]

Nói chung, chúng ta sử dụng hàm type[] để kiểm tra kiểu dữ liệu của bất kỳ biến nào được sử dụng trong Python. Hàm type[] có thể trả về kiểu dữ liệu bằng một đối số. Tuy nhiên, kiểu dữ liệu được sử dụng trong Python hơi khác so với kiểu dữ liệu được sử dụng trong C hoặc C++

cú pháp

a = 123

b = 'Hello'

print['Is a an instance of str?', isinstance[a, str]]
print['Is b an instance of str?', isinstance[b, str]]
2

Thí dụ

a = 123

b = 'Hello'

print['Is a an instance of str?', isinstance[a, str]]
print['Is b an instance of str?', isinstance[b, str]]
3

đầu ra

Một ví dụ khác mà chúng ta có thể sử dụng kiểu[] để sử dụng nó làm điều kiện

a = 123

b = 'Hello'

print['Is a an instance of str?', isinstance[a, str]]
print['Is b an instance of str?', isinstance[b, str]]
4

Sự khác biệt giữa Hàm type[] và Hàm isinstance[]

isinstance[] trong một hàm dựng sẵn trong Python. Nó trả về true hoặc false. Mặt khác,  hàm type[] trả về loại đối tượng. Nói một cách đơn giản, bạn sử dụng type[] để kiểm tra loại đối tượng chính xác. Bạn sử dụng một thể hiện để xác nhận những nghi ngờ của mình về loại đối tượng. Khi so sánh, hàm isinstance[] tốt hơn hàm type[] trong Python

isinstance[]type[] Nó trả về một giá trị Boolean Nó trả về một giá trị Chuỗi Nó nhận hai đối số Nó nhận một đối số Nó kiểm tra nhiều lớp Nó chỉ kiểm tra một đối tượng

Sự kết luận

Chúng tôi sử dụng hàm isinstance[] của Python để kiểm tra xem một giá trị cụ thể có chứa một loại dữ liệu cụ thể hay không trong khi type[] cung cấp cho chúng tôi loại dữ liệu chính xác của biến đó. Mặc dù cả hai đều hoạt động nhanh hơn nhưng kiểu[] hơi hiệu quả so với kiểu kia vì nó chỉ nhận một tham số

Ngoài ra, để gỡ lỗi, chức năng isinstance[] không hiệu quả. Tuy nhiên, nếu một lập trình viên muốn sử dụng câu trả lời là định dạng Có/không cho mục đích gỡ lỗi hoặc kiểm tra một phần cụ thể của mã cho kiểu dữ liệu, thì isinstance[] là giải pháp thay thế tốt nhất. Nhưng chúng ta cũng có thể sử dụng type[] giống như phép toán Boolean hoặc kết quả

Làm cách nào để kiểm tra kiểu dữ liệu Python?

Kiểm tra kiểu dữ liệu bằng cách sử dụng type[]. Nói chung, chúng tôi sử dụng hàm type[] để kiểm tra kiểu dữ liệu của bất kỳ biến nào được sử dụng trong Python. Hàm type[] có thể trả về kiểu dữ liệu với một đối số. Tuy nhiên, kiểu dữ liệu được sử dụng trong Python hơi khác so với kiểu dữ liệu được sử dụng trong C hoặc C++.

Làm thế nào bạn có thể xác định loại của một biến?

Bạn có thể nghĩ về các biến độc lập và phụ thuộc dưới dạng nguyên nhân và kết quả. biến độc lập là biến mà bạn cho là nguyên nhân, còn biến phụ thuộc là kết quả . Trong một thử nghiệm, bạn điều khiển biến độc lập và đo lường kết quả trong biến phụ thuộc.

Chủ Đề