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

Trong hướng dẫn này, bạn sẽ tìm hiểu về các kiểu dữ liệu khác nhau mà bạn có thể sử dụng trong Python.

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

Mọi giá trị trong Python đều có kiểu dữ liệu. Vì mọi thứ đều là một đối tượng trong lập trình Python, các kiểu dữ liệu thực sự là các lớp và các biến là thể hiện (đối tượng) của các lớp này.

Có nhiều kiểu dữ liệu khác nhau trong Python. Một số loại quan trọng được liệt kê dưới đây.

Số Python

Số nguyên, số dấu phẩy động và số phức thuộc danh mục số trong Python. Chúng được định nghĩa là int, floatcomplexlớp trong Python.

Chúng ta có thể sử dụng type()hàm để biết một biến hoặc một giá trị thuộc về lớp nào. Tương tự, isinstance()hàm được sử dụng để kiểm tra xem một đối tượng có thuộc một lớp cụ thể hay không.

 a = 5 print(a, "is of type", type(a)) a = 2.0 print(a, "is of type", type(a)) a = 1+2j print(a, "is complex number?", isinstance(1+2j,complex)) 

Đầu ra

5 là loại 2.0 là loại (1 + 2j) là số phức? Thật

Số nguyên có thể có độ dài bất kỳ, nó chỉ bị giới hạn bởi bộ nhớ khả dụng.

Số dấu phẩy động chính xác đến 15 chữ số thập phân. Số nguyên và dấu phẩy động được phân tách bằng dấu thập phân. 1 là số nguyên, 1.0 là số dấu phẩy động.

Số phức được viết dưới dạng, x + yjtrong đó x là phần thực và y là phần ảo. Đây là một số ví dụ.

 >>> a = 1234567890123456789 >>> a 1234567890123456789 >>> b = 0.1234567890123456789 >>> b 0.12345678901234568 >>> c = 1+2j >>> c (1+2j) 

Lưu ý rằng floatbiến b bị cắt ngắn.

Danh sách Python

Danh sách là một chuỗi các mục có thứ tự. Nó là một trong những kiểu dữ liệu được sử dụng nhiều nhất trong Python và rất linh hoạt. Tất cả các mục trong danh sách không cần phải cùng loại.

Khai báo một danh sách khá đơn giản. Các mục được phân tách bằng dấu phẩy được đặt trong dấu ngoặc ( ).

 a = (1, 2.2, 'python') 

Chúng ta có thể sử dụng toán tử cắt ( )để trích xuất một mục hoặc một loạt các mục từ danh sách. Chỉ mục bắt đầu từ 0 trong Python.

 a = (5,10,15,20,25,30,35,40) # a(2) = 15 print("a(2) = ", a(2)) # a(0:3) = (5, 10, 15) print("a(0:3) = ", a(0:3)) # a(5:) = (30, 35, 40) print("a(5:) = ", a(5:)) 

Đầu ra

 a (2) = 15 a (0: 3) = (5, 10, 15) a (5 :) = (30, 35, 40) 

Danh sách có thể thay đổi, nghĩa là, giá trị của các phần tử của danh sách có thể được thay đổi.

 a = (1, 2, 3) a(2) = 4 print(a) 

Đầu ra

 (1, 2, 4) 

Python Tuple

Tuple là một chuỗi các mục có thứ tự giống như một danh sách. Sự khác biệt duy nhất là bộ giá trị là bất biến. Tuples sau khi được tạo không thể sửa đổi

Tuples được sử dụng để bảo vệ dữ liệu ghi và thường nhanh hơn danh sách vì chúng không thể thay đổi động.

Nó được định nghĩa trong dấu ngoặc đơn (), nơi các mục được phân tách bằng dấu phẩy.

 t = (5,'program', 1+3j) 

Chúng ta có thể sử dụng toán tử cắt ()để trích xuất các mục nhưng chúng ta không thể thay đổi giá trị của nó.

 t = (5,'program', 1+3j) # t(1) = 'program' print("t(1) = ", t(1)) # t(0:3) = (5, 'program', (1+3j)) print("t(0:3) = ", t(0:3)) # Generates error # Tuples are immutable t(0) = 10 

Đầu ra

 t (1) = program t (0: 3) = (5, 'program', (1 + 3j)) Traceback (cuộc gọi gần đây nhất): Tệp "test.py", dòng 11, trong t (0) = 10 TypeError: Đối tượng 'tuple' không hỗ trợ gán mục 

Chuỗi Python

