Hằng số trong Python có dạng

Kiểu dữ liệu số lưu trữ giá trị số. Chúng là các kiểu dữ liệu bất biến, có nghĩa là việc thay đổi giá trị của một kiểu dữ liệu số dẫn đến một đối tượng mới được phân bổ.

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 như sau:

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 kiểu dữ liệu số khác nhau:

  • int [số nguyên có dấu]: Chúng là số nguyên dương hoặc số nguyên âm.
  • long [số nguyên dài]: Chúng là số nguyên có kích thước không giới hạn, được viết như số nguyên và theo sau là chữ L hoặc chữ l thường.
  • float [số thực dấu chấm động]: Chúng đại diện cho số thực và được viết bằng dấu thập phân chia phần nguyên và phần phân số. Float cũng có thể sử dụng các ký hiệu khoa học như E hoặc e thể hiện lũy thừa của 10 [2,5e2 = 2,5 x 10 2 = 250].
  • complex [số phức]: Có dạng a + bJ, trong đó a và b là số float và J [hoặc j] đại diện cho căn bậc hai của -1 [là số ảo]. Phần thực của số là a và phần ảo là b. Số phức không được sử dụng nhiều trong lập trình Python.

Ví dụ

Dưới đây là một số ví dụ về kiểu số trong Python:

intlongfloatcomplex1051924361L0.03.14j100-0x19323L15.2045.j-7860122L-21.99.322e-36j0800xDEFABCECBDAECBFBAEL32.3+e18.876j-0490535633629843L-90.-.6545+0J-0x260-052318172735L-32.54e1003e+26J0x69-4721885298529L70.2-E124.53e-7j

  • Python cho phép bạn sử dụng chữ L viết thường, 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 với chữ L viết hoa.
  • 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à a + bj, trong đó a là phần thực và b là phần ảo của số phức.

Chuyển đổi kiểu số

Python tự động chuyển đổi nội bộ các số trong một biểu thức có chứa các kiểu hỗn hợp thành một kiểu phổ biến để đánh giá. Nhưng đôi khi, bạn cần ép kiểu một số từ kiểu này sang kiểu khác để đáp ứng các yêu cầu của một toán tử hoặc tham số hàm.

  • Hàm int[x] để chuyển đổi x thành số nguyên.
  • Hàm long[x] để chuyển x thành số nguyên dài.
  • Hàm float[x] để chuyển đổi x thành số dấu chấm động.
  • Hàm complex[x] để chuyển x thành số phức với phần thực x và phần ảo bằng không.
  • Hàm complex[x, y] để chuyển x và y thành số phức với phần thực x và phần ảo y. x và y là các biểu thức số.

Hàm toán học

Python có các hàm sau thực hiện các phép tính toán học.

STTHàm & Mô tả1abs[x]

Giá trị tuyệt đối của x.

2ceil[x]

Làm tròn lên của x

3cmp[x, y]

So sánh x và y. Trả về -1 nếu x < y, 0 nếu x == y, 1 nếu x > y

4exp[x]

Số mũ của x: ex

5fabs[x]

Giá trị tuyệt đối của x.

6floor[x]

Làm tròn xuống của x

7log[x]

Logarit tự nhiên của x, cho x > 0

8log10[x]

Logarit cơ số 10 của x cho x > 0.

9max[x1, x2,...]

Trả về số lớn nhất

10min[x1, x2,...]

Trả về số nhỏ nhất

11modf[x]

Các phần phân số và phần nguyên của x

12pow[x, y]

Lũy thừa x**y.

13round[x [,n]]

Làm tròn x.

14sqrt[x]

Căn bậc hai của x cho x > 0

Hàm số ngẫu nhiên

Số ngẫu nhiên được sử dụng cho các trò chơi, mô phỏng, thử nghiệm, bảo mật và ứng dụng riêng tư. Python có các hàm sau thường được sử dụng.

STTHàm & Mô tả1choice[seq]

Một phần tử ngẫu nhiên từ danh sách, bộ dữ liệu hoặc chuỗi.

2randrange [[start,] stop [,step]]

Một phần tử được chọn ngẫu nhiên từ phạm vi[start, stop, step]

3random[]

Một float r ngẫu nhiên, sao cho 0 nhỏ hơn hoặc bằng r và r nhỏ hơn 1

4seed[[x]]

Thiết lập giá trị bắt đầu được sử dụng trong việc tạo số ngẫu nhiên. Gọi hàm này trước khi gọi bất kỳ hàm ngẫu nhiên nào.

