Python - Data Types

Python Data Types

Python data types thực sự là các lớp, và các biến đã được định nghĩa là các thể hiện hoặc đối tượng của chúng. Vì Python là ngôn ngữ kiểu động, kiểu dữ liệu của một biến được xác định tại thời điểm thực thi dựa trên giá trị được gán.

Nói chung, các kiểu dữ liệu được sử dụng để xác định loại của một biến. Nó đại diện cho loại dữ liệu mà chúng ta sẽ lưu trữ trong một biến và xác định các phép toán có thể thực hiện trên nó.

Mỗi ngôn ngữ lập trình có phân loại riêng cho các mục dữ liệu. Với những kiểu dữ liệu này, chúng ta có thể lưu trữ các loại giá trị dữ liệu khác nhau.

Types of Data Types in Python

Python hỗ trợ các kiểu dữ liệu tích hợp sẵn sau đây −

  • Numeric Data Types
    • int
    • flot
    • complex
  • String Data Types
  • Sequence Data Types
    • list
    • tuple
    • range
  • Binary Data Types
    • bytes
    • bytearray
    • memoryview
  • Dictionary Data Type
  • Set Data Type
    • set
    • frozenset
  • Boolean Data Type
  • None Type
data_types

1. Python Numeric Data Types

Các kiểu dữ liệu số trong Python lưu trữ các giá trị số. Các đối tượng số được tạo ra khi bạn gán một giá trị cho chúng. Ví dụ −

var1 = 1       # int data type
var2 = True    # bool data type
var3 = 10.023  # float data type
var4 = 10+3j   # complex data type

Python hỗ trợ bốn loại số khác nhau và mỗi loại trong số đó đều có các lớp tích hợp sẵn trong thư viện Python, được gọi là int, bool, float complex tương ứng −

  • int (signed integers)
  • float (floating point real values)
  • complex (complex numbers)

Một số phức được tạo thành từ hai phần - real imaginary . Chúng được phân tách bởi các dấu '+' hoặc '-' . Phần ảo được thêm hậu tố 'j' là số ảo. Căn bậc hai của -1 ($\sqrt{-1}$) được định nghĩa là số ảo. Số phức trong Python được biểu diễn dưới dạng x+yj, trong đó x là phần thực, và y là phần ảo. Vì vậy, 5+6j là một số phức.

>>> type(5+6j)
<class 'complex'>

Dưới đây là một số ví dụ về số −

int float complex
10 0.0 3.14j
0O777 15.20 45.j
-786 -21.9 9.322e-36j
080 32.3+e18 .876j
0x17 -90. -.6545+0J
-0x260 -32.54e100 3e+26J
0x69 70.2-E12 4.53e-7j

Example of Numeric Data Types

Dưới đây là một ví dụ để minh họa cách sử dụng số nguyên (Integer), số thực (Float) và số phức (Complex):

# integer variable.
a=100
print("The type of variable having value", a, " is ", type(a))

# float variable.
c=20.345
print("The type of variable having value", c, " is ", type(c))

# complex variable.
d=10+3j
print("The type of variable having value", d, " is ", type(d))

2. Python String Data Type

Python string là một chuỗi gồm một hoặc nhiều ký tự Unicode, được bao quanh bởi dấu nháy đơn, nháy kép hoặc nháy ba (còn được gọi là dấu nháy ngược). Chuỗi trong Python là bất biến, có nghĩa là khi bạn thực hiện một thao tác trên chuỗi, bạn luôn tạo ra một đối tượng chuỗi mới cùng loại, thay vì thay đổi một chuỗi đã tồn tại.

Miễn là cùng một chuỗi ký tự được bao quanh, thì dấu nháy đơn, nháy kép hoặc nháy ba đều không quan trọng. Do đó, các biểu diễn chuỗi sau đây là tương đương.

>>> 'TutorialsPoint'
'TutorialsPoint'
>>> "TutorialsPoint"
'TutorialsPoint'
>>> '''TutorialsPoint'''
'TutorialsPoint'

Một chuỗi trong Python là một đối tượng của lớp str . Nó có thể được xác minh bằng hàm type() .

>>> type("Welcome To TutorialsPoint")
<class 'str'>

