Biến toàn bộ là gì

Khai báo biến toàn cục trong Python là gì? Biến cục bộ, biến nonlocal được sử dụng trong Python như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!

Biến trong Python là gì?

Biến trong Python là các container lưu trữ giá trị dữ liệu. Python không có lệnh cho khai báo biến. Một biến được tạo ra vào lần đầu tiên bạn gán một giá trị cho nó. Ví dụ:

x = 5
y = "John"
print(x)
print(y)

Biến không cần được khai báo với bất kỳ kiểu type, và thậm chí có thể thay đổi kiểu sau khi thiết lập chúng.

x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)

Nếu muốn xác định kiểu dữ liệu của một biến, bạn có thể áp dụng phương pháp ép kiểu như ví dụ sau:

x = str(3) # x sẽ là '3'
y = int(3) # y sẽ là 3
z = float(3) # z sẽ là 3.0

Xác định kiểu biến trong Python

Bạn có thể lấy kiểu dữ liệu của một biến bằng hàm

x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
8. Ví dụ:

x = 5
y = "John"
print(type(x))
print(type(y))

Giờ chúng ta sẽ đi sâu vào tìm hiểu biến toàn cục (global), cục bộ (local) và nonlocal trong Python.

Biến toàn cục trong Python

Trong ngôn ngữ lập trình Python, một biến được khai báo bên ngoài hàm hoặc trong phạm vi toàn cục được gọi là biến toàn cục hay biến global. Biến toàn cục có thể được truy cập từ bên trong hoặc bên ngoài hàm.

Hãy xem ví dụ về cách tạo biến toàn cục trong Python.

#Khai báo biến x:
x = "Biến toàn cục" 

#Gọi x từ trong hàm vidu()
def vidu():
    print("x trong hàm vidu() :", x)

vidu()

#Gọi x ngoài hàm vidu()
print("x ngoài hàm vidu():", x)

Trong ví dụ trên, ta khai báo biến x là biến toàn cục, và định nghĩa hàm

x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
9 để in biến x. Cuối cùng ta gọi hàm
x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
9 để in giá trị của biến
x = str(3) # x sẽ là '3'
y = int(3) # y sẽ là 3
z = float(3) # z sẽ là 3.0
1. Chạy code trên ta sẽ được kết quả là:

x trong hàm vidu(): Biến toàn cục
x ngoài hàm vidu(): Biến toàn cục

Chuyện gì sẽ xảy ra nếu bạn thay đổi giá trị của x trong hàm?

x = 2 
def vidu():
   x=x*2    
   print(x)

vidu()

Nếu chạy code này bạn sẽ nhận được thông báo lỗi:

UnboundLocalError: local variable 'x' referenced before assignment

Lỗi này xuất hiện là do Python xử lý

x = str(3) # x sẽ là '3'
y = int(3) # y sẽ là 3
z = float(3) # z sẽ là 3.0
1 như một biến cục bộ và
x = str(3) # x sẽ là '3'
y = int(3) # y sẽ là 3
z = float(3) # z sẽ là 3.0
1 không được định nghĩa trong
x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
9.

Để thay đổi biến toàn cục trong một hàm bạn sẽ phải sử dụng từ khóa global. Chúng tôi sẽ nói kỹ hơn trong bài về từ khóa global.

Biến cục bộ trong Python

Biến được khai báo bên trong một hàm hoặc trong phạm vi cục bộ được gọi là biến cục bộ hay biến local.

def vidu():
    y = "Biến cục bộ"
vidu()
print(y)

Khi chạy code trên bạn sẽ nhận được thông báo lỗi:

NameError: name 'y' is not defined

Lỗi này xuất hiện là do chúng ta đã cố truy cập vào biến cục bộ y trong phạm vi toàn cục, nhưng y chỉ làm việc trong hàm

x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
9 hoặc phạm vi cục bộ.

Thông thường, để tạo một biến cục bộ, chúng ta sẽ khai báo nó trong một hàm như ví dụ dưới đây:

x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
0

Chạy code trên ta sẽ được kết quả

x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
1

Chúng ta quay trở lại xem xét vấn đề trước đó, lúc