Các kiểu dữ liệu cơ bản trong Python bao gồm kiểu số nguyên [int], kiểu số thực [float], kiểu chuỗi [string] và kiểu logic [boolean]. Với các kiểu dữ liệu cơ bản này, chúng ta có thể viết các ứng dụng đơn giản với Python.

Với các ứng dụng có số lượng các biến nhiều, dữ liệu lớn chúng ta cần tới các cấu trúc dữ liệu giúp cho việc viết code ngắn gọn và hiệu quả. Trong Python có 4 kiểu cấu trúc dữ liệu là List, Tuple, Set và Dictionary.

Tại sao cấu trúc dữ liệu cần thiết

Cấu trúc dữ liệu được sử dụng trong các chương trình để dễ dàng hơn trong việc định vị thông tin và lấy thông tin. Cấu trúc dữ liệu là cách các ngôn ngữ lập trình thể hiện các giá trị cơ bản, chúng chứa các kiểu dữ liệu cơ bản như số, chuỗi, boolean..., nó đưa ra cách thức lưu trữ nhiều giá trị trong một biến số.

Cấu trúc dữ liệu cũng được sử dụng để phân nhóm và tổ chức cho các cấu trúc khác.

1. Cấu trúc dữ liệu List

1.1 Định nghĩa và cách sử dụng List

List là một tập dữ liệu đơn giản nhất trong Python, một List là một danh sách các thành phần dữ liệu được phân cách bởi dấu phẩy và được bao ngoài bởi dấu ngoặc vuông. List có thể chứa các con số hoặc các chuỗi.

members = ["Dung","Van","Duc"]
ages = [24,25,23]

Chú ý: Một danh sách có thể chứa nhiều loại dữ liệu khác nhau nếu bạn thấy cần thiết, tuy nhiên nên dừng một loại dữ liệu thống nhất cho các phần tử trong danh sách.

members = ["Dung",25,"Duc"]

1.2 Truy xuất phần tử trong List

Mỗi phần tử trong List sẽ có một vị trí nhất định tương ứng với một con số, bắt đầu từ số 0 và tăng dần. Chúng ta có thể truy xuất đến các phần tử trong danh sách với cú pháp:

list_name[element_position]

Trong ví dụ trên, để truy xuất đến tên Van, chúng ta thực hiện như sau:

members = ["Dung","Van","Duc"]
print[members[1]]

Chú ý: Nếu bạn truy xuất đến một phần tử không có trong danh sách, một lỗi sẽ xuất hiện có dạng "index out of range".

1.3 Danh sách đa chiều

Mỗi phần tử trong danh sách của Python có thể là một danh sách, ví dụ như danh sách sau đây, mỗi phần tử là một danh sách gồm tên và tuổi của bạn bè.

members = [["Dung", 24], ["Van", 25], ["Duc", 23]]
print[members[0][1]]  # 24
print[members[1][0]]  # Van

Trong Python không giới hạn số chiều của danh sách cũng như số phần tử danh sách có thể chứa, nó chỉ phụ thuộc vào dung lượng bộ nhớ máy tính bạn dùng để chạy ứng dụng.

Chú ý, với các danh sách dài, chúng ta nên trình bày mỗi phần tử trên một dòng, như vậy code chương trình sẽ dễ đọc hơn, ví dụ:

friends = [
    ["Dung", 24],
    ["Vu", 30],
    ["Ha", 27],
    ["Duc", 23],
    ["Van", 25],
    ["Nga", 29],
]

1.4 Một số hàm liên quan đến danh sách

Trong quá trình thao tác với danh sách, chúng ta cần: kiểm tra xem danh sách có chứa một phần tử nào đó không, đếm số phần tử hoặc thêm , xóa, sửa phần tử trong danh sách... Các yêu cầu này đều có toán tử hoặc các phương thức được xây dựng sẵn trong đối tượng List.

1.4.1 Toán tử in

Toán tử in cho phép bạn kiểm tra một phần tử có nằm trong một danh sách hay không. Ví dụ: Kiểm tra xem "Dung" có trong danh sách members không?

members = ["Dung","Van","Duc"]
check = "Dung" in members
print[check] #Kết quả là True

1.4.2 Hàm len[]

Hàm len[] trả về số phần tử có trong một danh sách.

members = ["Dung","Van","Duc"]

print[f"Danh sách members có {len[members]} bạn"] #Kết quả là 3

1.4.3 Một số phương thức trên Model List

.append[] thêm một phần tử vào vị trí cuối cùng trong List:

members = ["Dung","Van","Duc"]
members.append["Ha"]
new_member = "Trung"
members.append[new_member]
print[members] #Kết quả là ["Dung","Van","Duc","Ha","Trung"]