Một chuỗi là một kiểu dữ liệu phi số. Rõ ràng, chúng ta không thể thực hiện các phép toán số học trên nó. Tuy nhiên, các phép toán như slicing concatenation có thể được thực hiện. Lớp str của Python định nghĩa một số phương thức hữu ích cho việc xử lý chuỗi. Các tập con của chuỗi có thể được lấy bằng cách sử dụng toán tử cắt ([ ] và [:] ) với chỉ số bắt đầu từ 0 ở đầu chuỗi và làm việc từ -1 ở cuối.

Dấu cộng (+) là toán tử nối chuỗi và dấu sao (*) là toán tử lặp trong Python.

Example of String Data Type

str = 'Hello World!'

print (str)          # Prints complete string
print (str[0])       # Prints first character of the string
print (str[2:5])     # Prints characters starting from 3rd to 5th
print (str[2:])      # Prints string starting from 3rd character
print (str * 2)      # Prints string two times
print (str + "TEST") # Prints concatenated string

Điều này sẽ tạo ra kết quả sau −

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

3. Python Sequence Data Types

Dãy (Sequence) là một kiểu dữ liệu tập hợp. Nó là một tập hợp có thứ tự các mục. Các mục trong dãy có chỉ số vị trí bắt đầu từ 0. Nó tương tự về mặt khái niệm với một mảng trong C hoặc C++. Có ba kiểu dữ liệu dãy được định nghĩa trong Python như sau.

  • List Data Type
  • Tuple Data Type
  • Range Data Type

Các chuỗi trong Python là có giới hạn và có thể lặp lại - Mỗi khi chúng ta nói về một đối tượng có thể lặp lại trong Python, điều đó có nghĩa là một kiểu dữ liệu chuỗi (ví dụ, một danh sách).

(a) Python List Data Type

Python Lists là các kiểu dữ liệu phức tạp đa năng nhất. Một danh sách Python chứa các mục được phân tách bằng dấu phẩy và được bao quanh bởi dấu ngoặc vuông ([]). Đến một mức độ nào đó, danh sách Python tương tự như mảng trong C. Một sự khác biệt giữa chúng là tất cả các mục thuộc về một danh sách Python có thể có kiểu dữ liệu khác nhau, trong khi mảng C chỉ có thể lưu trữ các phần tử liên quan đến một kiểu dữ liệu cụ thể.

>>> [2023, "Python", 3.11, 5+6j, 1.23E-4]

Một danh sách trong Python là một đối tượng của lớp list . Chúng ta có thể kiểm tra điều này bằng hàm type().

>>> type([2023, "Python", 3.11, 5+6j, 1.23E-4])
<class 'list'>

Như đã đề cập, một mục trong danh sách có thể thuộc bất kỳ loại dữ liệu nào. Điều này có nghĩa là một đối tượng danh sách cũng có thể là một mục trong danh sách khác. Trong trường hợp đó, nó trở thành một danh sách lồng nhau.

>>> [['One', 'Two', 'Three'], [1,2,3], [1.0, 2.0, 3.0]]

Một danh sách có thể chứa các mục là số đơn giản, chuỗi, tuple, từ điển, tập hợp hoặc đối tượng của lớp do người dùng định nghĩa.

Các giá trị được lưu trữ trong một danh sách Python có thể được truy cập bằng cách sử dụng toán tử cắt ( [ ] và [:] ) với chỉ mục bắt đầu từ 0 ở đầu danh sách và tiến đến -1 ở cuối. Dấu cộng (+) là toán tử nối danh sách, và dấu hoa thị (*) là toán tử lặp lại.

Example of List Data Type

list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print (list)            # Prints complete list
print (list[0])         # Prints first element of the list
print (list[1:3])       # Prints elements starting from 2nd till 3rd 
print (list[2:])        # Prints elements starting from 3rd element
print (tinylist * 2)    # Prints list two times
print (list + tinylist) # Prints concatenated lists

Điều này tạo ra kết quả sau −

['abcd', 786, 2.23, 'john', 70.2]
abcd
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.2, 123, 'john']

(b) Python Tuple Data Type

Python tuple là một kiểu dữ liệu chuỗi khác tương tự như danh sách. Một tuple trong Python bao gồm một số giá trị được phân tách bằng dấu phẩy. Tuy nhiên, khác với danh sách, tuple được bao quanh bởi dấu ngoặc đơn (...).

Một tuple cũng là một chuỗi, do đó mỗi mục trong tuple có một chỉ số tham chiếu đến vị trí của nó trong bộ sưu tập. Chỉ số bắt đầu từ 0.

