Làm thế nào để bạn tìm thấy các biến cục bộ trong python?

Các biến được tạo bên ngoài hàm [như trong tất cả các ví dụ ở trên] được gọi là biến toàn cục

Mọi người đều có thể sử dụng biến toàn cục, cả bên trong và bên ngoài hàm

Ví dụ

Tạo một biến bên ngoài một hàm và sử dụng nó bên trong hàm

x = "tuyệt vời"

def myfunc[].
  print["Python la " + x]

myfunc[]

Tự mình thử »

Nếu bạn tạo một biến có cùng tên bên trong một hàm, biến này sẽ là cục bộ và chỉ có thể được sử dụng bên trong hàm. Biến toàn cục có cùng tên sẽ vẫn như cũ, toàn cầu và với giá trị ban đầu

Ví dụ

Tạo một biến bên trong một hàm, có cùng tên với biến toàn cục

x = "tuyệt vời"

def myfunc[].
  x = "tuyệt vời"
  print["Python la " + x]

myfunc[]

print["Trăn là " + x]

Tự mình thử »

Từ khóa toàn cầu

Thông thường, khi bạn tạo một biến bên trong hàm, biến đó là cục bộ và chỉ có thể được sử dụng bên trong hàm đó

Để tạo một biến toàn cục bên trong một hàm, bạn có thể sử dụng từ khóa global

Ví dụ

Nếu bạn sử dụng từ khóa global thì biến thuộc phạm vi toàn cục

def myfunc[].
  toàn cầu x
  x = "tuyệt vời"

myfunc[]

print["Trăn là " + x]

Tự mình thử »

Ngoài ra, hãy sử dụng từ khóa global nếu bạn muốn thay đổi một biến toàn cục bên trong một hàm

Ví dụ

Để thay đổi giá trị của một biến toàn cục bên trong một hàm, hãy tham chiếu đến biến đó bằng cách sử dụng từ khóa global

Biến cục bộ Python đóng một vai trò quan trọng trong toàn bộ ngôn ngữ lập trình python vì nó được sử dụng cho mọi định nghĩa và thao tác phạm vi. Một biến cục bộ trong Python luôn được khai báo trong một phạm vi cụ thể giống như nó hầu như hiện diện trong bất kỳ phần thân nào của hàm mà các thành viên khác có thể truy cập nó. Do đó, rất khó và hiếm khi các biến cục bộ xuất hiện bên ngoài phạm vi hoặc bên ngoài chức năng. Nếu một biến xuất hiện bên ngoài phạm vi, nó được coi là biến toàn cục và tất cả các thành viên trở nên không thể truy cập được đối với biến cục bộ

Gói phát triển phần mềm tất cả trong một[hơn 600 khóa học, hơn 50 dự án]

Giá
Xem khóa học

600+ Khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 6 [84.212 xếp hạng]

Cú pháp của biến cục bộ trong Python

Bắt đầu khóa học phát triển phần mềm miễn phí của bạn

Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác

Luồng cú pháp khai báo biến cục bộ trong hàm cho Python bao gồm biểu diễn sau

Function_declaration []:
  Variable= "var_assign"
  Logic statement []
Function_declaration [] //calling of the function

Giải trình

Một hàm được khai báo, sau đó biến được lấy, tạo bộ nhớ và trên đầu nó, một biến được gán, làm cho nó trở thành biến cục bộ, sau đó hàm được gọi và sau đó câu lệnh logic sau được gọi để thực hiện

Biến cục bộ hoạt động như thế nào trong Python?

  • Không giống như các biến khác, biến cục bộ trong Python cũng có rất nhiều khu vực để định nghĩa và khai báo với một phạm vi cụ thể giúp nó có thể hoạt động được
  • Các biến cục bộ trong Python rất quan trọng khi các thành viên của biến, phương thức và phương thức muốn thực thi một câu lệnh hoặc hàm cụ thể, điều này sẽ gây ra một số lỗi nếu một số biến không mong muốn xuất hiện
  • Các biến cục bộ hầu hết được xác định trong hàm và chỉ được sử dụng trong hàm;
  • Biến toàn cục hoạt động hoàn toàn ngược lại với định nghĩa biến cục bộ và chúng có thể hiện diện bên ngoài hàm và phạm vi khá rộng nếu trong trường hợp không có biến cục bộ bên trong hàm thì biến hiện diện bên ngoài dưới dạng biến toàn cục sẽ có thể truy cập được đối với bất kỳ biến nào.
  • Sau đó, cũng có một số loại biến không cục bộ, có vẻ là biến cục bộ, nhưng chúng không phải là. Các loại phạm vi biến này hầu hết được tìm thấy trong hàm lồng nhau hoặc câu lệnh vòng lặp lồng nhau
  • Nếu trong trường hợp bất kỳ loại thay đổi nào về giá trị của biến không cục bộ dẫn đến thay đổi bên ngoài, thì chắc chắn nó sẽ được phản ánh trong biến cục bộ
  • Các định danh đối số chính thức có trong python cũng hoạt động tương tự như các biến cục bộ
  • Nếu bất kỳ ai cố gắng lấy biến cục bộ bên ngoài phạm vi hoặc chức năng, nó sẽ đưa ra một ngoại lệ có nội dung NameError Exception
  • Định nghĩa và khai báo các biến cục bộ trong Python hoạt động theo cách này một lần nữa tùy thuộc vào yêu cầu

Ví dụ về biến cục bộ trong Python

Dưới đây là các ví dụ về Biến cục bộ trong Python

Ví dụ 1

Chương trình này minh họa biến cục bộ khi được xác định bên trong hàm nơi biến được khai báo bên trong hàm và sau đó là một câu lệnh, theo sau là lời gọi hàm như thể hiện trong đầu ra bên dưới