Chuỗi là chuỗi các ký tự Unicode. Chúng ta có thể sử dụng dấu nháy đơn hoặc dấu nháy kép để biểu diễn chuỗi. Chuỗi nhiều dòng có thể được biểu thị bằng cách sử dụng dấu ngoặc kép '''hoặc """.

 s = "This is a string" print(s) s = '''A multiline string''' print(s) 

Đầu ra

 Đây là một chuỗi Một chuỗi nhiều dòng 

Cũng giống như một danh sách và bộ tuple, toán tử cắt ( )có thể được sử dụng với các chuỗi. Tuy nhiên, các chuỗi là bất biến.

 s = 'Hello world!' # s(4) = 'o' print("s(4) = ", s(4)) # s(6:11) = 'world' print("s(6:11) = ", s(6:11)) # Generates error # Strings are immutable in Python s(5) ='d' 

Đầu ra

 s (4) = os (6:11) = world Traceback (lần gọi gần đây nhất): Tệp "", dòng 11, trong TypeError: đối tượng 'str' không hỗ trợ gán mục 

Bộ Python

Bộ là một bộ sưu tập không có thứ tự của các mặt hàng duy nhất. Tập hợp được xác định bởi các giá trị được phân tách bằng dấu phẩy bên trong dấu ngoặc nhọn ( ). Các mặt hàng trong một bộ không được đặt hàng.

 a = (5,2,3,1,4) # printing set variable print("a = ", a) # data type of variable a print(type(a)) 

Đầu ra

 a = (1, 2, 3, 4, 5) 

Chúng ta có thể thực hiện các phép toán thiết lập như liên hiệp, giao nhau trên hai tập hợp. Bộ có giá trị duy nhất. Họ loại bỏ các bản sao.

 a = (1,2,2,3,3,3) print(a) 

Đầu ra

 (1, 2, 3) 

Vì tập hợp là tập hợp không có thứ tự, việc lập chỉ mục không có ý nghĩa. Do đó, toán tử cắt ()không hoạt động.

 >>> a = (1,2,3) >>> a(1) Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in TypeError: 'set' object does not support indexing 

Từ điển Python

Từ điển là một tập hợp các cặp khóa-giá trị không có thứ tự.

Nó thường được sử dụng khi chúng ta có một lượng lớn dữ liệu. Từ điển được tối ưu hóa để truy xuất dữ liệu. Chúng ta phải biết khóa để lấy giá trị.

Trong Python, từ điển được định nghĩa trong dấu ngoặc nhọn ()với mỗi mục là một cặp trong biểu mẫu key:value. Khóa và giá trị có thể thuộc bất kỳ loại nào.

 >>> d = (1:'value','key':2) >>> type(d) 

Chúng tôi sử dụng khóa để truy xuất giá trị tương ứng. Nhưng không phải ngược lại.

 d = (1:'value','key':2) print(type(d)) print("d(1) = ", d(1)); print("d('key') = ", d('key')); # Generates error print("d(2) = ", d(2)); 

Đầu ra

 d (1) = value d ('key') = 2 Traceback (lần gọi gần đây nhất): Tệp "", dòng 9, trong KeyError: 2 

Chuyển đổi giữa các loại dữ liệu

Chúng tôi có thể chuyển đổi giữa các loại dữ liệu khác nhau bằng cách sử dụng chức năng chuyển đổi loại hình khác nhau như int(), float(), str()vv

 >>> float(5) 5.0 

Chuyển đổi từ float sang int sẽ cắt bớt giá trị (làm cho nó gần bằng 0).

 >>> int(10.6) 10 >>> int(-10.6) -10 

Chuyển đổi sang và từ chuỗi phải chứa các giá trị tương thích.

 >>> float('2.5') 2.5 >>> str(25) '25' >>> int('1p') Traceback (most recent call last): File "", line 301, in runcode File "", line 1, in ValueError: invalid literal for int() with base 10: '1p' 

Chúng tôi thậm chí có thể chuyển đổi chuỗi này sang chuỗi khác.

 >>> set((1,2,3)) (1, 2, 3) >>> tuple((5,6,7)) (5, 6, 7) >>> list('hello') ('h', 'e', 'l', 'l', 'o') 

Để chuyển đổi sang từ điển, mỗi phần tử phải là một cặp:

 >>> dict(((1,2),(3,4))) (1: 2, 3: 4) >>> dict(((3,26),(4,44))) (3: 26, 4: 44) 

thú vị bài viết...