>>> (2023, "Python", 3.11, 5+6j, 1.23E-4)

Trong Python, một tuple là một đối tượng của lớp tuple . Chúng ta có thể kiểm tra điều này bằng hàm type().

>>> type((2023, "Python", 3.11, 5+6j, 1.23E-4))
<class 'tuple'>

Giống như trong trường hợp của một danh sách, một phần tử trong tuple cũng có thể là một danh sách, một tuple khác hoặc một đối tượng của bất kỳ lớp Python nào khác.

>>> (['One', 'Two', 'Three'], 1,2.0,3, (1.0, 2.0, 3.0))

Để tạo một tuple, việc sử dụng dấu ngoặc đơn là tùy chọn. Các mục dữ liệu được phân tách bằng dấu phẩy mà không có ký hiệu bao quanh nào sẽ được coi là một tuple theo mặc định.

>>> 2023, "Python", 3.11, 5+6j, 1.23E-4
(2023, 'Python', 3.11, (5+6j), 0.000123)

Example of Tuple data Type

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
tinytuple = (123, 'john')

print (tuple)               # Prints the complete tuple
print (tuple[0])            # Prints first element of the tuple
print (tuple[1:3])          # Prints elements of the tuple starting from 2nd till 3rd 
print (tuple[2:])           # Prints elements of the tuple starting from 3rd element
print (tinytuple * 2)       # Prints the contents of the tuple twice
print (tuple + tinytuple)   # Prints concatenated tuples

Điều này tạo ra kết quả sau −

('abcd', 786, 2.23, 'john', 70.2)
abcd
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.2, 123, 'john')

Sự khác biệt chính giữa danh sách và tuple là: Danh sách được bao quanh bởi dấu ngoặc vuông ( [ ] ) và các phần tử cũng như kích thước của chúng có thể được thay đổi, tức là danh sách là có thể thay đổi (mutable), trong khi tuple được bao quanh bởi dấu ngoặc đơn ( ( ) ) và không thể được cập nhật (immutable). Tuple có thể được coi là read-only danh sách.

Mã sau đây là không hợp lệ với tuple, vì chúng ta đã cố gắng cập nhật một tuple, điều này là không cho phép. Trường hợp tương tự cũng có thể xảy ra với danh sách.

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
tuple[2] = 1000    # Invalid syntax with tuple
list[2] = 1000     # Valid syntax with list

(c) Python Range Data Type

Một dải số trong Python là một chuỗi số không thể thay đổi, thường được sử dụng để lặp qua một số lượng mục nhất định.

Nó được đại diện bởi lớp Range . Hàm khởi tạo của lớp này chấp nhận một chuỗi số bắt đầu từ 0 và tăng lên 1 cho đến khi đạt đến một số đã chỉ định. Dưới đây là cú pháp của hàm −

range(start, stop, step)

Dưới đây là mô tả về các tham số được sử dụng −

  • start : Số nguyên để chỉ định vị trí bắt đầu, (Nó là tùy chọn, Mặc định: 0)

  • stop : Số nguyên để chỉ định vị trí kết thúc (Điều này là bắt buộc)

  • step : Số nguyên để chỉ định gia số, (Nó là tùy chọn, Mặc định: 1)

Example of Range Data Type

Dưới đây là một chương trình sử dụng vòng lặp for để in các số từ 0 đến 4 −

for i in range(5):
  print(i)

Điều này tạo ra kết quả sau −

0
1
2
3
4

Bây giờ hãy chỉnh sửa chương trình trên để in ra các số bắt đầu từ 2 thay vì 0.

for i in range(2, 5):
  print(i)

Điều này tạo ra kết quả sau −

2
3
4

Một lần nữa, hãy chỉnh sửa chương trình để in ra các số bắt đầu từ 1 nhưng với bước tăng là 2 thay vì 1:

for i in range(1, 5, 2):
  print(i)

Điều này tạo ra kết quả sau −

1
3

4. Python Binary Data Types

Một kiểu dữ liệu nhị phân trong Python là cách để biểu diễn dữ liệu dưới dạng một chuỗi các chữ số nhị phân, tức là 0 và 1. Nó giống như một ngôn ngữ đặc biệt mà máy tính hiểu để lưu trữ và xử lý thông tin một cách hiệu quả.

