5.Biến trong Python

Biến trong Python là gì?

Một biến Python là một khu vực bộ nhớ được dành riêng để lưu trữ các giá trị. Nói cách khác, biến trong python cung cấp dữ liệu cho quá trình xử lý của máy tính.

Mỗi giá trị trong Python có một kiểu dữ liệu. Các kiểu dữ liệu khác nhau trong Python là kiểu số, kiểu danh sách, kiểu bộ (tuple), kiểu chuỗi (string), kiểu từ điển (dictionary), v.v … Các biến có thể được khai báo bằng bất kỳ tên nào hoặc thậm chí cả bằng chữ cái như a, aa, abc, v.v.

Trong bài học này, chúng ta sẽ tìm hiểu về:

  • Cách khai báo và sử dụng biến

  • Khai báo lại một biến

  • Kết hợp các biến

  • Biến toàn cục và biến cục bộ

  • Xóa một biến

Cách khai báo và sử dụng biến

Cùng xét một ví dụ. Chúng ta sẽ khai báo biến “a” và in nó.

a=100

print a

Khai báo lại một biến

Bạn có thể khai báo lại biến ngay cả khi bạn đã khai báo nó trước đó.

Xét một biến đã được khởi tạo f = 0.

Sau đó, chúng ta gán lại giá trị “guru99” cho biến f

Ví dụ sử dụng Python 2

# Declare a variable and initialize it
f = 0
print f
# re-declaring the variable works
f = 'guru99'
print f

Ví dụ sử dụng Python 3

# Declare a variable and initialize it
f = 0
print(f)
# re-declaring the variable works
f = 'guru99'
print(f)

Kết hợp các biến

Cùng tìm hiểu xem liệu bạn có thể nối các loại dữ liệu khác nhau như chuỗi và số với nhau không. Ví dụ: chúng ta sẽ ghép “Guru” với số “99”.

Nếu trong Java chúng ta có thể thực hiện nối số với chuỗi mà không cần khai báo số đó dưới dạng chuỗi thì trong Python, việc khai báo số dưới dạng chuỗi là cần thiết. Nếu bạn không khai báo, chương trình sẽ báo lỗi kiểu dữ liệu (TypeError).

Đoạn mã nguồn sau sẽ có đầu ra không xác định(báo lỗi: TypeError: cannot concatenate ‘str’ and ‘int’ objects):

a="Guru"
b = 99
print a+b

Khi khai báo số nguyên dưới dạng chuỗi, bạn có thể kết hợp “Guru” + str(“99”) trong đầu ra:

a="Guru"
b = 99
print(a+str(b))

Biến toàn cục và biến cục bộ

Trong Python khi bạn muốn sử dụng cùng một biến cho toàn bộ chương trình hoặc mô-đun, bạn cần khai báo nó dưới dạng biến toàn cục. Trường hợp bạn muốn sử dụng biến trong một hàm hoặc phương thức cụ thể, bạn hãy sử dụng biến cục bộ.

Cùng tìm hiểu sự khác nhau giữa biến toàn cục và biến cục bộ với chương trình dưới đây.

  1. Biến “f” là biến toàn cục và được gán giá trị 101, giống như giá trị được in ra.

  2. Biến f được khai báo một lần nữa trong hàm và được coi là biến cục bộ. Nó được gán giá trị “I am learning Python.”, giống như giá trị được in ra. Biến này khác với biến toàn cục “f” được xác định trước đó.

  3. Khi lời gọi hàm kết thúc, biến cục bộ f bị hủy. Ở dòng 12, khi chúng ta in ra giá trị của “f” một lần nữa, nó sẽ hiển thị giá trị của biến toàn cục f = 101.

Ví dụ sử dụng Python 2

# Declare a variable and initialize it
f = 101
print f
# Global vs. local variables in functions
def someFunction():
# global f
    f = 'I am learning Python'
    print f
someFunction()
print f

Ví dụ sử dụng Python 3

# Declare a variable and initialize it
f = 101
print(f)
# Global vs. local variables in functions
def someFunction():
# global f
    f = 'I am learning Python'
    print(f)
someFunction()
print(f)

Sử dụng từ khóa global, bạn có thể gọi tới biến toàn cục bên trong hàm.

  1. Biến “f” là biến toàn cục và được gán giá trị 101, giống như giá trị được in ra.

  2. Biến f được khai báo sử dụng từ khóa global. Đây KHÔNG PHẢImột biến cục bộ mà là biến toàn cục được khai báo trước đó. Do đó khi chúng ta in giá trị của nó, kết quả sẽ là 101.

  3. Chúng ta đã thay đổi giá trị của “f” bên trong hàm. Khi lời gọi hàm kết thúc, giá trị sau khi thay đổi của biến “f” vẫn tồn tại. Ở dòng 12, khi chúng ta in ra giá trị của “f” một lần nữa, nó sẽ hiển thị giá trị: “changing global variable”.

Ví dụ sử dụng Python 2

f = 101;
print f
# Global vs.local variables in functions
def someFunction():
  global f
print f
f = "changing global variable"
someFunction()
print f

Ví dụ sử dụng Python 3

f = 101;
print(f)
# Global vs.local variables in functions
def someFunction():
  global f
print(f)
f = "changing global variable"
someFunction()
print(f)

Xóa một biến

Bạn có thể xóa một biến bằng lệnh del “tên biến”.

Trong ví dụ dưới đây, chúng ta sẽ xóa biến f và sau khi xóa, chúng ta thực hiện việc in ra giá trị của f, khi đó sẽ xuất hiện lỗi tên biến không được xác định “variable name is not defined”, điều này có nghĩa là bạn đã xóa biến đó rồi.

f = 11;
print(f)
del f
print(f)

Các biến được coi như một chiếc “phong bì” hoặc “xô” nơi mà thông tin có thể được duy trì và tham chiếu. Giống như bất kỳ ngôn ngữ lập trình nào khác, Python cũng sử dụng một biến để lưu trữ thông tin.

Tóm tắt:

  • Các biến có thể được khai báo bằng bất kỳ tên nào hoặc thậm chí bằng cả chữ cái như a, aa, abc, v.v.

  • Các biến có thể được khai báo lại ngay cả khi bạn đã khai báo chúng trước đó.

  • Trong Python bạn không thể ghép chuỗi và số một cách trực tiếp, bạn cần khai báo chúng dưới dạng biến riêng biệt rồi sau đó mới có thể ghép số và chuỗi.

  • Khai báo biến cục bộ khi bạn muốn sử dụng nó cho hàm hiện tại

  • Khai báo biến toàn cục khi bạn muốn sử dụng cùng một biến cho toàn bộ chương trình

  • Để xóa một biến, sử dụng từ khóa “del”.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *