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

Khi tìm hiểu về một ngôn ngữ lập trình, chúng ta sẽ tìm hiểu về các kiểu dữ liệu có trong ngôn ngữ lập trình đó.Trong Python, ngoài các kiểu dữ liệu cơ bản như Integer(số nguyên), Float (số thực), Complex(số phức), Character(ký tự), Boolean(đúng hoặc sai), Strings (chuỗi), còn có các kiểu dữ liệu cấu trúc khác như Lists, Tuples, Sets, Dictionary . Trong bài viết này sẽ chủ yếu tìm hiểu về kiểu dữ liệu string và các kiểu dữ liệu có cấu trúc bao gồm Lists, Tuples, Sets và Dictionary trong Python.
1. String - Kiểu dữ liệu chuỗi
String là một chuỗi các ký tự kết hợp lại với nhau. Để khai báo String trong Python, chúng ta có thể sử dụng dấu ngoặc đơn ’ ‘, dấu ngoặc kép " ", hoặc ba dấu ngoặc đơn ‘’’ ‘’’ (*ba dấu ngoặc đơn dùng trong trường hợp khai báo một chuỗi gồm nhiều dòng)

Trong Python, ta có thể truy xuất đến từng ký tự trong chuỗi thông qua vị trí của nó.
image
Theo hình trên có thể thấy, ta có thể truy xuất từ trái sang với địa chỉ dương bắt đầu từ 0, hoặc truy xuất từ phải sang với địa chỉ âm bắt đầu từ -1.


Ngoài ra, ta có thể lấy ra một khoảng các ký tự tùy ý.

Trong Python không cho phép việc cập nhật hay xóa đi ký tự trong chuỗi bởi vì kiểu dữ liệu chuỗi là bất biến, tức là các phần tử trong chuỗi không thể thay đổi. Nhưng ta có thể xóa toàn bộ chuỗi bằng từ khóa “del”.
Trong trường hợp chuỗi có chứa các ký tự đặc biệt như ', ", \ … , sử dụng backslash(), r hoặc R.

Thêm vào đó, sử dụng phương thức format() khi khai báo

Ngoài ra còn rất nhiều phương thức khác được sử dụng với kiểu dữ liệu chuỗi, để tìm hiểu thêm về các phương thức, mọi người có thể truy cập vào đường link sau đây.

2. List - Kiểu dữ liệu danh sách
List là kiểu dữ liệu danh sách có thể bao gồm các kiểu dữ liệu khác như Integers, Strings. Các phần tử trong List có thứ tự, có thể lặp lại và có thể thay đổi được.
Để khai báo List ta dụng dấu ngoặc vuông [ ].


Sử dụng len(List) để lấy được kích thước của List. Ngoài ra còn các method khác như:

  • append(): thêm một phần tử vào trong List, phần tử được thêm vào vị trí cuối của List
  • insert(pos,value): thêm một phần tử value vào vị trí pos trong List

    Để truy xuất vào các phần tử trong mảng, ta truy xuất theo ví trí của phần tử đó trong mảng.

    Ngoài ra còn rất nhiều phương thức khác được sử dụng với kiểu dữ liệu chuỗi, để tìm hiểu thêm về các phương thức, mọi người có thể truy cập vào đường link sau đây.
    https://www.geeksforgeeks.org/python-list/

3. Tuples - Sets
Tuples và Sets là hai kiểu dữ liệu khá giống với List nên mình sẽ nói chung trong một phần. Sự khác nhau ở đây là, các phần tử trong kiểu dữ liệu Tuples có thứ tự, có thể lặp lại nhưng không thể thay đổi giá trị các phần tử trong Tuples, trong khi ở Sets, các phần tử không có thứ tự và đặc biệt giá trị các phần tử trong Sets là duy nhất.

  • Để khai báo một Tuples sử dụng ( ), còn Sets sử dụng { } hoặc set()
  • Để truy xuất vào các phần tử trong Tuples có thể truy xuất theo vị trí giống như List, còn Sets do phần tử không có thứ tự nên muốn truy xuất cần sử dụng vòng lặp for.
    image
  • Để nối 2 Tuples với nhau sử dụng toán tử ‘+’
  • Trong Sets, phương thức add() để thêm vào một phần tử, hoặc update() để thêm vào nhiều phần tử. Để loại bỏ phần tử nào đó trong Sets có thể sử dụng phương thức remove() hoặc discard(), lưu ý nếu phần tử đó không tồn tại thì khi sử dụng remove() sẽ báo lỗi còn discard() thì không thay đổi.
    Để tìm hiểu thêm một số phương thức khác trong Tuples và Sets, mọi người có thể truy cập vào đường link sau:
    https://www.geeksforgeeks.org/python-tuples/
    https://www.geeksforgeeks.org/python-sets/