Loại dữ liệu này thường được sử dụng khi xử lý các thứ như tệp, hình ảnh, hoặc bất cứ điều gì có thể được biểu diễn bằng chỉ hai giá trị có thể. Vì vậy, thay vì sử dụng các số hoặc chữ cái thông thường, các kiểu dữ liệu chuỗi nhị phân sử dụng sự kết hợp của 0 và 1 để biểu diễn thông tin.

Python cung cấp ba cách khác nhau để biểu diễn dữ liệu nhị phân. Chúng như sau −

  • bytes
  • bytearray
  • memoryview

Hãy cùng thảo luận về từng loại dữ liệu này một cách riêng biệt −

(a) Python Bytes Data Type

Kiểu dữ liệu byte trong Python đại diện cho một chuỗi các byte. Mỗi byte là một giá trị nguyên nằm trong khoảng từ 0 đến 255. Nó thường được sử dụng để lưu trữ dữ liệu nhị phân, chẳng hạn như hình ảnh, tệp tin hoặc gói mạng.

Chúng ta có thể tạo byte trong Python bằng cách sử dụng hàm tích hợp sẵn bytes() hoặc bằng cách thêm tiền tố cho một chuỗi số với b .

Ví dụ về kiểu dữ liệu Bytes

Trong ví dụ sau, chúng ta đang sử dụng hàm tích hợp sẵn bytes() để chỉ định rõ một chuỗi số đại diện cho giá trị ASCII −

# Using bytes() function to create bytes
b1 = bytes([65, 66, 67, 68, 69])  
print(b1)  

Kết quả thu được như sau −

b'ABCDE'

Ở đây, chúng ta đang sử dụng tiền tố "b" trước một chuỗi để tự động tạo một đối tượng bytes −

# Using prefix 'b' to create bytes
b2 = b'Hello'  
print(b2)  

Dưới đây là kết quả của đoạn mã trên −

b'Hello'

(b) Python Bytearray Data Type

Kiểu dữ liệu bytearray trong Python khá giống với kiểu dữ liệu bytes, nhưng có một điểm khác biệt chính: nó có thể thay đổi, có nghĩa là bạn có thể sửa đổi các giá trị được lưu trữ trong đó sau khi nó được tạo ra.

Bạn có thể tạo một bytearray bằng nhiều phương pháp khác nhau, bao gồm việc truyền một iterable các số nguyên đại diện cho giá trị byte, bằng cách mã hóa một chuỗi, hoặc bằng cách chuyển đổi một đối tượng bytes hoặc bytearray đã tồn tại. Để làm điều này, chúng ta sử dụng bytearray() function .

Example of Bytearray Data Type

Trong ví dụ dưới đây, chúng ta đang tạo một bytearray bằng cách truyền một iterable các số nguyên đại diện cho giá trị byte −

# Creating a bytearray from an iterable of integers
value = bytearray([72, 101, 108, 108, 111])  
print(value)  

Đầu ra thu được như được hiển thị bên dưới −

bytearray(b'Hello')

Bây giờ, chúng ta đang tạo một bytearray bằng cách mã hóa một chuỗi sử dụng mã hóa "UTF-8" −

# Creating a bytearray by encoding a string
val = bytearray("Hello", 'utf-8')  
print(val)  

Kết quả thu được như sau −

bytearray(b'Hello')

(c) Python Memoryview Data Type

Trong Python, memoryview là một đối tượng tích hợp cho phép xem xét bộ nhớ của đối tượng gốc, thường là các đối tượng hỗ trợ giao thức bộ đệm, chẳng hạn như mảng byte (bytearray) và bytes (bytes). Nó cho phép bạn truy cập dữ liệu cơ bản của đối tượng gốc mà không cần sao chép, cung cấp khả năng truy cập bộ nhớ hiệu quả cho các tập dữ liệu lớn.

Bạn có thể tạo một memoryview bằng cách sử dụng nhiều phương pháp khác nhau. Các phương pháp này bao gồm việc sử dụng hàm khởi tạo memoryview() , cắt các đối tượng bytes hoặc bytearray, trích xuất từ các đối tượng mảng, hoặc sử dụng các hàm tích hợp như open() khi đọc từ các tệp.

Example of Memoryview Data Type

