Hướng dẫn how do you access a variable outside a function in python? - làm thế nào để bạn truy cập một biến bên ngoài một hàm trong python?

Biến toàn cầu

Trong Python, một biến được khai báo bên ngoài hàm hoặc trong phạm vi toàn cầu được gọi là biến toàn cầu. Điều này có nghĩa là một biến toàn cầu có thể được truy cập bên trong hoặc bên ngoài hàm.

Hãy xem một ví dụ về cách một biến toàn cầu được tạo ra trong Python.

Ví dụ 1: Tạo một biến toàn cầu

x = "global"

def foo[]:
    print["x inside:", x]


foo[]
print["x outside:", x]

Đầu ra

x inside: global
x outside: global

Trong mã trên, chúng tôi đã tạo X như một biến toàn cầu và xác định

x inside: global
x outside: global
9 để in biến x toàn cầu x. Cuối cùng, chúng tôi gọi
x inside: global
x outside: global
9 sẽ in giá trị của x.

Điều gì sẽ xảy ra nếu bạn muốn thay đổi giá trị của x bên trong một hàm?

x = "global"

def foo[]:
    x = x * 2
    print[x]

foo[]

Đầu ra

UnboundLocalError: local variable 'x' referenced before assignment

Trong mã trên, chúng tôi đã tạo X như một biến toàn cầu và xác định

x inside: global
x outside: global
9 để in biến x toàn cầu x. Cuối cùng, chúng tôi gọi
x inside: global
x outside: global
9 sẽ in giá trị của x.

Điều gì sẽ xảy ra nếu bạn muốn thay đổi giá trị của x bên trong một hàm?

Đầu ra cho thấy một lỗi vì Python coi X là biến cục bộ và X cũng không được xác định bên trong
x inside: global
x outside: global
9.

Để thực hiện công việc này, chúng tôi sử dụng từ khóa

x = "global"

def foo[]:
    x = x * 2
    print[x]

foo[]
2. Truy cập từ khóa toàn cầu Python để tìm hiểu thêm.

Các biến cục bộ

def foo[]:
    y = "local"


foo[]
print[y]

Đầu ra

NameError: name 'y' is not defined

Trong mã trên, chúng tôi đã tạo X như một biến toàn cầu và xác định

x inside: global
x outside: global
9 để in biến x toàn cầu x. Cuối cùng, chúng tôi gọi
x inside: global
x outside: global
9 sẽ in giá trị của x.

Điều gì sẽ xảy ra nếu bạn muốn thay đổi giá trị của x bên trong một hàm?

Đầu ra cho thấy một lỗi vì Python coi X là biến cục bộ và X cũng không được xác định bên trong
x inside: global
x outside: global
9.

Để thực hiện công việc này, chúng tôi sử dụng từ khóa

x = "global"

def foo[]:
    x = x * 2
    print[x]

foo[]
2. Truy cập từ khóa toàn cầu Python để tìm hiểu thêm.

def foo[]:
    y = "local"
    print[y]

foo[]

Đầu ra

local

Trong mã trên, chúng tôi đã tạo X như một biến toàn cầu và xác định

x inside: global
x outside: global
9 để in biến x toàn cầu x. Cuối cùng, chúng tôi gọi
x inside: global
x outside: global
9 sẽ in giá trị của x.

Điều gì sẽ xảy ra nếu bạn muốn thay đổi giá trị của x bên trong một hàm?

Đầu ra cho thấy một lỗi vì Python coi X là biến cục bộ và X cũng không được xác định bên trong

x inside: global
x outside: global
9.

Để thực hiện công việc này, chúng tôi sử dụng từ khóa
x = "global"

def foo[]:
    x = x * 2
    print[x]

foo[]
2. Truy cập từ khóa toàn cầu Python để tìm hiểu thêm.

x = "global "

def foo[]:
    global x
    y = "local"
    x = x * 2
    print[x]
    print[y]

foo[]

Đầu ra

global global 
local

Trong mã trên, chúng tôi đã tạo X như một biến toàn cầu và xác định

x inside: global
x outside: global
9 để in biến x toàn cầu x. Cuối cùng, chúng tôi gọi
x inside: global
x outside: global
9 sẽ in giá trị của x.

Điều gì sẽ xảy ra nếu bạn muốn thay đổi giá trị của x bên trong một hàm?

Đầu ra cho thấy một lỗi vì Python coi X là biến cục bộ và X cũng không được xác định bên trong
x inside: global
x outside: global
9.

x inside: global
x outside: global
0

Đầu ra

x inside: global
x outside: global
1

Trong mã trên, chúng tôi đã tạo X như một biến toàn cầu và xác định

x inside: global
x outside: global
9 để in biến x toàn cầu x. Cuối cùng, chúng tôi gọi
x inside: global
x outside: global
9 sẽ in giá trị của x.

Điều gì sẽ xảy ra nếu bạn muốn thay đổi giá trị của x bên trong một hàm?

Đầu ra cho thấy một lỗi vì Python coi X là biến cục bộ và X cũng không được xác định bên trong

x inside: global
x outside: global
9.

Để thực hiện công việc này, chúng tôi sử dụng từ khóa
x = "global"

def foo[]:
    x = x * 2
    print[x]

foo[]
2. Truy cập từ khóa toàn cầu Python để tìm hiểu thêm.

Các biến cục bộ

Một biến được khai báo bên trong cơ thể của hàm hoặc trong phạm vi cục bộ được gọi là biến cục bộ.

Ví dụ 2: Truy cập biến cục bộ bên ngoài phạm vi

Đầu ra cho thấy một lỗi vì chúng tôi đang cố gắng truy cập một biến cục bộ y trong phạm vi toàn cầu trong khi biến cục bộ chỉ hoạt động bên trong
x inside: global
x outside: global
9 hoặc phạm vi cục bộ.