.insert[position, item] chèn một phần tử vào List tại vị trí cho trước.

members = ["Dung","Van","Duc"]
members.insert[1,"Ha"]
print[members] #Kết quả là ["Dung","Van","Duc","Ha"]

Các phần tử phía sau sẽ có vị trí tăng lên 1, cần chú ý khi truy xuất giá trị các phần tử này.

listname[index]=newvalue Thay đổi giá trị một phần tử có vị trí index trong List.

members = ["Dung",25,"Duc"]
0

.extend[] Kết hợp danh sách với một List khác.

members = ["Dung",25,"Duc"]
1

.remove[] Loại bỏ một phần tử khỏi List.

members = ["Dung",25,"Duc"]
2

.pop[index] Loại bỏ phần tử ở vị trí index cho trước trong List.

members = ["Dung",25,"Duc"]
3

del Xóa một phần tử hoặc toàn bộ danh sách

members = ["Dung",25,"Duc"]
4

.clear[] Xóa sạch các phần tử trong danh sách

members = ["Dung",25,"Duc"]
5

Chú ý, .clear[] khác với del, .clear[] xóa toàn bộ các phần tử trong List, còn del xóa luôn cả biến List.

.count[] Đếm số lần một phần tử xuất hiện trong List.

members = ["Dung",25,"Duc"]
6

.index[] Trả về vị trí phần tử trong List

members = ["Dung",25,"Duc"]
7

.sort[] sắp xếp các phần tử trong List.

members = ["Dung",25,"Duc"]
8

Mặc định sắp xếp tăng dần với dữ liệu chuỗi sẽ sắp xếp a-z, A-Z, với số 0-9. Để sắp xếp giảm dần sử dụng tham số reverse = True.

reverse[] Đảo ngược thứ tự các phần tử trong List.

members = ["Dung",25,"Duc"]
9

.copy[] Copy toàn bộ List.

list_name[element_position]
02. Cấu trúc dữ liệu Tuple

Python hỗ trợ một cấu trúc dữ liệu cũng tương tự với List có tên là Tuple, chỉ có một khác biệt Tuple là danh sách bất biến, không thể thay đổi nội dung. Tức là ngay sau khi định nghĩa Tuple, bạn không thể thay đổi nó.

2.1 Khai báo Tuple

Định nghĩa một Tuple cũng giống như định nghĩa một List trong Python, chỉ khác là thay vì sử dụng ngoặc vuông chúng ta sử dụng ngoặc tròn.

list_name[element_position]
1

Chú ý:

Python cho phép định nghĩa Tuple mà không cần sử dụng dấu ngoặc thường. Ví dụ:

list_name[element_position]
2

Thậm chí Tuple chỉ có một phần tử:

list_name[element_position]
3

Chú ý dấu phẩy, nếu không có dấu phẩy thì đây là định nghĩa một chuỗi.

2.2 Thao tác với Tuple

Tuple là một danh sách đặc biệt, không thể thay đổi khi đã tạo ra, do đó bạn có thể sử dụng tất cả các kỹ thuật, các hàm như với List nhưng loại trừ những hàm tác động thay đổi nội dung.

Ví dụ, bạn có thể sử dụng toán tử in, hàm len[] với Tuple:

list_name[element_position]
4
list_name[element_position]
5

Tất cả các phương thức .append[], .extend[], .clear[], .copy[], .insert[], .pop[], .remove[], .reverse[], .sort[] không sử dụng được với cấu trúc dữ liệu Tuple.

Chú ý: Không thể thay đổi Tuple nhưng có thể tạo ra một Tuple từ hai Tuple, ví dụ :

list_name[element_position]
6

2.3 Tại sao sử dụng Tuple

Tuple có những hạn chế là khi tạo ra không thể thay đổi được tuy nhiên Tuple lại có những ưu điểm sau:

  • Tuple có tốc độ xử lý nhanh hơn List, do Tuple được lưu trữ một khối bộ nhớ xác định còn List thì thường xuyên phải thay đổi không gian lưu trữ. Nếu bạn định nghĩa một tập các giá trị là hằng số thì nên chọn Tuple.

  • Sử dụng Tuple giúp code an toàn hơn, khi đó chế độ "write-protect" giúp cho dữ liệu không thể thay đổi. Do vậy nên lựa chọn cho những dữ liệu dạng hằng số, dữ liệu không thay đổi theo thời gian.

  • Tuple còn được sử dụng làm khóa trong Dictionary do nó chứa các giá trị không đổi, List không được sử dụng làm khóa cho Dictionary.

Chủ Đề