x = str(3) # x sẽ là '3'
y = int(3) # y sẽ là 3
z = float(3) # z sẽ là 3.0
1 là một biến toàn cục và chúng ta muốn thay đổi
x = str(3) # x sẽ là '3'
y = int(3) # y sẽ là 3
z = float(3) # z sẽ là 3.0
1 trong
x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
9.

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

Ở đây, chúng ta sẽ học cách dùng biến cục bộ và toàn cục trong cùng một code.

x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
2

Chạy code trên ta sẽ có đầu ra:

x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
3

Trong code trên, chúng ta khai báo

x = str(3) # x sẽ là '3'
y = int(3) # y sẽ là 3
z = float(3) # z sẽ là 3.0
1 là biến toàn cục và
x = 5
y = "John"
print(type(x))
print(type(y))
0 là biến cục bộ trong
x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
9 và dùng toán tử * để thay đổi biến toàn cục và in cả giá trị của x và y. Sau khi gọi hàm
x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
9 giá trị của x sẽ thành 4 vì được nhân đôi.

Ví dụ sử dụng biến toàn cục và cục bộ trùng tên:

x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
4

Sau khi chạy code trên ta có đầu ra:

x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
5

Trong code trên, chúng ta sử dụng cùng tên x cho cả biến cục bộ và biến toàn cục. Khi in cùng biến x chúng ta nhận được hai kết quả khác nhau vì biến được khai báo ở cả hai phạm vi, cục bộ (bên trong hàm

x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
9) và toàn cục (bên ngoài hàm
x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
9).

Khi chúng ta in biến trong hàm

x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
9 nó sẽ xuất ra
x = 5
y = "John"
print(type(x))
print(type(y))
6, đây được gọi là phạm vi cục bộ của biến. Tương tự khi ta in biến bên ngoài hàm
x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
9 sẽ cho ra
x = 5
y = "John"
print(type(x))
print(type(y))
8, đây là phạm vi toàn cục của biến.

Biến nonlocal trong Python

Từ nonlocal này mình không biết dịch sang tiếng Việt sao cho chuẩn. Trong Python, biến nonlocal được sử dụng trong hàm lồng nhau nơi mà phạm vi cục bộ không được định nghĩa. Nói dễ hiểu thì biến nonlocal không phải biến local, không phải biến global, bạn khai báo một biến là nonlocal khi muốn sử dụng nó ở phạm vi rộng hơn local, nhưng chưa đến mức global.

Để khai báo biến nonlocal ta cần dùng đến từ khóa nonlocal.

Ví dụ:

x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
6

Chạy code trên bạn sẽ có đầu ra:

x = 4 # x là một kiểu int
x = "Sally" # x giờ là kiểu str
print(x)
7

Trong code trên có một hàm lồng là

x = 5
y = "John"
print(type(x))
print(type(y))
9, ta dùng từ khóa
#Khai báo biến x:
x = "Biến toàn cục" 

#Gọi x từ trong hàm vidu()
def vidu():
    print("x trong hàm vidu() :", x)

vidu()

#Gọi x ngoài hàm vidu()
print("x ngoài hàm vidu():", x)
0 để tạo biến nonlocal. Hàm
x = 5
y = "John"
print(type(x))
print(type(y))
9 được định nghĩa trong phạm vi của
#Khai báo biến x:
x = "Biến toàn cục" 

#Gọi x từ trong hàm vidu()
def vidu():
    print("x trong hàm vidu() :", x)

vidu()

#Gọi x ngoài hàm vidu()
print("x ngoài hàm vidu():", x)
2.

Lưu ý: Nếu chúng ta thay đổi giá trị của biến nonlocal, sự thay đổi sẽ xuất hiện trong biến cục bộ.

Đừng quên làm bài tập Python bạn nhé.

  • Hàm any() trong Python
  • Hàm ascii() trong Python
  • Hàm abs() trong Python: Trả về giá trị tuyệt đối của một số
  • Hàm bool() trong Python

Thứ Ba, 27/12/2022 17:10

4,221 👨 30.841

#Python

2 Bình luận

