Hướng dẫn hằng số trong python

Trong bài học này chúng ta sẽ xem xét chi tiết các kiểu dữ liệu số trong Python, bao gồm int, float và complex. Chúng ta cũng xem xét một số phép toán và hàm thường gặp với dữ liệu kiểu số. So với các ngôn ngữ lập trình như C# hay Java, các kiểu số trong Python đơn giản hơn [ít kiểu] nhưng lại có điểm đặc thù. Các phép toán cơ bản của Python khá tương tự như trong C và các ngôn ngữ khác. Python cũng cung cấp thư viện cho các hàm toán học math.

Biến là một đối tượng trong chương trình. Mỗi biến sẽ có một vị trí riêng trong bộ nhớ để lưu trữ dữ liệu [giá trị] được gán. Biến trong Python được đặt theo nguyên tắc định danh [xem lại mục 2.2].

Câu lệnh gán giá trị cho biến là: =

Biến trong Python không cần khai báo trước, không gần khai báo kiểu dữ liệu. Khi đặt tên và gán giá trị Python tự động nhận dạng và tùy biến theo kiểu dữ liệu được gán.

Ví dụ 1:

number = 10
number = 1.1
print[number]
input[]

Ở ví dụ trên, biến được đặt tên là number, được gán giá trị là 10 sau đó lại được gán giá trị là 1.1. Như vậy sau sau 2 câu lệnh trên giá trị của biến number lưu sẽ là 1.1. Kết quả khi chạy chương trình là: 1.1.

Ví dụ 2.

website = "songlamtech.com"
print[website]
# assigning a new variable to website
website = "thitructuyen.songlamtech.com"
print[website]
input[]

Ở ví dụ này, biến có tên website được gán giá trị là songlamtech.com sau đó được in ra bởi câu lệnh print[website]. Sau đó lại được gán giá trị mới và thực hiện lệnh in lần 2.

Kết quả sẽ là:

songlamtech.com

thitructuyen.songlamtech.com

Python cho phép gán nhiều giá trị cho nhiều biến trong cùng một câu lệnh gán. Ví dụ:

a, b, c = 5, 3.2, "Hello"
print [a]
print [b]
print [c]

Các toán tử gán khác được trình bày trong mục 9.5

2. Hằng

Hằng là một loại biến đặc biệt, giá trị của hằng là không đổi trong suốt chương trình sau lần gán giá trị đầu tiên. Tên hằng được viết hoàn toàn bằng chữ hoa và dấu gạch dưới [nếu cần].

Ví dụ:

PI = 3.14 # đây là hằng
bankinh = 20 # đây là biến

Trong thực tế, việc đặt tên Hằng bằng các ký tự in hoa là để phân biệt với biến chứ nó không có tác dụng ngăn cản việc gán giá trị mới cho Hằng.

Đối với các chương trình lớn, Hằng số thường được khai báo riêng trong một mô-đun. Mô-đun là một tệp riêng chứa các biến, hàm, v.v. được nhập [import] vào tệp chính.

Một biến [variable] đại diện cho một vùng nhớ [trên RAM] lưu trữ dữ liệu của chương trình. Dữ liệu được lưu trữ trong vùng nhớ mà biến [variable] đại diện có thể thay đổi được. Ví dụ:

x = 20
y = 50
sum = x + y
n = 5
n = 8

Trong ví dụ trên, các vùng nhớ trên RAM sẽ lưu trữ một dữ liệu [giá trị] nào đó [20, 50, 70, 8, 5]. Vùng nhớ có thể được đại diện bởi một tên biến [x, y, sum, n]. Giá trị lưu trữ trong các vùng nhớ này có thể thay đổi [giá trị biến n = 5 được thay đổi thành n = 8].

Cách đặt tên biến tuân theo quy tắt đặt tên . Một biến khi được tạo ra trong Python gồm 4 đặc tính là tên biến, giá trị của biến, kiểu dữ liệu của biến và địa chỉ của biến.

Gán giá trị cho biến [variable] trong Python

Chúng ta có thể sử dụng toán tử gán [assignment operator] ‘=’ để gán giá trị cho biến. Lưu ý: Trong Python, khi tạo một biến thì phải gán giá trị cho biến đó.

n = 10
print["Bien n co kieu la ", type[n]]
m = 1.1
print["Bien m co kieu la ", type[m]]
website = "apple.com"
print["Bien website co kieu la ", type[website]]
website = 99
print["Bien website co kieu la ", type[website]]
Kết quả
Bien n co kieu la  
Bien m co kieu la  
Bien website co kieu la  
Bien website co kieu la  

Python là một ngôn ngữ tự suy luận kiểu [type-inferred language]. Vì vậy, chúng ta không cần phải xác định rõ ràng kiểu dữ liệu của biến. Dựa vào giá trị được gán cho biến, Python sẽ tự động xác định biến có kiểu dữ liệu gì.

Lưu ý: Trong Python, chúng ta không thật sự gán giá trị cho biến. Thay vào đó, Python tạo một tham chiếu của đối tượng kiểu dữ liệu [int, float, str,…] cho biến. Hiểu đơn giản là Python tự động xem xét các giá trị thuộc kiểu dữ liệu nào. Rồi sẽ tạo một đối tượng có kiểu tương ứng để lưu giá trị đó. Do đó, một biến được gán thật chất là một đối tượng kiểu dữ liệu chứ không phải giá trị.

Ví dụ gán nhiều giá trị cho nhiều biến

a, b, c = 5, 3.2, "Hello"