Mã số

def dinner_prep[]:
  dine = 'Pizza_with_extra_topping'
  print['Please have a pizza with extra_topping', dine]
dinner_prep[]

đầu ra

Ví dụ #2

Chương trình này trình bày kịch bản trong đó pizza_name là biến cục bộ được xác định cho hàm dine_time[] và báo lỗi không thể truy cập bên ngoài hàm được xác định

Mã số

dine_time[]
pizza
pizza_name

đầu ra

Giải trình

Biến ở trên với pizza_name được xác định sau khi biến cục bộ được xác định, điều này không cho phép biến truy cập vào thành viên hoặc chức năng khác, do đó không cung cấp phân bổ phù hợp và hoạt động của biến

Ví dụ #3

Chương trình này minh họa biến không phải cục bộ với hai tình huống mô tả các thay đổi và trường hợp nếu giá trị nằm trong phạm vi hoặc ngữ cảnh hoặc nếu trong trường hợp giá trị không nằm trong phạm vi thì giá trị cũng sẽ có ảnh hưởng

Mã số

def outer_def[no_local_val]:
    p_1=150
    print ['value in outer function:',p_1]
    def with_no_local_val[]:
        nonlocal p_1
        p_2=65    
    def without_no_local_val[]:
        p_2=78    
    if no_local_val==True:
        with_no_local_val[]
    else:
        without_no_local_val[]
    
    return p_1        
print [outer_def[True]]
print [outer_def[False]]

đầu ra

Ví dụ #4

Chương trình này minh họa kịch bản trong trường hợp giá trị được xác định trong phạm vi toàn cầu được xác định trong phạm vi cục bộ, thì điều gì sẽ xảy ra?

Mã số

x_0=14
def m_func[]:
    x_0=14
    x_0=x_0*4
    print ['x_0 function scope comes as: ', x_0]
m_func[]
print ['x_0 function_scope_in_case_of_global_declr: ',x_0]

đầu ra

Giải trình

  • Trong chương trình này, chúng ta có thể thấy rằng cùng một biến được xác định bên ngoài và bên trong hàm, điều này giúp giải quyết biến cục bộ và biến logic trước, sau đó nó ra khỏi hàm và khai báo biến toàn cục. Một số người có thể hiểu theo nghĩa khác vì các biến được khai báo nằm ngoài phạm vi, vì vậy nó sẽ xuất hiện sau
  • Vì nó là một loại xung đột giữa hai loại biến, biến được xác định bên trong sẽ được sắp xếp trước và sau đó nó sẽ xử lý biến toàn cục

Ví dụ #5

Chương trình này minh họa kịch bản trong đó cả toàn cầu và cục bộ được xác định trong cùng một đoạn mã với sự khác biệt trong khai báo của chúng trong đó các biến có cách xác định riêng, sau đó diễn giải và so sánh được thực hiện như thể hiện trong đầu ra

Mã số

h_0 = 40
def f_a[]:
    print['Present_Inside_f_a[] : ', h_0]

def g_b[]:   
    h_0 = 40
    print['Present_Inside_g_b[] : ', h_0]
 
def h_p[]:   
    global h_0
    h_0 = 86
    print['Present_Inside_h_z[] : ', h_0]
print['global : ',h_0]
f_a[]
print['global : ',h_0]
g_b[]
print['global : ',h_0]
h_p[]
print['global : ',h_0]

đầu ra

Giải trình

Ở đây, biến toàn cục được xác định bên ngoài phạm vi, theo sau là ba hàm trong đó biến cục bộ được khai báo cùng với biến toàn cục và có sự hiện diện lồng nhau bên trong nó như được hiển thị trong đầu ra. Luôn ưu tiên cho biến bên trong và biến cục bộ bên trong hàm lồng nhau, theo sau là bên ngoài

Phần kết luận

Biến cục bộ trong Python đóng một vai trò quan trọng theo nghĩa nó giúp làm cho hàm và đoạn mã truy cập vào các biến thành viên khác với thao tác đơn giản và dễ dàng. Ngoài ra, các biến cục bộ giúp tạo ra toàn bộ quy trình làm việc với biến toàn cục tương thích và ít phức tạp hơn. Ngoài ra, các hàm hoặc câu lệnh lồng nhau kết hợp rất tốt với các biến cục bộ

Bài viết được đề xuất

Đây là hướng dẫn về Biến cục bộ trong Python. Ở đây chúng tôi thảo luận về phần giới thiệu, cú pháp và hoạt động của một biến cục bộ trong python cùng với các ví dụ khác nhau. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –

Python phát hiện các biến cục bộ như thế nào?

Chúng ta có thể sử dụng hàm co_nlocals[] để trả về số lượng biến cục bộ mà hàm sử dụng để nhận được kết quả mong muốn.

Biến cục bộ trong Python là gì?

Trong Python hay bất kỳ ngôn ngữ lập trình nào khác, định nghĩa về biến cục bộ vẫn giữ nguyên, đó là “ Biến được khai báo bên trong hàm được gọi là hàm cục bộ”. We can access a local variable inside but not outside the function.

Các biến cục bộ được tìm thấy ở đâu?

Một biến cục bộ được khai báo trong hàm hoặc khối chương trình và nó có thể được sử dụng bên trong khối mã hoặc chương trình con mà nó được khai báo. Biến cục bộ tồn tại cho đến khi mã thực thi khối; .

Các biến cục bộ của một hàm được Python lưu trữ ở đâu?

Python lưu trữ đối tượng trong bộ nhớ heap và tham chiếu của đối tượng trong ngăn xếp. Các biến, hàm được lưu trữ trong ngăn xếp và đối tượng được lưu trữ trong heap.

Chủ Đề