Các biến được khai báo bên ngoài chức năng python toàn cầu?

Biến toàn cục là những biến không được xác định bên trong bất kỳ hàm nào và có phạm vi toàn cục trong khi biến cục bộ là những biến được định nghĩa bên trong hàm và phạm vi của nó chỉ giới hạn ở hàm đó. Nói cách khác, chúng ta có thể nói rằng các biến cục bộ chỉ có thể truy cập được bên trong hàm mà nó được khởi tạo trong khi các biến toàn cục có thể truy cập được trong toàn bộ chương trình và bên trong mọi hàm. Biến cục bộ là những biến được khởi tạo bên trong một hàm và chỉ thuộc về hàm cụ thể đó. Nó không thể được truy cập ở bất cứ đâu bên ngoài chức năng. Hãy xem cách tạo một biến cục bộ

Thí dụ. Tạo biến cục bộ

Python3




def f[]:

 

NameError: name 's' is not defined
0
NameError: name 's' is not defined
1

NameError: name 's' is not defined
0
NameError: name 's' is not defined
3
NameError: name 's' is not defined
4
NameError: name 's' is not defined
5

NameError: name 's' is not defined
0
NameError: name 's' is not defined
7
NameError: name 's' is not defined
8

 

 

Inside Function I love Geeksforgeeks
Outside Function I love Geeksforgeeks
1

Inside Function I love Geeksforgeeks
Outside Function I love Geeksforgeeks
2

Đầu ra

I love Geeksforgeeks

Nếu chúng ta cố gắng sử dụng biến cục bộ này bên ngoài hàm thì hãy xem điều gì sẽ xảy ra

Thí dụ

Python3




def f[]:

Inside Function I love Geeksforgeeks
Outside Function I love Geeksforgeeks
5

NameError: name 's' is not defined
0
NameError: name 's' is not defined
1

NameError: name 's' is not defined
0
NameError: name 's' is not defined
3
NameError: name 's' is not defined
4
NameError: name 's' is not defined
5

NameError: name 's' is not defined
0
NameError: name 's' is not defined
7
Me too.
I love Geeksforgeeks
4
Me too.
I love Geeksforgeeks
5
Me too.
I love Geeksforgeeks
6

 

Inside Function I love Geeksforgeeks
Outside Function I love Geeksforgeeks
1

Inside Function I love Geeksforgeeks
Outside Function I love Geeksforgeeks
2

NameError: name 's' is not defined
7
NameError: name 's' is not defined
8

đầu ra

NameError: name 's' is not defined

Biến toàn cầu

Đây là những cái được định nghĩa bên ngoài bất kỳ chức năng nào và có thể truy cập được trong suốt chương trình, tôi. e. , bên trong và bên ngoài mọi chức năng. Hãy xem cách tạo biến toàn cục

Thí dụ. Định nghĩa và truy cập các biến toàn cục

Python3




UnboundLocalError: local variable 's' referenced before assignment
2

def f[]:

NameError: name 's' is not defined
0
NameError: name 's' is not defined
7
Me too.
I love Geeksforgeeks
4
UnboundLocalError: local variable 's' referenced before assignment
8
Me too.
I love Geeksforgeeks
6

 

Python is great! GFG
Look for Geeksforgeeks Python Section
Look for Geeksforgeeks Python Section
1

NameError: name 's' is not defined
3
NameError: name 's' is not defined
4
NameError: name 's' is not defined
5

Inside Function I love Geeksforgeeks
Outside Function I love Geeksforgeeks
2

NameError: name 's' is not defined
7
Me too.
I love Geeksforgeeks
4
Python is great! GFG
Look for Geeksforgeeks Python Section
Look for Geeksforgeeks Python Section
8
Me too.
I love Geeksforgeeks
6

Đầu ra

Inside Function I love Geeksforgeeks
Outside Function I love Geeksforgeeks

Biến s được định nghĩa là biến toàn cục và được sử dụng cả bên trong hàm cũng như bên ngoài hàm

Ghi chú. Vì không có biến cục bộ nên giá trị từ biến toàn cầu sẽ được sử dụng nhưng hãy đảm bảo rằng cả biến cục bộ và biến toàn cục phải có cùng tên

Bây giờ, điều gì sẽ xảy ra nếu có một biến cùng tên được khởi tạo bên trong một hàm cũng như trên toàn cầu. Bây giờ câu hỏi đặt ra, liệu biến cục bộ có ảnh hưởng gì đến biến toàn cục hay ngược lại, và điều gì sẽ xảy ra nếu chúng ta thay đổi giá trị của một biến bên trong hàm f[]? .  

