Kiểu () trong Python là gì?
Python có một hàm tích hợp được gọi là type () giúp bạn tìm loại lớp của biến được cung cấp làm đầu vào. Ví dụ: nếu đầu vào là một chuỗi, bạn sẽ nhận được đầu ra là
Sử dụng lệnh type (), bạn có thể truyền một đối số và giá trị trả về sẽ là kiểu lớp của đối số đã cho, ví dụ: type (object).
Cũng có thể truyền ba đối số cho kiểu (), tức là kiểu (tên, các căn cứ, dict), trong trường hợp đó, nó sẽ trả về cho bạn một đối tượng kiểu mới.
Trong hướng dẫn này, bạn sẽ học:
- Kiểu () trong Python là gì?
- Cú pháp cho kiểu ():
- Ví dụ về kiểu ()
- Ví dụ: Sử dụng kiểu () cho đối tượng lớp.
- Ví dụ: Sử dụng tên, căn cứ và dict trong kiểu ()
- Isinstance () trong Python là gì?
- Cú pháp isinstance ():
- Ví dụ về isinstance ()
- Sự khác biệt giữa type () và isinstance () trong Python
Cú pháp cho kiểu ():
type () có thể được sử dụng theo hai cách như hình dưới đây:
type(object)type(namr, bases, dict)
Tham số : loại (đối tượng)
- object: Đây là một tham số bắt buộc. Nếu đây chỉ là tham số được truyền cho type (), thì nó sẽ trả về cho bạn kiểu của tham số.
Tham số : loại (tên, căn cứ, dict)
- name: tên của lớp.
- căn cứ: (tùy chọn). Đây là một tham số tùy chọn và nó là lớp cơ sở
- dict: (tùy chọn). Đây là một tham số tùy chọn và nó là một không gian tên có định nghĩa của lớp.
Giá trị trả lại:
Nếu đối tượng là tham số duy nhất được truyền cho kiểu () thì nó sẽ trả về cho bạn kiểu của đối tượng.
Nếu các tham số được truyền cho kiểu là một kiểu (đối tượng, các cơ sở, dict), trong trường hợp đó, nó sẽ trả về một kiểu đối tượng mới.
Ví dụ về kiểu ()
Trong ví dụ này, chúng ta có một giá trị chuỗi, số, giá trị float, một số phức, danh sách, tuple, dict và set. Chúng tôi sẽ sử dụng các biến có kiểu để xem kết quả đầu ra cho từng biến trong số chúng.
str_list = "Welcome to Guru99"age = 50pi = 3.14c_num = 3j+10my_list = ["A", "B", "C", "D"]my_tuple = ("A", "B", "C", "D")my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}my_set = {'A', 'B', 'C', 'D'}print("The type is : ",type(str_list))print("The type is : ",type(age))print("The type is : ",type(pi))print("The type is : ",type(c_num))print("The type is : ",type(my_list))print("The type is : ",type(my_tuple))print("The type is : ",type(my_dict))print("The type is : ",type(my_set))
Đầu ra:
The type is :The type is : The type is : The type is : The type is : The type is : The type is : The type is :
Ví dụ: Sử dụng kiểu () cho đối tượng lớp.
Khi bạn kiểm tra đối tượng được tạo từ một lớp bằng cách sử dụng kiểu (), nó sẽ trả về kiểu lớp cùng với tên của lớp. Trong ví dụ này, chúng ta sẽ tạo một lớp và kiểm tra kiểu đối tượng được tạo từ bài kiểm tra lớp.
class test:s = 'testing't = test()print(type(t))
Đầu ra:
Ví dụ: Sử dụng tên, căn cứ và dict trong kiểu ()
Kiểu cũng có thể được gọi bằng cú pháp: type (name, base, dict).
Ba tham số được truyền cho kiểu () tức là tên, các cơ sở và dict là các thành phần tạo nên một định nghĩa lớp. Tên đại diện cho tên lớp, các cơ sở là lớp cơ sở và dict là từ điển của các thuộc tính lớp cơ sở.
Trong ví dụ này, chúng ta sẽ sử dụng cả ba tham số tức là name, base và dict trong kiểu ().
Thí dụ:
class MyClass:x = 'Hello World'y = 50t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50))print(type(t1))print(vars(t1))
Đầu ra:
{'x': 'Hello World', 'y': 50, '__module__': '__main__', '__doc__': None}
Khi bạn chuyển cả ba đối số cho kiểu (), nó sẽ giúp bạn khởi tạo lớp mới với các thuộc tính của lớp cơ sở.
Isinstance () trong Python là gì?
Python isinstance là một phần của các hàm tích hợp sẵn của python. Python isinstance () nhận hai đối số và nó trả về true nếu đối số đầu tiên là một thể hiện của classinfo được cung cấp làm đối số thứ hai.
Cú pháp isinstance ()
isinstance(object, classtype)
Thông số
- object: Một đối tượng mà bạn đang so sánh với phiên bản classtype. Nó sẽ trả về true nếu kiểu so khớp ngược lại là false.
- loại lớp: Một kiểu hoặc một lớp hoặc nhiều kiểu và / hoặc các lớp.
Giá trị trả lại:
Nó sẽ trả về true nếu đối tượng là một thể hiện của classtype và false nếu không.
Ví dụ về isinstance ()
Trong phần này, chúng ta sẽ nghiên cứu các ví dụ khác nhau để tìm hiểu isinstance ()
Ví dụ: isinstance () Kiểm tra số nguyên
Đoạn mã dưới đây so sánh giá trị số nguyên 51 với kiểu int. Nó sẽ trả về true, kiểu 51 khớp với int, ngược lại là false.
age = isinstance(51,int)print("age is an integer:", age)
Đầu ra:
age is an integer: True
Ví dụ: isinstance () Kiểm tra phao
Trong ví dụ này, chúng ta sẽ so sánh giá trị float với kiểu float, tức là giá trị 3,14 sẽ được so sánh với kiểu float.
pi = isinstance(3.14,float)print("pi is a float:", pi)
Đầu ra:
pi is a float: True
Ví dụ: isinstance () Kiểm tra chuỗi
message = isinstance("Hello World",str)print("message is a string:", message)
Đầu ra:
message is a string: True
Ví dụ: isinstance () Tuple check
Mã kiểm tra một tuple (1,2,3,4,5) với loại tuple. Nó sẽ trả về true nếu đầu vào được đưa ra thuộc loại tuple và false nếu không.
my_tuple = isinstance((1,2,3,4,5),tuple)print("my_tuple is a tuple:", my_tuple)
Đầu ra:
my_tuple is a tuple: True
Ví dụ: isinstance () Đặt séc
Mã kiểm tra một tập hợp ({1,2,3,4,5}, với loại đặt. Nó sẽ trả về true nếu đầu vào được cung cấp thuộc loại set và false nếu không.
my_set = isinstance({1,2,3,4,5},set)print("my_set is a set:", my_set)
Đầu ra:
my_set is a set: True
Ví dụ: kiểm tra danh sách isinstance ()
Mã kiểm tra danh sách [1,2,3,4,5], với danh sách loại. Nó sẽ trả về true nếu đầu vào được cung cấp thuộc loại danh sách và false nếu không.
my_list = isinstance([1,2,3,4,5],list)print("my_list is a list:", my_list)
Đầu ra:
my_list is a list: True
Ví dụ: isinstance () dict kiểm tra
Mã kiểm tra một dict ({"A": "a", "B": "b", "C": "c", "D": "d"}, với loại dict. Nó sẽ trả về true nếu đầu vào được đưa ra là kiểu dict và sai nếu không.
my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict)print("my_dict is a dict:", my_dict)
Đầu ra:
my_dict is a dict: True
Ví dụ: kiểm tra isinstance () trên một lớp
Đoạn mã hiển thị kiểm tra loại của lớp với isinstance (). Đối tượng của lớp được so sánh với tên của lớp bên trong isinstance (). Nó trả về true nếu đối tượng thuộc về lớp và false nếu không.
class MyClass:_message = "Hello World"_class = MyClass()print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))
Đầu ra:
_class is a instance of MyClass() True
Sự khác biệt giữa type () và isinstance () trong Python
kiểu() | isinstance () |
Python có một hàm tích hợp được gọi là type () giúp bạn tìm loại lớp của biến được cung cấp làm đầu vào. | Python có một hàm tích hợp được gọi là isinstance () để so sánh giá trị với kiểu đã cho. Nếu giá trị và kiểu đã cho khớp, nó sẽ trả về true, ngược lại là false. |
Giá trị trả về là một đối tượng kiểu | Giá trị trả về là Boolean tức là true hoặc false. |
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(type(A()) == A)print(type(B()) == A)Đầu ra: TrueFalseTrong trường hợp loại, kiểm tra lớp con trả về sai. |
class A:my_listA = [1,2,3]class B(A):my_listB = [1,2,3]print(isinstance(A(), A))print(isinstance(B(), A))Đầu ra: TrueTrueisinstance () cho một giá trị trung thực khi được kiểm tra với một lớp con. |
Tóm lược:
- Python có một hàm tích hợp được gọi là type () giúp bạn tìm loại lớp của biến được cung cấp làm đầu vào. Ví dụ: nếu đầu vào là một chuỗi, bạn sẽ nhận được đầu ra là
, đối với danh sách, nó sẽ là , v.v. - Đối với kiểu (), bạn có thể truyền một đối số và giá trị trả về sẽ là kiểu lớp của đối số đã cho, ví dụ: kiểu (đối tượng).
- Cũng có thể truyền ba đối số cho kiểu (), tức là kiểu (tên, các căn cứ, dict), trong trường hợp đó, nó sẽ trả về cho bạn một đối tượng kiểu mới.
- Python có một hàm tích hợp được gọi là instance () để so sánh giá trị với kiểu đã cho. Giá trị và kiểu đã cho phù hợp với nó sẽ trả về true, ngược lại là false. Sử dụng isinstance (), bạn có thể kiểm tra chuỗi, float, int, list, tuple, dict, set, class, v.v.
- Sử dụng phương thức isinstance (), bạn có thể kiểm tra chuỗi, float, int, list, tuple, dict, set, class, v.v.