Làm cách nào để kiểm tra lớp trong Python?

Sử dụng hàm isinstance[] để kiểm tra xem một đối tượng có phải là một thể hiện của một lớp không. Hàm isinstance[] có thể được truyền một đối tượng và một hoặc nhiều lớp và trả về True nếu đối tượng là một thể hiện của ít nhất một trong các lớp được cung cấp

Hàm trả về True nếu đối tượng được truyền vào là một thể hiện hoặc lớp con của lớp được truyền vào

Nếu bạn là người mới bắt đầu sử dụng Python, việc làm quen với tất cả các loại dữ liệu khác nhau của nó lúc đầu có thể gây nhầm lẫn. Rốt cuộc, có rất nhiều trong số chúng có sẵn cho bạn bằng ngôn ngữ

Trong bài viết này, tôi sẽ chỉ cho bạn cách lấy kiểu của các cấu trúc dữ liệu khác nhau trong Python bằng cách gán chúng cho một biến, sau đó in kiểu ra bàn điều khiển bằng hàm print[]

Cách in Loại biến trong Python

Để 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

Cú pháp cơ bản trông như thế này

type[variableName]

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

Chẳng hạn, nếu loại là một chuỗi và bạn sử dụng type[] trên đó, kết quả là bạn sẽ nhận được ____19_______

Để cho bạn thấy hoạt động của hàm type[], tôi sẽ khai báo một số biến và gán cho chúng các kiểu dữ liệu khác nhau trong Python

name = "freeCodeCamp"

score = 99.99

lessons =  ["RWD", "JavaScript", "Databases", "Python"]

person = {
    "firstName": "John",
    "lastName": "Doe",
    "age": 28
}

langs = ["Python", "JavaScript", "Golang"]

basics = {"HTML", "CSS", "JavaScript"}

Sau đó, tôi sẽ in các loại ra bàn điều khiển bằng cách quấn print[] xung quanh một số chuỗi và hàm type[]

print["The variable, name is of type:", type[name]]
print["The variable, score is of type:", type[score]]
print["The variable, lessons is of type:", type[lessons]]
print["The variable, person is of type:", type[person]]
print["The variable, langs is of type:", type[langs]]
print["The variable, basics is of type:", type[basics]]

Đây là kết quả đầu ra

# Outputs:
# The variable, name is of type:  
# The variable, score is of type:   
# The variable, lessons is of type:  
# The variable, person is of type:   
# The variable, langs is of type:   
# The variable, basics is of type:    

Suy nghĩ cuối cùng

Hàm type[] là một hàm tích hợp có giá trị của Python mà bạn có thể lấy kiểu dữ liệu của một biến

Nếu bạn là người mới bắt đầu, bạn nên tránh rắc rối với việc nhồi nhét các loại dữ liệu bằng cách sử dụng hàm type[] để in loại biến ra bảng điều khiển. Điều này sẽ giúp bạn tiết kiệm thời gian

Bạn cũng có thể sử dụng hàm type[] để gỡ lỗi vì trong Python, các biến không được khai báo với kiểu dữ liệu. Vậy là hàm type[] đã được tích hợp sẵn trong ngôn ngữ để bạn kiểm tra kiểu dữ liệu của các biến

Cảm ơn bạn đã đọc

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

Kolade Chris

Nhà phát triển web và nhà văn kỹ thuật tập trung vào các công nghệ giao diện người dùng

Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Khi làm việc với rất nhiều loại dữ liệu, nhà phát triển thường cần kiểm tra loại dữ liệu của một biến để tránh mọi lỗi và ngoại lệ không cần thiết.

Tại sao việc kiểm tra kiểu dữ liệu lại quan trọng trong Python?

Nếu bạn đang gỡ lỗi một chương trình, bạn có thể muốn biết một biến là một chuỗi hay một số nguyên, và đó là lý do tại sao bạn cần tìm kiểu dữ liệu của nó

Mọi giá trị trong Python đều có một kiểu dữ liệu. Mọi thứ đều là một đối tượng trong lập trình Python;

Python isinstance[] là một phương thức tích hợp được sử dụng để kiểm tra bất kỳ đối tượng nào vì nó tính đến các lớp con. Một trong những cách tốt nhất để lấy loại biến là sử dụng hàm type[].

Loại kiểm tra so với. loại đúc

Sự khác biệt chính giữa kiểm tra kiểu và ép kiểu là bạn chuyển đổi một biến thành kiểu dữ liệu khác trong kiểu ép kiểu. Chúng tôi chỉ lấy hoặc in kiểu dữ liệu của biến trong kiểm tra kiểu

Không có chuyển đổi loại dữ liệu trong Kiểm tra loại, nhưng nó có trong Truyền kiểu

Khi nào sử dụng kiểm tra loại?

Khi bạn muốn khớp với những gì được mong đợi trong ngữ cảnh sử dụng của nó, kiểm tra Loại được thực hiện bởi trình kiểm tra loại để xác minh loại cấu trúc

Trong các ngôn ngữ được gõ mạnh, bạn sẽ gặp lỗi nếu kiểu dữ liệu không khớp với biểu thức. Không quan trọng nếu loại được chỉ định tại thời điểm biên dịch [kiểu tĩnh] hoặc thời gian chạy [kiểu động]

Hãy cùng tìm hiểu cách kiểm tra kiểu của một biến trong Python và cách triển khai trình kiểm tra kiểu

Cách kiểm tra kiểu dữ liệu trong Python

