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