4. Dictionary - Kiểu dữ liệu từ điển
Dictionary giống Sets ở chỗ là kiểu dữ liệu mà các phần tử không có thứ tự, nhưng thay vào đó, dữ liệu được lưu trữ dưới dạng ánh xạ, nghĩa là một phần tử sẽ gồm hai phần là {key, value}. Key ở đây có thể hiểu là từ khóa đại diện cho phần tử, còn Value là giá trị của phần tử đó, và Key ở đây không đổi và duy nhất, còn Value có thể mang giá trị bất kỳ.
Để khai báo một Dictionary, ta có thể làm như sau:
image
Để truy xuất vào các phần tử trong Dictionary, ta có thể làm tương tự List, khác ở chỗ thay vì truy xuất theo vị trí phần tử, ta sẽ truy xuất theo từ khóa Key.


Có nhiều cách để thêm phần tử vào Dictionary, như ví dụ sau đây (*nếu Key đã tồn tại, thì Value mới của Key sẽ được cập nhât thay cho Value cũ:

Để xóa đi một phần tử trong Dictionary, ta sử dụng từ khóa del, hoặc xóa một phần tử bằng key và trả về giá trị của nó ta sử dụng phương thức pop(), còn popitem() để trả về phần tử bất kỳ dưới dạng (key,value).

Ngoài ra còn có thêm các phương thức khác được sử dụng trong Dictionary, mọi người có thể truy cập vào link dưới đây để biết thêm thông tin chi tiết:

Kết luận:
Trên đây là sự hiểu biết của em về một vài kiểu dữ liệu trong Python thông qua việc tìm hiểu về chúng trên trang Geeksforgeeks.

5 Likes

Chúc mừng bài viết đầu tiên trên Stories, Giờ là ngóng series hàng tuần nhé! @anon73939363 sử dụng thêm mấy cấu trúc trình bày Heading của Markdown, thì bài viết còn sinh động hơn nữa đấy. Cải tiến vào bài viết tuần sau nhé!

2 Likes

Anh chúc mừng @anon73939363 đã có bài viết đầu tiên trên Stories nhé :grinning: :grinning: :grinning:
Mặc dù anh biết, tuần vừa rồi em có rất nhiều các dealine bài tập khác trên trường và cũng rơi vào trạng thái “hoang mang” vì chưa biết sắp xếp công việc của mình như thế nào, nhưng em vẫn cố gắng để hoàn thành bài viết chia sẻ đầu tiên của mình trên stories @@@
Chúc mừng em ^^^
Với bài viết đầu tiên này, anh thấy phần nội dung khá ổn và dễ hiểu. Nhưng có vẻ em chưa biết cách sử dụng Markdown để bao gói code python thay vì chụp ảnh màn hình quá nhiều, khiến người đọc dễ mất tập trung vào phần nội dung.
Em nên tham khảo về cách sử dụng Markdown để viết code trong một bài viết như trong link hướng dẫn này nhé:
https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code-and-syntax-highlighting
Anh sẽ chờ bài viết tiếp theo hay hơn của em. Còn nếu mà không hay hơn, chắc chắn sẽ bị trừ 5 điểm đó :grinning: :grinning: :grinning:

2 Likes

Chúc mừng @anon73939363 có bài viết đầu tiên trên stories. A có 1 thắc mắc, kiểu dữ liệu dict trên Python và BSON hoặc JSON thì khác nhau như thế nào, trong trường hợp nào chúng ta nên sử dụng dict, BSON hay JSON :))