Sắp xếp theo

Biến toàn bộ là gì

Xóa Đăng nhập để Gửi

  • Biến toàn bộ là gì

    Nguyễn Bảo

    ghi thiếu dòng code nhiều quá nhennn

    Thích · Phản hồi · 1 · 22:28 05/11

  • Biến toàn bộ là gì

    Nguyễn Hữu Thương

    lần đầu  dùng pc để truy  cập  quản trị  mạng.  rất  bất ngờ . bố cục quá tuyệt  vời


    Thích · Phản hồi · 0 · 06:52 02/07

Bạn nên đọc

  • Biến toàn bộ là gì
    Những di động cảm ứng giá rẻ
  • Biến toàn bộ là gì
    Cách gửi 38 loại file bị cấm từ Outlook
  • Biến toàn bộ là gì
    Đây chính là lý do Elon Musk muốn tiến hành một vụ "tấn công hạt nhân" nhắm vào sao Hỏa
  • Biến toàn bộ là gì
    Biến gỗ thành vật liệu đàn hồi như cao su
  • Biến toàn bộ là gì
    Sony tung ra phần mềm mới xem video trực tuyến
  • Biến toàn bộ là gì
    Thay đổi tên sở hữu trong Windows XP

Python

  • Biến toàn bộ là gì
    Viết chương trình tính số cách leo cầu thang bằng Python
  • Biến toàn bộ là gì
    Viết chương trình di chuyển số 0 bằng Python
  • Biến toàn bộ là gì
    Lập trình công cụ phân tích thời gian sử dụng smartphone bằng Python
  • Biến toàn bộ là gì
    Viết chương trình tính căn bậc hai của một số bằng Python
  • Biến toàn bộ là gì
    Tìm hiểu chương trình Python đầu tiên
  • Biến toàn bộ là gì
    Viết chương trình biến nhiều số nguyên thành một số nguyên duy nhất bằng Python
Xem thêm