Trong ví dụ đã cho, chúng ta đang tạo một đối tượng memoryview trực tiếp bằng cách truyền một đối tượng được hỗ trợ vào hàm khởi tạo memoryview(). Các đối tượng được hỗ trợ thường bao gồm mảng byte (bytearray), byte (bytes) và các đối tượng khác hỗ trợ giao thức bộ đệm (buffer protocol).

data = bytearray(b'Hello, world!')
view = memoryview(data)
print(view)

Dưới đây là kết quả của đoạn mã trên −

<memory at 0x00000186FFAA3580>

Nếu bạn có một đối tượng mảng, bạn có thể tạo một memoryview bằng cách sử dụng giao diện bộ đệm như trong ví dụ dưới đây −

import array
arr = array.array('i', [1, 2, 3, 4, 5])
view = memoryview(arr)
print(view)

Đầu ra thu được như được hiển thị bên dưới −

<memory at 0x0000017963CD3580>

Bạn cũng có thể tạo một memoryview bằng cách cắt một đối tượng bytes hoặc bytearray.

data = b'Hello, world!'
# Creating a view of the last part of the data
view = memoryview(data[7:])  
print(view)

Kết quả thu được như sau −

<memory at 0x00000200D9AA3580>

5. Python Dictionary Data Type

Python dictionaries là một loại bảng băm. Khóa của từ điển có thể là hầu hết mọi loại kiểu Python, nhưng thường là số hoặc chuỗi. Giá trị, ngược lại, có thể là bất kỳ đối tượng Python tùy ý nào.

Từ điển Python giống như các mảng liên kết hoặc băm được tìm thấy trong Perl và bao gồm các cặp key:value . Các cặp được phân tách bằng dấu phẩy và đặt bên trong dấu ngoặc nhọn {}. Để thiết lập ánh xạ giữa khóa và giá trị, ký hiệu dấu hai chấm ':' được đặt giữa hai giá trị.

>>> {1:'one', 2:'two', 3:'three'}

Trong Python, từ điển (dictionary) là một đối tượng của lớp tích hợp sẵn dict . Chúng ta có thể kiểm tra điều này bằng hàm type().

>>> type({1:'one', 2:'two', 3:'three'})
<class 'dict'>

Các từ điển được bao bởi dấu ngoặc nhọn ({ }) và giá trị có thể được gán và truy cập bằng cách sử dụng dấu ngoặc vuông ([]).

Example of Dictionary Data Type

dict = {}
dict['one'] = "This is one"
dict[2]     = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}


print (dict['one'])       # Prints value for 'one' key
print (dict[2])           # Prints value for 2 key
print (tinydict)          # Prints complete dictionary
print (tinydict.keys())   # Prints all the keys
print (tinydict.values()) # Prints all the values

Điều này tạo ra kết quả sau −

This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']

Từ điển (dictionary) trong Python không phải là một chuỗi (sequence). Nó là một tập hợp các mục, nhưng mỗi mục (cặp khóa: giá trị) không được xác định bởi chỉ số vị trí như trong chuỗi, danh sách hoặc tuple. Do đó, không thể thực hiện thao tác cắt (slicing) trên một từ điển. Từ điển là một đối tượng có thể thay đổi (mutable), vì vậy có thể thực hiện các hành động thêm, sửa đổi hoặc xóa với các chức năng tương ứng được định nghĩa trong lớp dict. Các thao tác này sẽ được giải thích trong một chương sau.

6. Python Set Data Type

Set là một triển khai trong Python của tập hợp như được định nghĩa trong Toán học. Một tập hợp trong Python là một tập hợp các đối tượng, nhưng không phải là một tập hợp được chỉ mục hoặc có thứ tự như chuỗi, danh sách hoặc tuple. Một đối tượng không thể xuất hiện nhiều hơn một lần trong một tập hợp, trong khi trong Danh sách và Tuple, cùng một đối tượng có thể xuất hiện nhiều hơn một lần.

Các mục được phân cách bằng dấu phẩy trong một tập hợp được đặt bên trong dấu ngoặc nhọn hoặc dấu ngoặc {}. Các mục trong bộ sưu tập tập hợp có thể thuộc nhiều kiểu dữ liệu khác nhau.

>>> {2023, "Python", 3.11, 5+6j, 1.23E-4}
{(5+6j), 3.11, 0.000123, 'Python', 2023}