Để kiểm tra kiểu dữ liệu của một biến trong Python, hãy sử dụng phương thức type[]. Loại [] là một phương thức Python tích hợp trả về loại lớp của đối số [đối tượng] được truyền dưới dạng tham số. Bạn đặt biến bên trong hàm type[] và Python trả về kiểu dữ liệu

Hàm type[] chủ yếu được sử dụng cho mục đích gỡ lỗi. Với một đối số, hàm type[] của Python trả về kiểu của một đối tượng. Thật không may, Python không có cùng kiểu dữ liệu như C/C++

Bạn có thể sử dụng thuộc tính __name__ để lấy tên của một đối tượng. Tuy nhiên, trong Python, các tên bắt đầu bằng dấu gạch dưới về mặt ngữ nghĩa không phải là một phần của API công khai. Vì vậy, cách tốt nhất là các nhà phát triển nên tránh sử dụng chúng

cú pháp

type[object]

Thông số

Đối số đối tượng là bắt buộc;

Thí dụ

# app.py

str = 'AppDividend'
print[type[str]]

int = 123
print[type[int]]

float = 21.19
print[type[float]]

negative = -19
print[type[negative]]

dictionary = {'blog':'AppDividend'}
print[type[dictionary]]

list = [1, 2, 3]
print[type[list]]

tuple = [19, 21, 46]
print[type[tuple]]

Xem đầu ra sau

Chi tiết triển khai của int và float

Trong Python 2, một số nguyên thường là một số nguyên có dấu bằng với chiều rộng từ của triển khai [giới hạn bởi hệ thống]

Nó thường được thực hiện như là. Khi các số nguyên lớn hơn, chúng tôi thường chuyển đổi chúng thành độ dài Python [với độ chính xác không giới hạn, đừng nhầm lẫn với độ dài C]

Ví dụ: trong Python 2 32 bit, chúng tôi suy luận rằng int là số nguyên 32 bit có dấu

Trong Python 3, số nguyên cũ biến mất và chúng tôi sử dụng [của Python] long as int, có

Không sử dụng __class__, một API không công khai về mặt ngữ nghĩa, để lấy loại biến. Thay vào đó, hãy sử dụng hàm type[] tích hợp sẵn

Và đừng quá lo lắng với những thông tin cần thiết về Python. Bản thân tôi không phải thường xuyên giải quyết các vấn đề xung quanh vấn đề này

Có thể bạn cũng sẽ không, và nếu có, bạn nên biết đủ để không nhìn vào câu trả lời này để làm gì

Tôi khuyên bạn nên sử dụng trình thông dịch tương tác IPython khi xử lý những câu hỏi này. Nó cho phép bạn nhập biến_. bạn? .

In [9]: var = 1921

In [10]: var?
Type:       int
Base Class: 
String Form:    1921
Namespace:  Interactive
Docstring:

Không sử dụng __class__ để kiểm tra kiểu dữ liệu trong Python

Trong Python, các tên bắt đầu bằng dấu gạch dưới về mặt ngữ nghĩa không phải là một phần của API công khai và đó là cách tốt nhất để người dùng tránh sử dụng chúng. [Trừ trường hợp bắt buộc. ]

Vì loại cung cấp cho chúng ta một lớp đối tượng, chúng ta nên tránh nhận trực tiếp __class__

class Foo[object]:
    def foo[self]:
        print[self.__class__]

f = Foo[]
f.foo[]

đầu ra

Hãy  sử dụng cú pháp hàm type[], cách này tốt hơn nhiều.

________số 8_______

đầu ra

Không sử dụng __class__, một API không công khai về mặt ngữ nghĩa, để lấy loại biến. Sử dụng loại thay thế

Và đừng lo lắng quá nhiều về các chi tiết triển khai trong Python. Bản thân tôi chưa phải giải quyết các vấn đề xung quanh vấn đề này. Bạn có thể cũng sẽ không, và nếu bạn thực sự làm như vậy, bạn nên biết đủ để không tìm kiếm câu trả lời này để làm gì

trình thông dịch IPython

Sử dụng trình thông dịch tương tác IPython khi xử lý các câu hỏi như kiểm tra kiểu trong Python. Ví dụ, nó cho phép bạn gõ tên_biến. Và nó sẽ trả về một danh sách đầy đủ thông tin về đối tượng, bao gồm một loại và chuỗi tài liệu cho loại

In [9]: var = 11

In [10]: var?
Type:       int
Base Class: 
String Form:    11
Namespace:  Interactive
Docstring:
    int[x[, base]] -> integer

Chuyển đổi một chuỗi thành một số nguyên, nếu có thể. Đối số dấu phẩy động sẽ bị cắt bớt về 0 [điều này không bao gồm biểu diễn chuỗi của số dấu phẩy động. ] Khi chuyển đổi chuỗi, hãy sử dụng cơ sở tùy chọn

Làm cách nào để tìm lớp trong Python?

Sử dụng hàm type[] và __name__ để lấy loại hoặc lớp của Đối tượng/Trường hợp .

__ lớp __ trong Python là gì?

__class__ là một thuộc tính trên đối tượng đề cập đến lớp mà đối tượng được tạo ra từ đó . một. __lớp__ # Đầu ra.

Làm cách nào để kiểm tra lớp con Python?

Python issubclass[] là hàm tích hợp dùng để kiểm tra xem một lớp có phải là lớp con của lớp khác hay không. Hàm này trả về True nếu lớp đã cho là lớp con của lớp đã cho, ngược lại nó trả về Sai. Thông số. Mục tiêu. lớp cần kiểm tra.

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

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

Chủ Đề