Làm thế nào để bạn in một biến bên trong một hàm trong python?

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ục

Đâ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.  

Bạn có thể in bên trong một hàm trong Python không?

Như ví dụ trên cho thấy, bạn có thể gọi một hàm trong Python bằng Print . Python cho phép các cách khác nhau để hoàn thành cùng một nhiệm vụ và những người mới bắt đầu có thể bị nhầm lẫn khi sử dụng print để gọi một hàm. Tuy nhiên, một tùy chọn khác là In kết quả tính toán từ bên trong hàm. Trong trường hợp đó, Print sẽ thay thế Return.
Câu lệnh in Python thường được sử dụng để xuất các biến .

Bạn có thể đặt một biến bên trong một hàm không?

Các biến được định nghĩa bên trong hàm được gọi là biến cục bộ . Giá trị của chúng chỉ có thể được sử dụng trong hàm nơi chúng được khai báo. Bạn có thể thay đổi phạm vi của một biến cục bộ bằng cách sử dụng từ khóa toàn cục – mà chúng ta sẽ thảo luận trong phần tiếp theo.