Chuyển đến nội dung chính

Python: Kiểu dữ liệu - Part 2

Kiểu dữ liệu là gì

Trong khoa học máy tính và lập trình máy tính, một kiểu dữ liệu (tiếng Anh: data type) hay đơn giản type là một cách phân loại dữ liệu cho trình biên dịch hoặc thông dịch hiểu các lập trình viên muốn sử dụng dữ liệu. Hầu hết các ngôn ngữ hỗ trợ nhiều kiểu dữ liệu khác nhau, như số thực, số nguyên hay Boolean. Một kiểu dữ liệu cung cấp một bộ các giá trị mà từ đó một biểu thức (ví dụ như biến, hàm...) có thể lấy giá trị của nó. Kiểu định nghĩa các toán tử có thể được thực hiện trên dữ liệu của nó, ý nghĩa của dữ liệu, và cách mà giá trị của kiểu có thể được lưu trữ

-Wikipedia

Trong Python, có hai loại kiểu dữ liệu chính: primitive và non-primitive

Primitive trong Python bao gồm:

  • int: Kiểu dữ liệu số nguyên, có thể là số nguyên dương, số nguyên âm hoặc số 0.
  • float: Kiểu dữ liệu số thực, có thể là số thập phân hoặc số nguyên.
  • complex: Kiểu dữ liệu số phức, bao gồm phần thực và phần ảo.
  • str: Kiểu dữ liệu chuỗi, lưu trữ một chuỗi các ký tự.
  • None: Kiểu dữ liệu rỗng, không lưu trữ bất kỳ giá trị nào. 

Non-primitive trong Python bao gồm:

  • list: Kiểu dữ liệu danh sách, lưu trữ một tập hợp các giá trị có thứ tự.
  • tuple: Kiểu dữ liệu tuple, tương tự như danh sách nhưng không thể thay đổi.
  • range: Kiểu dữ liệu range, tạo một tập hợp các số liên tiếp.
  • set: Kiểu dữ liệu tập hợp, lưu trữ một tập hợp các giá trị không có thứ tự và không có giá trị trùng lặp.
  • frozenset: Kiểu dữ liệu frozenset, tương tự như tập hợp nhưng không thể thay đổi.
  • dict: Kiểu dữ liệu từ điển, lưu trữ một tập hợp các cặp khóa-giá trị.
  • bool: Kiểu dữ liệu logic, có thể là True hoặc False.

Ví dụ

a = 10
a = 20

print(f'Hello {a}, type a is {type(a)}')

b = [1, 2, 3]
b.append(4)

print(b)

c = (1, 2, 3)
# c[0] = 4

print(f'Hello {c}, type c is {type(c)}')

global

Trong Python, từ khóa global được sử dụng để khai báo một biến ở phạm vi toàn cục, nghĩa là biến được định nghĩa bên ngoài các hàm và có thể truy cập từ bất kỳ đâu trong chương trình.

global x

x = 10

def my_function():
    print(x)

my_function()
Kết quả
10

Nếu không sử dụng từ khóa global, biến x sẽ được khai báo là biến cục bộ trong hàm my_function và chỉ có thể truy cập được từ bên trong hàm đó.

x = 10

def my_function():
    x = 20
    print(x)

my_function()
print(x)
Kết quả
20
10

Decimal

Giả sử bạn có bài toán sau:

x = 0.1
y = 0.1
z = 0.1

s = x + y + z

print(s)
Kết quả
0.30000000000000004

Python decimal là một kiểu dữ liệu số thực chính xác, có thể được sử dụng để lưu trữ các số thực với độ chính xác cao.

from decimal import Decimal
x = Decimal('0.1')
y = Decimal('0.1')
z = Decimal('0.1')

s = x + y + z

print(s)
Kết quả
0.3

Tham khảo

Python Decimal

Kiểu dữ liệu và các kiểu dữ liệu trong Python

Nhận xét

Bài đăng phổ biến từ blog này

[ASP.NET MVC] Authentication và Authorize

Một trong những vấn đề bảo mật cơ bản nhất là đảm bảo những người dùng hợp lệ truy cập vào hệ thống. ASP.NET đưa ra 2 khái niệm: Authentication và Authorize Authentication xác nhận bạn là ai. Ví dụ: Bạn có thể đăng nhập vào hệ thống bằng username và password hoặc bằng ssh. Authorization xác nhận những gì bạn có thể làm. Ví dụ: Bạn được phép truy cập vào website, đăng thông tin lên diễn đàn nhưng bạn không được phép truy cập vào trang mod và admin.

ASP.NET MVC: Cơ bản về Validation

Validation (chứng thực) là một tính năng quan trọng trong ASP.NET MVC và được phát triển trong một thời gian dài. Validation vắng mặt trong phiên bản đầu tiên của asp.net mvc và thật khó để tích hợp 1 framework validation của một bên thứ 3 vì không có khả năng mở rộng. ASP.NET MVC2 đã hỗ trợ framework validation do Microsoft phát triển, tên là Data Annotations. Và trong phiên bản 3, framework validation đã hỗ trợ tốt hơn việc xác thực phía máy khách, và đây là một xu hướng của việc phát triển ứng dụng web ngày nay.

Tổng hợp một số kiến thức lập trình về Amibroker

Giới thiệu về Amibroker Amibroker theo developer Tomasz Janeczko được xây dựng dựa trên ngôn ngữ C. Vì vậy bộ code Amibroker Formula Language sử dụng có syntax khá tương đồng với C, ví dụ như câu lệnh #include để import hay cách gói các object, hàm trong các block {} và kết thúc câu lệnh bằng dấu “;”. AFL trong Amibroker là ngôn ngữ xử lý mảng (an array processing language). Nó hoạt động dựa trên các mảng (các dòng/vector) số liệu, khá giống với cách hoạt động của spreadsheet trên excel.