print [a]
print [b]
print [c]

x = y = z = "same"

print [x]
print [y]
print [z]

Địa chỉ của biến trong Python

Sử dụng hàm id[]

Giúp trả về địa chỉ của một đối tượng [object] cụ thể.

# get id of list
a = [1, 2, 3, 4, 5]
print[id[a]]
  
# get id of a variable
a = 12
print[id[a]]
  
# get id of tuple
a = [1, 2, 3, 4, 5]
print[id[a]]
  
# get id of a dictionary
a = {'a' : 1, 'b' : 2}
print[id[a]]
Kết quả
2817775580992
2817770586704
2817775539664
2817775483776

Sử dụng hàm addressof[]

Hàm

n = 10
print["Bien n co kieu la ", type[n]]
m = 1.1
print["Bien m co kieu la ", type[m]]
website = "apple.com"
print["Bien website co kieu la ", type[website]]
website = 99
print["Bien website co kieu la ", type[website]]
3 nằm trong thư viện
n = 10
print["Bien n co kieu la ", type[n]]
m = 1.1
print["Bien m co kieu la ", type[m]]
website = "apple.com"
print["Bien website co kieu la ", type[website]]
website = 99
print["Bien website co kieu la ", type[website]]
4. Thư viện này gọi là foreign function library for Python. Nó là một thư viện giúp gọi các hàm từ các thư viện khác không thuộc về Python.

# import addressof,
# c_int modules from ctypes module
from ctypes import c_int, c_float, c_wchar_p, addressof
  
# get memory address of variable
a = 44
print[addressof[c_int[a]]]
b = 1.1
print[addressof[c_float[b]]]
c = "gochocit.com"
print[addressof[c_wchar_p[c]]]
Kết quả
2352906862344
2352906862344
2352906862344

Sử dụng hàm hex[]

Hàm hex[] giúp biểu diễn địa chỉ của object sang hệ cơ số 16.

# get id of list in hexadecimal representation
a = [1, 2, 3, 4, 5]
print[hex[id[a]]]
  
# get id of a variable in hexadecimal representation
a = 12
print[hex[id[a]]]
  
# get id of tuple in hexadecimal representation
a = [1, 2, 3, 4, 5]
print[hex[id[a]]]
  
# get id of a dictionary in hexadecimal representation
a = {'a': 1,'b' : 2}
print[hex[id[a]]]
Kết quả
0x273ee7b3740
0x273ee2e0250
0x273ee7a95d0
0x273ee79bb80

Lưu ý: Mỗi lần chạy chương trình thì địa chỉ lưu trữ dữ liệu có thể khác nhau. Điều này tùy thuộc vào vùng nhớ nào còn trống để cấp phát.

2. Hằng [constant] trong Python

Định nghĩa hằng số [constant]: là một loại biến có giá trị không thể thay đổi. Dữ liệu được lưu trữ trong vùng nhớ mà hằng số đại diện không thể thay đổi được.

Hằng số trong Python

Trong Python, hằng số thường được khai báo và gán giá trị trong một module. Module là một file Python chứa các biến, hàm,… Các hằng số được hoa tất cả các chữ cái và dùng dấu gạch dưới _ để ngăn cách các từ. Ví dụ:

Tạo một file constant.py

n = 10
print["Bien n co kieu la ", type[n]]
m = 1.1
print["Bien m co kieu la ", type[m]]
website = "apple.com"
print["Bien website co kieu la ", type[website]]
website = 99
print["Bien website co kieu la ", type[website]]
0

Tạo một file main.py

n = 10
print["Bien n co kieu la ", type[n]]
m = 1.1
print["Bien m co kieu la ", type[m]]
website = "apple.com"
print["Bien website co kieu la ", type[website]]
website = 99
print["Bien website co kieu la ", type[website]]
1Kết quả
n = 10
print["Bien n co kieu la ", type[n]]
m = 1.1
print["Bien m co kieu la ", type[m]]
website = "apple.com"
print["Bien website co kieu la ", type[website]]
website = 99
print["Bien website co kieu la ", type[website]]
2

Trong ví dụ trên, chúng ta tạo một file module

n = 10
print["Bien n co kieu la ", type[n]]
m = 1.1
print["Bien m co kieu la ", type[m]]
website = "apple.com"
print["Bien website co kieu la ", type[website]]
website = 99
print["Bien website co kieu la ", type[website]]
5 có định nghĩa các hằng số PI, GRAVITY và WEBSITE_ADDRESS. Sau đó, chúng ta tạo file
n = 10
print["Bien n co kieu la ", type[n]]
m = 1.1
print["Bien m co kieu la ", type[m]]
website = "apple.com"
print["Bien website co kieu la ", type[website]]
website = 99
print["Bien website co kieu la ", type[website]]
6 và import module
n = 10
print["Bien n co kieu la ", type[n]]
m = 1.1
print["Bien m co kieu la ", type[m]]
website = "apple.com"
print["Bien website co kieu la ", type[website]]
website = 99
print["Bien website co kieu la ", type[website]]
5. Cuối cùng, chúng ta in ra giá trị của các hằng số.

Lưu ý: Trong thực tế, chúng ta không sử dụng hằng số trong Python. Việc đặt tên hằng số với các chữ cái viết hoa trong Python chỉ là quy ước để dễ dàng phân biệt với các biến. Nó không có tác dụng ngăn gán lại giá trị cho hằng số. Trong ví dụ trên, chúng ta thấy hằng số PI vẫn có thể bị gán lại và giá trị bị thay đổi.

Chủ Đề