x inside: global
x outside: global
2

Đầu ra

x inside: global
x outside: global
3

Trong mã trên, chúng tôi đã tạo X như một biến toàn cầu và xác định

x inside: global
x outside: global
9 để in biến x toàn cầu x. Cuối cùng, chúng tôi gọi
x inside: global
x outside: global
9 sẽ in giá trị của x.

Điều gì sẽ xảy ra nếu bạn muốn thay đổi giá trị của x bên trong một hàm? : If we change the value of a nonlocal variable, the changes appear in the local variable.

Nếu bạn muốn tránh

x = "global"

def foo[]:
    x = x * 2
    print[x]

foo[]
2, một cách tiếp cận có thể là xác định một lớp. Mỗi trường hợp lớp có các thuộc tính riêng của nó; Ngoài ra còn có một không gian thuộc tính lớp trong đó các trường hợp có thể chia sẻ một thuộc tính giữa chúng.

Lập trình hướng đối tượng có thể là một thách thức để tham gia nếu bạn chưa quen với Python, nhưng đây thực sự có thể là thời điểm tốt để bắt đầu chơi với nó.

x inside: global
x outside: global
4

Bây giờ, hãy tạo hai trường hợp.

x inside: global
x outside: global
5

Các phương pháp

def foo[]:
    y = "local"


foo[]
print[y]
3 và
def foo[]:
    y = "local"


foo[]
print[y]
4 không hoàn toàn cần thiết trong các ví dụ đơn giản như thế này. Bạn cũng có thể làm

x inside: global
x outside: global
6

.

Nếu bạn thay đổi thuộc tính lớp thông qua một trường hợp, nó cũng sẽ không được thay đổi trong các trường hợp khác.

x inside: global
x outside: global
7

Nhưng nếu bạn thay đổi nó trong bản thân lớp, nó sẽ được thay đổi trong tất cả các trường hợp không ghi đè riêng biệt giá trị được chia sẻ.

x inside: global
x outside: global
8

Để tóm tắt lại, bạn tạo một thể hiện

def foo[]:
    y = "local"


foo[]
print[y]
5 mới bằng cách gọi
def foo[]:
    y = "local"


foo[]
print[y]
6; Điều này sẽ chạy phương thức
def foo[]:
    y = "local"


foo[]
print[y]
7 trước khi trả lại thể hiện mới. Bên trong lớp, phiên bản là đối số đầu tiên cho mọi phương pháp [không tĩnh, không lớp] và được gọi theo quy ước
def foo[]:
    y = "local"


foo[]
print[y]
8 [mặc dù bạn có thể thoát khỏi việc gọi nó là
def foo[]:
    y = "local"


foo[]
print[y]
9 nếu bạn muốn ].

Có rất nhiều lớp học; Điểm bán hàng chính có lẽ là bạn có thể tạo các lớp con kế thừa từ lớp cha mẹ của chúng nhưng có thể ghi đè một số hành vi [ví dụ phổ biến thường liên quan đến các khái niệm trong thế giới thực như động vật hoặc phương tiện, nhưng một lớp học có thể là bất cứ điều gì bạn muốn tạo ra một loại và gói gọn hành vi của nó, và có lẽ ghi đè một số phương thức trong các loại dẫn xuất].

Làm thế nào để bạn truy cập biến từ hàm bên ngoài trong Python?

Sử dụng câu lệnh toàn cầu nếu bạn muốn gán một giá trị cho một tên được xác định bên ngoài hàm, thì bạn phải nói với Python rằng tên này không phải là cục bộ, nhưng nó là toàn cầu. Chúng tôi làm điều này bằng cách sử dụng tuyên bố toàn cầu. Không thể gán một giá trị cho một biến được xác định bên ngoài một hàm mà không có tuyên bố toàn cầu. If you want to assign a value to a name defined outside the function, then you have to tell Python that the name is not local, but it is global. We do this using the global statement. It is impossible to assign a value to a variable defined outside a function without the global statement.

Làm thế nào để bạn truy cập các giá trị biến bên ngoài một hàm?

Vì vậy, cách dễ nhất để làm cho biến của bạn có thể truy cập từ bên ngoài chức năng là khai báo trước tiên bên ngoài chức năng, sau đó sử dụng nó bên trong hàm ...
hàm một [] {var a; hàm hai [] {a = 10; trả lại a; } Trả về a; }.
var a; Phân tích cú pháp. làm việc gì đó[]..
var a; truy vấn..

Làm thế nào để bạn truy cập một biến từ một hàm trong Python?

Sử dụng câu lệnh trả về để có được biến từ chức năng trong Python. Câu lệnh trả về trong Python được sử dụng để trả về một số giá trị từ một hàm trong Python. Vì chúng tôi không thể truy cập biến được xác định trong hàm từ bên ngoài, chúng tôi có thể trả về nó bằng cách sử dụng câu lệnh trả về để nhận biến từ hàm trong Python ... to get variable from function in Python. The return statement in Python is used to return some value from a function in Python. Since we cannot access the variable defined within the function from the outside, we can return it using the return statement to get variable from function in Python ...

Làm thế nào để bạn sử dụng một biến từ một chức năng khác trong Python?

Làm thế nào để bạn sử dụng một biến từ một chức năng khác trong Python?Biến có thể được gán cho đối tượng hàm bên trong phần thân hàm.Vì vậy, biến chỉ tồn tại sau khi hàm được gọi.Khi hàm đã được gọi, biến sẽ được liên kết với đối tượng hàm.The variable can be assigned to the function object inside the function body. So the variable exists only after the function has been called. Once the function has been called, the variable will be associated with the function object.

Bài Viết Liên Quan

Chủ Đề