Lưu ý rằng các mục trong bộ sưu tập tập hợp có thể không theo thứ tự giống như khi chúng được nhập vào. Vị trí của các mục được Python tối ưu hóa để thực hiện các phép toán trên tập hợp như đã định nghĩa trong toán học.

Set trong Python là một đối tượng của lớp tích hợp sẵn set , như có thể kiểm tra bằng hàm type().

>>> type({2023, "Python", 3.11, 5+6j, 1.23E-4})
<class 'set'>

Một tập hợp chỉ có thể lưu trữ immutable đối tượng như số (int, float, complex hoặc bool), chuỗi hoặc tuple. Nếu bạn cố gắng đưa một danh sách hoặc từ điển vào tập hợp, Python sẽ phát sinh một TypeError .

>>> {['One', 'Two', 'Three'], 1,2,3, (1.0, 2.0, 3.0)}
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

Hashing là một cơ chế trong khoa học máy tính cho phép tìm kiếm nhanh hơn các đối tượng trong bộ nhớ của máy tính. Only immutable objects are hashable .

Ngay cả khi một tập hợp không cho phép các mục có thể thay đổi, thì chính tập hợp đó là có thể thay đổi. Do đó, các thao tác thêm/xóa/cập nhật được phép trên một đối tượng tập hợp, sử dụng các phương thức trong lớp tập hợp tích hợp sẵn. Python cũng có một tập hợp các toán tử để thực hiện thao tác trên tập hợp. Các phương thức và toán tử sẽ được giải thích trong các chương sau.

Example of Set

set1 = {123, 452, 5, 6}
set2 = {'Java', 'Python', 'JavaScript'}

print(set1)
print(set2)

Điều này sẽ tạo ra đầu ra sau đây −

{123, 452, 5, 6}
{'Python', 'JavaScript', 'Java'}

7. Python Boolean Data Type

Python boolean là một trong những kiểu dữ liệu tích hợp sẵn, đại diện cho một trong hai giá trị, đó là True hoặc False . Hàm bool() trong Python cho phép bạn đánh giá giá trị của bất kỳ biểu thức nào và trả về True hoặc False dựa trên biểu thức đó.

Một số Boolean chỉ có hai giá trị khả dĩ, được thể hiện bằng các từ khóa, True False . Chúng tương ứng với số nguyên 1 và 0.

>>> type (True)
<class 'bool'>
>>> type(False)
<class 'bool'>

Example of Boolean Data Type

Dưới đây là một chương trình in ra giá trị của các biến boolean a và b −

a = True
# display the value of a
print(a)

# display the data type of a
print(type(a))

Điều này sẽ tạo ra kết quả sau −

true
<class 'bool'>

Dưới đây là một chương trình khác đánh giá các biểu thức và in ra các giá trị trả về −

# Returns false as a is not equal to b
a = 2
b = 4
print(bool(a==b))

# Following also prints the same
print(a==b)

# Returns False as a is None
a = None
print(bool(a))

# Returns false as a is an empty sequence
a = ()
print(bool(a))

# Returns false as a is 0
a = 0.0
print(bool(a))

# Returns false as a is 10
a = 10
print(bool(a))

Điều này tạo ra kết quả sau −

False
False
False
False
False
True

8. Python None Type

Loại None trong Python được biểu diễn bởi " nonetype ." Đây là một đối tượng của chính loại dữ liệu của nó. Loại nonetype đại diện cho kiểu giá trị null hoặc sự vắng mặt của một giá trị.

Example of None Type

Trong ví dụ dưới đây, chúng ta đang gán None cho một biến x và in ra kiểu của nó, kiểu này sẽ là nonetype

# Declaring a variable
# And, assigning a Null value (None)

x = None

# Printing its value and type
print("x = ", x)
print("type of x = ", type(x))

Điều này tạo ra kết quả sau −

x =  None
type of x =  <class 'NoneType'>

Getting Data Type

Để lấy các kiểu dữ liệu trong Python, bạn có thể sử dụng hàm type() . Hàm type() là một hàm tích hợp sẵn trả về lớp của đối tượng đã cho.

Example

Trong ví dụ sau, chúng ta đang lấy kiểu của các giá trị và biến −

# Getting type of values
print(type(123))
print(type(9.99))

# Getting type of variables
a = 10
b = 2.12
c = "Hello"
d = (10, 20, 30)
e = [10, 20, 30]

print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(e))

Điều này tạo ra kết quả sau −