Python3




global :  1
Inside f[] :  1
global :  1
Inside g[] :  2
global :  1
Inside h[] :  3
global :  3
0

global :  1
Inside f[] :  1
global :  1
Inside g[] :  2
global :  1
Inside h[] :  3
global :  3
1

 

 

def f[]:

NameError: name 's' is not defined
0
NameError: name 's' is not defined
3
NameError: name 's' is not defined
4
global :  1
Inside f[] :  1
global :  1
Inside g[] :  2
global :  1
Inside h[] :  3
global :  3
9

NameError: name 's' is not defined
0
NameError: name 's' is not defined
7
NameError: name 's' is not defined
8

 

 

Python is great! GFG
Look for Geeksforgeeks Python Section
Look for Geeksforgeeks Python Section
1

NameError: name 's' is not defined
3
NameError: name 's' is not defined
4
NameError: name 's' is not defined
5

Inside Function I love Geeksforgeeks
Outside Function I love Geeksforgeeks
2

NameError: name 's' is not defined
7
NameError: name 's' is not defined
8

Đầu ra

Me too.
I love Geeksforgeeks

Nếu một biến có cùng tên cũng được xác định bên trong phạm vi của hàm thì nó sẽ chỉ in giá trị được cung cấp bên trong hàm chứ không phải giá trị toàn cầu.  

Câu hỏi đặt ra là, nếu chúng ta cố gắng thay đổi giá trị của một biến toàn cục bên trong hàm thì sao?. Hãy xem nó bằng ví dụ dưới đây

Thí dụ.  

Python3




UnboundLocalError: local variable 's' referenced before assignment
2

def f[]:

NameError: name 's' is not defined
0
NameError: name 's' is not defined
3f[]:7
NameError: name 's' is not defined
4 f[]:9

NameError: name 's' is not defined
0
NameError: name 's' is not defined
7
Me too.
I love Geeksforgeeks
4
UnboundLocalError: local variable 's' referenced before assignment
8
Me too.
I love Geeksforgeeks
6

 

 

Python is great! GFG
Look for Geeksforgeeks Python Section
Look for Geeksforgeeks Python Section
1

NameError: name 's' is not defined
3
NameError: name 's' is not defined
4
NameError: name 's' is not defined
5

Inside Function I love Geeksforgeeks
Outside Function I love Geeksforgeeks
2

đầu ra

UnboundLocalError: local variable 's' referenced before assignment

Để làm cho chương trình trên hoạt động, chúng ta cần sử dụng từ khóa “global”. Hãy xem từ khóa toàn cầu này là gì

từ khóa toàn cầu

Chúng ta chỉ cần sử dụng từ khóa global trong một hàm nếu chúng ta muốn thực hiện các bài tập hoặc thay đổi biến toàn cục. toàn cầu không cần thiết để in và truy cập. Python “giả sử” rằng chúng ta muốn có một biến cục bộ do việc gán cho s bên trong hàm f[], vì vậy câu lệnh đầu tiên đưa ra thông báo lỗi. Bất kỳ biến nào được thay đổi hoặc tạo bên trong hàm đều là biến cục bộ nếu nó chưa được khai báo là biến toàn cục. Để nói với Python rằng chúng ta muốn sử dụng biến toàn cục, chúng ta phải sử dụng từ khóa “global”, như có thể thấy trong ví dụ sau.  

Các biến trong các hàm Python có phải là toàn cục không?

Trong Python, các biến chỉ được tham chiếu bên trong một hàm là toàn cục ngầm . Nếu một biến được gán một giá trị ở bất kỳ đâu trong phần thân của hàm, thì biến đó được coi là cục bộ trừ khi được khai báo rõ ràng là toàn cục.

Có đúng là một biến toàn cục được khai báo bên ngoài hàm không?

Biến toàn cục . Một biến toàn cục có thể được truy cập bởi tất cả các hàm được xác định sau khi biến toàn cục được xác định. A global variable is defined outside all functions and it accessible to all functions in its scope. A global variable can be accessed by all functions that are defined after the global variable is defined.

Các biến được khai báo trong hàm main có phải là biến toàn cục không?

Các biến toàn cục được định nghĩa trước hàm main[] . Chúng không thể được xác định bên trong hoặc sau hàm main[].

Là các biến toàn cầu bên ngoài?

Biến ngoài còn được gọi là biến toàn cục . Các biến này được định nghĩa bên ngoài hàm. Các biến này có sẵn trên toàn cầu trong suốt quá trình thực thi chức năng. Giá trị của các biến toàn cục có thể được sửa đổi bởi các chức năng.

Chủ Đề