Python 3

  • Python cơ bản
    • Python là gì? Tại sao nên chọn Python?
    • Cách cài đặt Python trên Windows, macOS, Linux
    • Từ khóa và định danh
    • Cách viết lệnh, thụt lề và chú thích
    • Kiểu dữ liệu: chuỗi, số, list, tuple, set và dictionary
    • Tìm hiểu chương trình Python đầu tiên
    • Mảng trong Python
    • Cách sử dụng List comprehension
  • Điều khiển luồng và vòng lặp
    • Lệnh if, if...else, if...elif...else
    • Vòng lặp for
    • Vòng lặp while
    • Lệnh break và continue
    • Lệnh pass
    • Các kỹ thuật vòng lặp
  • Hàm Python
    • Các hàm trong Python
    • Các hàm Python tích hợp sẵn
    • Hàm Python do người dùng tự định nghĩa
    • Tham số hàm Python
    • Hàm đệ quy trong Python
    • Hàm vô danh, Lambda
    • Các loại biến trong Python
    • Từ khóa global
    • Module
    • Pakage
  • File trong Python
    • Làm việc với File
    • Quản lý File và thư mục
    • Error (Lỗi) và Exception (Ngoại lệ)
    • Xử lý ngoại lệ - Exception Handling
  • Class và Object trong Python
    • Lập trình hướng đối tượng - OOP
    • Tìm hiểu Class và Object
    • Kế thừa (Inheritance)
    • Đa kế thừa (Multiple Inheritance)
    • Nạp chồng toán tử
  • Python nâng cao
    • Ma trận trong Python
    • Đối tượng Iterator trong Python
    • Generator trong Python
    • Closure trong Python
    • Decorator trong Python
    • @property trong Python
    • RegEx trong Python
  • Datetime trong Python
    • Datetime trong Python
    • Hàm datetime.strftime()
    • Hàm datetime.strptime()
    • Ngày giờ hiện tại
    • Chuyển đổi timestamp
    • Module time
    • Hàm time.sleep()
  • Bài tập Python
    • Hơn 100 bài tập Python có lời giải (code mẫu)
    • Giải phương trình bậc 2 một ẩn bằng Python
  • Trắc nghiệm Python
    • Python Quiz - Phần 1
    • Python Quiz - Phần 2
    • Python Quiz - Phần 3
    • Python Quiz - Phần 4
    • Python Quiz - Phần 5
    • Python Quiz - Phần 6
    • Python Quiz - Phần 7
    • Python Quiz - Phần 8
    • Python Quiz - Phần 9
    • Python Quiz - Phần 10
    • Python Quiz - Phần 11

  • Biến toàn bộ là gì
    Công nghệ
    • Biến toàn bộ là gì
      Ứng dụng
    • Biến toàn bộ là gì
      Hệ thống
    • Biến toàn bộ là gì
      Game - Trò chơi
    • Biến toàn bộ là gì
      iPhone
    • Biến toàn bộ là gì
      Android
    • Biến toàn bộ là gì
      Linux
    • Biến toàn bộ là gì
      Nền tảng Web
    • Biến toàn bộ là gì
      Đồng hồ thông minh
    • Biến toàn bộ là gì
      Chụp ảnh - Quay phim
    • Biến toàn bộ là gì
      macOS
    • Biến toàn bộ là gì
      Phần cứng
    • Biến toàn bộ là gì
      Thủ thuật SEO
    • Biến toàn bộ là gì
      Kiến thức cơ bản
    • Biến toàn bộ là gì
      Raspberry Pi
    • Biến toàn bộ là gì
      Dịch vụ ngân hàng
    • Biến toàn bộ là gì
      Lập trình
    • Biến toàn bộ là gì
      Dịch vụ công trực tuyến
    • Biến toàn bộ là gì
      Dịch vụ nhà mạng
    • Biến toàn bộ là gì
      Nhà thông minh
  • Biến toàn bộ là gì
    Download
    • Biến toàn bộ là gì
      Ứng dụng văn phòng
    • Biến toàn bộ là gì
      Tải game
    • Biến toàn bộ là gì
      Tiện ích hệ thống
    • Biến toàn bộ là gì
      Ảnh, đồ họa
    • Biến toàn bộ là gì
      Internet
    • Biến toàn bộ là gì
      Bảo mật, Antivirus
    • Biến toàn bộ là gì
      Họp, học trực tuyến
    • Biến toàn bộ là gì
      Video, phim, nhạc
    • Biến toàn bộ là gì
      Mail
    • Biến toàn bộ là gì
      Lưu trữ đám mây
    • Biến toàn bộ là gì
      Giao tiếp, liên lạc, hẹn hò
    • Biến toàn bộ là gì
      Hỗ trợ học tập
    • Biến toàn bộ là gì
      Máy ảo
  • Biến toàn bộ là gì
    Tiện ích
  • Biến toàn bộ là gì
    Khoa học
    • Biến toàn bộ là gì
      Khoa học vui
    • Biến toàn bộ là gì
      Khám phá khoa học
    • Biến toàn bộ là gì
      Bí ẩn - Chuyện lạ
    • Biến toàn bộ là gì
      Chăm sóc Sức khỏe
    • Biến toàn bộ là gì
      Khoa học Vũ trụ
    • Biến toàn bộ là gì
      Khám phá thiên nhiên
  • Biến toàn bộ là gì
    Điện máy
    • Biến toàn bộ là gì
      Tủ lạnh
    • Biến toàn bộ là gì
      Tivi
    • Biến toàn bộ là gì
      Điều hòa
    • Biến toàn bộ là gì
      Máy giặt
  • Biến toàn bộ là gì
    Cuộc sống
    • Biến toàn bộ là gì
      Kỹ năng
    • Biến toàn bộ là gì
      Món ngon mỗi ngày
    • Biến toàn bộ là gì
      Làm đẹp
    • Biến toàn bộ là gì
      Nuôi dạy con
    • Biến toàn bộ là gì
      Chăm sóc Nhà cửa
    • Biến toàn bộ là gì
      Kinh nghiệm Du lịch
    • Biến toàn bộ là gì
      Halloween
    • Biến toàn bộ là gì
      Mẹo vặt
    • Biến toàn bộ là gì
      Giáng sinh - Noel
    • Biến toàn bộ là gì
      Tết 2023
    • Biến toàn bộ là gì
      Quà tặng
    • Biến toàn bộ là gì
      Giải trí
    • Biến toàn bộ là gì
      Là gì?
    • Biến toàn bộ là gì
      Nhà đẹp
    • Biến toàn bộ là gì
      TOP
    • Biến toàn bộ là gì
      Phong thủy
  • Biến toàn bộ là gì
    Video
    • Biến toàn bộ là gì
      Công nghệ
    • Biến toàn bộ là gì
      Cisco Lab
    • Biến toàn bộ là gì
      Microsoft Lab
    • Biến toàn bộ là gì
      Video Khoa học
  • Biến toàn bộ là gì
    Ô tô, Xe máy
    • Biến toàn bộ là gì
      Giấy phép lái xe
  • Biến toàn bộ là gì
    Làng Công nghệ
    • Biến toàn bộ là gì
      Tấn công mạng
    • Biến toàn bộ là gì
      Chuyện công nghệ
    • Biến toàn bộ là gì
      Công nghệ mới
    • Biến toàn bộ là gì
      Trí tuệ nhân tạo (AI)
    • Biến toàn bộ là gì
      Anh tài công nghệ
    • Biến toàn bộ là gì
      Bình luận công nghệ
    • Biến toàn bộ là gì
      Tổng hợp
  • Biến toàn bộ là gì
    Học CNTT
    • Biến toàn bộ là gì
      Quiz công nghệ
    • Biến toàn bộ là gì
      Microsoft Word 2016
    • Biến toàn bộ là gì
      Microsoft Word 2013
    • Biến toàn bộ là gì
      Microsoft Word 2007
    • Biến toàn bộ là gì
      Microsoft Excel 2019
    • Biến toàn bộ là gì
      Microsoft Excel 2016
    • Biến toàn bộ là gì
      Hàm Excel
    • Biến toàn bộ là gì
      Microsoft PowerPoint 2019
    • Biến toàn bộ là gì
      Microsoft PowerPoint 2016
    • Biến toàn bộ là gì
      Google Sheets - Trang tính
    • Biến toàn bộ là gì
      Photoshop CS6
    • Biến toàn bộ là gì
      Photoshop CS5
    • Biến toàn bộ là gì
      HTML
    • Biến toàn bộ là gì
      CSS và CSS3
    • Biến toàn bộ là gì
      Python
    • Biến toàn bộ là gì
      Học SQL
    • Biến toàn bộ là gì
      Lập trình C
    • Biến toàn bộ là gì
      Lập trình C++
    • Biến toàn bộ là gì
      Lập trình C#
    • Biến toàn bộ là gì
      Học HTTP
    • Biến toàn bộ là gì
      Bootstrap
    • Biến toàn bộ là gì
      SQL Server
    • Biến toàn bộ là gì
      JavaScript
    • Biến toàn bộ là gì
      Học PHP
    • Biến toàn bộ là gì
      jQuery
    • Biến toàn bộ là gì
      Học MongoDB
    • Biến toàn bộ là gì
      Unix/Linux
    • Biến toàn bộ là gì
      Học Git
    • Biến toàn bộ là gì
      NodeJS

Giới thiệu | Điều khoản | Bảo mật | Hướng dẫn | Ứng dụng | Liên hệ | Quảng cáo | Facebook | Youtube | DMCA

Giấy phép số 362/GP-BTTTT. Bộ Thông tin và Truyền thông cấp ngày 30/06/2016. Cơ quan chủ quản: CÔNG TY CỔ PHẦN MẠNG TRỰC TUYẾN META. Địa chỉ: 56 Duy Tân, Dịch Vọng Hậu, Cầu Giấy, Hà Nội. Điện thoại: 024 2242 6188. Email: [email protected]. Chịu trách nhiệm nội dung: Lê Ngọc Lam.

Bản quyền © 2003-2022 QuanTriMang.com. Giữ toàn quyền. Không được sao chép hoặc sử dụng hoặc phát hành lại bất kỳ nội dung nào thuộc QuanTriMang.com khi chưa được phép.