Python: Các loại biến và kiểu dữ liệu

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Biến hiểu đơn giản là các vị trí bộ nhớ dành riêng để lưu trữ các giá trị. Điều này có nghĩa là khi bạn tạo một biến tức là bạn dành một khoảng trống trong bộ nhớ để lưu trữ.

Dựa trên kiểu dữ liệu của một biến, trình thông dịch phân bổ bộ nhớ và quyết định những gì có thể được lưu trữ trong bộ nhớ đó. Do đó, bằng cách gán các loại dữ liệu khác nhau cho các biến, bạn có thể lưu trữ số nguyên, số thập phân hoặc ký tự trong các biến này.

Gán các giá trị cho các biến

Các biến Python không cần khai báo rõ ràng để dự trữ dung lượng bộ nhớ. Khai báo tự động xảy ra khi bạn gán giá trị cho một biến. Dấu bằng (=) được sử dụng để gán hay lưu giá trị cho các biến.

Toán hạng bên trái toán tử = là tên của biến và toán hạng bên phải toán tử = là giá trị được lưu trong biến. Ví dụ:

counter = 100       # Một số nguyên
miles   = 1000.0    # Một số thực
name    = "John"    # Một chuỗi

print(counter)
print(miles)
print(name)

Ở đây, 100, 1000.0 và "John" là các giá trị được gán cho các biến tương ứng là counter, miles, và name. Điều này tạo ra kết quả sau:

100
1000.0
John

Gán liên tiếp

Python cho phép bạn gán một giá trị duy nhất cho một số lượng biến đồng thời. Ví dụ:

a = b = c = 1

Ở đây, một đối tượng số nguyên được tạo với giá trị 1 và cả ba biến được gán cho cùng một vị trí bộ nhớ.

Bạn cũng có thể gán nhiều đối tượng cho nhiều biến. Ví dụ:

a,b,c = 1,2,"john"

Ở đây, hai đối tượng số nguyên có giá trị 1 và 2 được gán cho biến a và b tương ứng và một đối tượng chuỗi có giá trị "john" được gán cho biến c.

Kiểu dữ liệu chuẩn

Dữ liệu được lưu trữ trong bộ nhớ có thể có nhiều loại. Ví dụ: tuổi của một người được lưu trữ dưới dạng giá trị số và địa chỉ của người đó được lưu dưới dạng ký tự chữ và số. Python có nhiều kiểu dữ liệu tiêu chuẩn khác nhau được sử dụng để xác định các hoạt động có thể có trên chúng và phương thức lưu trữ cho từng loại.

Python có năm loại dữ liệu tiêu chuẩn:

  • Numbers
  • String
  • List
  • Tuple
  • Dictionary

Numbers

Kiểu dữ liệu số lưu trữ giá trị số. Các đối tượng số được tạo khi bạn gán giá trị cho chúng. Ví dụ:

var1 = 1
var2 = 10

Bạn cũng có thể xóa tham chiếu đến một đối tượng số bằng cách sử dụng câu lệnh del. Cú pháp của câu lệnh del là:

del var1[,var2[,var3[....,varN]]]]

Bạn có thể xóa một đối tượng hoặc nhiều đối tượng bằng cách sử dụng câu lệnh del. Ví dụ:

del var
del var_a, var_b

Python hỗ trợ bốn loại số khác nhau:

  • int (số nguyên có dấu)
  • long (số nguyên dài, chúng cũng có thể được biểu diễn dưới dạng bát phân và thập lục phân)
  • float (giá trị thực dấu phẩy động)
  • complex (số phức)

Ví dụ

Dưới đây là một số ví dụ về các con số:

int long float complex
10 51924361L 0.0 3.14j
100 -0x19323L 15.20 45.j
-786 0122L -21.9 9.322e-36j
080 0xDEFABCECBDAECBFBAEl 32.3 + e18 .876j
-0490 535633629843L -90. -.6545 + 0J
-0x260 -052318172735L -32.54e100 3e + 26J
0x69 -4721885298529L 70.2-E12 4.53e-7j
  • Python cho phép bạn sử dụng chữ thường chữ l dài, nhưng bạn chỉ nên sử dụng chữ L viết hoa để tránh nhầm lẫn với số 1. Python hiển thị số nguyên dài có chữ hoa chữ L
  • Một số phức bao gồm một cặp số có dấu phẩy động thực được ký hiệu là x + yj, trong đó x và y là số thực và j là đơn vị ảo.

String

Các chuỗi trong Python được xác định là một tập hợp các ký tự liền kề được biểu thị trong dấu ngoặc kép. Python cho phép một trong hai cặp dấu ngoặc đơn hoặc dấu ngoặc kép. Các tập hợp con của chuỗi có thể được lấy bằng toán tử slice ([] và [:]) với các chỉ mục bắt đầu từ 0 ở đầu chuỗi và làm việc theo cách của chúng từ -1 ở cuối.

Dấu cộng (+) là toán tử nối chuỗi và dấu hoa thị (*) là toán tử lặp lại. Ví dụ:

str = 'Hello World!'

print(str)          # In ra chuỗi
print(str[0])       # In ra ký tự đầu của chuỗi
print(str[2:5])     # In ra các ký tự từ thứ 3 đến thứ 5 của chuỗi
print(str[2:])      # In ra chuỗi bắt đầu từ ký tự thứ 3
print(str * 2)      # In chuỗi 2 lần
print(str + "TEST") # Nối chuỗi xong rồi in