<class 'int'>
<class 'float'>
<class 'int'>
<class 'float'>
<class 'str'>
<class 'tuple'>
<class 'list'>

Setting Data Type

Trong Python, khi khai báo một biến hoặc một đối tượng, bạn không cần phải chỉ định kiểu dữ liệu. Kiểu dữ liệu được thiết lập tự động dựa trên giá trị được gán.

Example

Ví dụ sau đây, minh họa cách kiểu dữ liệu của một biến được thiết lập dựa trên giá trị được cung cấp −

# Declaring a variable
# And, assigning an integer value

x = 10

# Printing its value and type
print("x = ", x)
print("type of x = ", type(x))

# Now, assigning string value to
# the same variable
x = "Hello World!"

# Printing its value and type
print("x = ", x)
print("type of x = ", type(x))

Điều này tạo ra kết quả sau −

x =  10
type of x =  <class 'int'>
x =  Hello World!
type of x =  <class 'str'>

Primitive and Non-primitive Data Types

Các kiểu dữ liệu đã được giải thích ở trên cũng có thể được phân loại thành kiểu nguyên thủy và kiểu không nguyên thủy.

1. Primitive Types

Các kiểu dữ liệu nguyên thủy là các kiểu dữ liệu cơ bản được sử dụng để tạo ra các kiểu dữ liệu phức tạp (đôi khi được gọi là cấu trúc dữ liệu phức tạp). Chủ yếu có bốn kiểu dữ liệu nguyên thủy, đó là −

  • Integers
  • Floats
  • Booleans, and
  • Strings

2. Non-primitive Types

Các kiểu dữ liệu không nguyên thủy lưu trữ giá trị hoặc tập hợp các giá trị. Chủ yếu có bốn loại kiểu không nguyên thủy, đó là −

  • Lists
  • Tuples
  • Dictionaries, and
  • Sets

Python Data Type Conversion

Đôi khi, bạn có thể cần thực hiện các chuyển đổi giữa các kiểu dữ liệu tích hợp. Để chuyển đổi dữ liệu giữa các kiểu dữ liệu Python khác nhau, bạn chỉ cần sử dụng tên kiểu dữ liệu như một hàm.

Read: Python Type Casting

Example

Dưới đây là một ví dụ chuyển đổi các giá trị khác nhau thành giá trị số nguyên, số thực và chuỗi tương ứng −

print("Conversion to integer data type")
a = int(1)     # a will be 1
b = int(2.2)   # b will be 2
c = int("3.3")   # c will be 3

print (a)
print (b)
print (c)

print("Conversion to floating point number")
a = float(1)     # a will be 1.0
b = float(2.2)   # b will be 2.2
c = float("3.3") # c will be 3.3

print (a)
print (b)
print (c)

print("Conversion to string")
a = str(1)     # a will be "1" 
b = str(2.2)   # b will be "2.2"
c = str("3.3") # c will be "3.3"

print (a)
print (b)
print (c)

Điều này tạo ra kết quả sau −

Conversion to integer data type
1
2
3
Conversion to floating point number
1.0
2.2
3.3
Conversion to string
1
2.2
3.3

Data Type Conversion Functions

Có một số built-in functions để thực hiện chuyển đổi từ kiểu dữ liệu này sang kiểu dữ liệu khác. Các hàm này trả về một đối tượng mới đại diện cho giá trị đã được chuyển đổi.

Sr.No. Function & Description
1 Python int() function Converts x to an integer. base specifies the base if x is a string.
2 Python long() function Converts x to a long integer. base specifies the base if x is a string. This function has been deprecated.
3 Python float() function Converts x to a floating-point number.
4 Python complex() function Creates a complex number.
5 Python str() function Converts object x to a string representation.
6 Python repr() function Converts object x to an expression string.
7 Python eval() function Evaluates a string and returns an object.
8 Python tuple() function Converts s to a tuple.
9 Python list() function Converts s to a list.
10 Python set() function Converts s to a set.
11 Python dict() function Creates a dictionary. d must be a sequence of (key,value) tuples.
12 Python frozenset() function Converts s to a frozen set.
13 Python chr() function Converts an integer to a character.
14 Python unichr() function Converts an integer to a Unicode character.
15 Python ord() function Converts a single character to its integer value.
16 Python hex() function Converts an integer to a hexadecimal string.
17 Python oct() function Converts an integer to an octal string.