Kết quả:

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

List

Danh sách là loại linh hoạt nhất trong các loại dữ liệu hỗn hợp của Python. Danh sách chứa các mục được phân tách bằng dấu phẩy và được đặt trong dấu ngoặc vuông ([]). Ở một mức độ nào đó, danh sách tương tự như mảng trong C. Một điểm khác biệt giữa chúng là tất cả các mục thuộc danh sách có thể thuộc loại dữ liệu khác nhau.

Các giá trị được lưu trữ trong danh sách có thể được truy cập bằng toán tử slice ([] và [:]) với các chỉ mục bắt đầu từ 0 ở đầu danh sách và làm việc theo cách của chúng để kết thúc -1. 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. Ví dụ:

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

print(list)          # In ra danh sách
print(list[0])       # In ra phần tử đầu tiên của danh sách
print(list[1:3])     # In ra các phần tử thứ 2 và 3 của danh sách
print(list[2:])      # In ra các phần tử bắt đầu từ phần tử thứ 3 của danh sách
print(tinylist * 2)  # In danh sách 2 lần
print(list + tinylist) # Nối danh sách rồi in

Kết quả:

['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']

Tuple

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

Sự khác biệt chính giữa danh sách và tuple là: Danh sách được đặt trong ngoặc vuông ([]) và các thành phần và kích thước của chúng có thể được thay đổi, trong khi tuple được đặt trong dấu ngoặc đơn (()) và không thể cập nhật. Tuple có thể được coi là danh sách chỉ đọc. Ví dụ:

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

print(tuple)           # In ra danh sách
print(tuple[0])        # In phần từ đầu tiên của danh sách
print(tuple[1:3])      # In các phần từ tử từ thứ 2 đến thứ 3 của danh sách
print(tuple[2:])       # In ra các phần tử bắt đầu từ phần tử thứ 3
print(tinytuple * 2)   # In danh sách 2 lần
print(tuple + tinytuple) # Nối danh sách rồi in

Kết quả:

('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')

Đoạn mã sau không hợp lệ với tuple, vì chúng tôi đã cố cập nhật một tuple, điều này là không được phép (đối với List thì được):

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
tuple[2] = 1000    # Lỗi
list[2] = 1000     # Hợp lệ

Dictionary

Dictionary của Python là loại bảng băm. Chúng hoạt động như các mảng kết hợp hoặc băm được như trong Perl và bao gồm các cặp key-value. Khóa từ điển có thể là hầu hết mọi loại Python, nhưng thường là số hoặc chuỗi. Còn các giá trị có thể là bất kỳ.

Dictionary được bao quanh bởi dấu ngoặc nhọn ({}) và các giá trị có thể được chỉ định và truy cập bằng dấu ngoặc vuông ([]). Ví dụ:

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

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


print(dict['one'])       # In giá trị của key 'one'
print(dict[2])           # In giá trị của key 2
print(tinydict)          # In toàn bộ dictionary
print(tinydict.keys())   # In tất cả các key của từ điển
print(tinydict.values()) # In tất cả các giá trị của tử điển

Kết quả:

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

Dictionary không có khái niệm về trật tự giữa các yếu tố. Không đúng khi nói rằng các yếu tố là "không theo thứ tự"; chúng chỉ đơn giản là không có thứ tự.

Chuyển đổi kiểu dữ liệu

Đôi khi, bạn có thể cần thực hiện chuyển đổi giữa các loại dữ liệu. Để chuyển đổi giữa các loại, bạn chỉ cần sử dụng tên loại làm hàm.

Có một số hàm dựng sẵn để thực hiện chuyển đổi từ loại dữ liệu này sang loại dữ liệu khác. Các hàm này trả về một đối tượng mới biểu thị giá trị được chuyển đổi.

STT Mô tả hàm
1

int(x [,base])

Chuyển đổi x thành một số nguyên. base chỉ định cơ số nếu x là một chuỗi.

2

long(x [,base])

Chuyển đổi x thành một số nguyên dài. base chỉ định cơ số nếu x là một chuỗi.

3

float(x)

Chuyển đổi x thành một số dấu phẩy động.

4

complex(real [,imag])

Tạo một số phức.

5

str(x)

Chuyển đổi đối tượng x thành một chuỗi đại diện.

6

repr(x)

Chuyển đổi đối tượng x thành một chuỗi biểu thức.

7

eval(str)

Đánh giá một chuỗi và trả về một đối tượng.

8

tuple(s)

Chuyển đổi s thành một tuple.

9

list(s)

Chuyển đổi s thành một danh sách.

10

set(s)

Chuyển đổi s thành một bộ.

11

dict(d)

Tạo một từ điển. d phải là một chuỗi các khóa (key, value).

12

frozenset(s)

Chuyển đổi s thành một bộ frozen.

13

chr(x)

Chuyển đổi một số nguyên thành một ký tự.

14

unichr(x)

Chuyển đổi một số nguyên thành một ký tự Unicode.

15

ord(x)

Chuyển đổi một ký tự thành giá trị nguyên của nó.

16

hex(x)

Chuyển đổi một số nguyên thành một chuỗi thập lục phân.

17

oct(x)

Chuyển đổi một số nguyên thành một chuỗi bát phân.

» Tiếp: if-else
« Trước: Các phép toán cơ bản
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!