Hướng dẫn variable inside a function python - biến bên trong một hàm python
Biến toàn cầuCác biến được tạo ra bên ngoài một hàm (như trong tất cả các ví dụ trên) được gọi là các biến toàn cầu. Show
Các biến toàn cầu có thể được sử dụng bởi tất cả mọi người, cả bên trong các chức năng và bên ngoài. Thí dụTạo một biến bên ngoài hàm và sử dụng nó bên trong hàm x = "tuyệt vời" def myfunc (): & nbsp; in ("Python là" + x) myfunc() Hãy 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ầu có cùng tên sẽ vẫn như vậy, toàn cầu và với giá trị ban đầu. Thí dụTạo một biến bên ngoài hàm và sử dụng nó bên trong hàm x = "tuyệt vời" def myfunc (): & nbsp; in ("Python là" + x) myfunc() Hãy tự mình thử » Hãy 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ầu có cùng tên sẽ vẫn như vậy, toàn cầu và với giá trị ban đầu.Tạo một biến bên trong một hàm, với cùng tên với biến toàn cầu def myfunc (): & nbsp; x = "tuyệt vời" & nbsp; in ("Python là" + x) Thí dụTạo một biến bên ngoài hàm và sử dụng nó bên trong hàm x = "tuyệt vời" myfunc() Hãy tự mình thử » Hãy 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ầu có cùng tên sẽ vẫn như vậy, toàn cầu và với giá trị ban đầu. Tạo một biến bên trong một hàm, với cùng tên với biến toàn cầudef myfunc (): & nbsp; x = "tuyệt vời" & nbsp; in ("Python là" + x) x = "tuyệt vời" def myfunc (): & nbsp; in ("Python là" + x) myfunc() Hãy tự mình thử » Hãy tự mình thử » Bạn có thể sử dụng phạm vi mô -đun. Giả sử bạn có một mô -đun gọi là 3:
4 là một thuộc tính mô -đun có thể được sửa đổi bởi bất kỳ mô -đun nào khác nhập nó. Vì các mô -đun là đơn lẻ, bất kỳ thay đổi nào đối với 3 từ một mô -đun sẽ có thể truy cập được cho tất cả các mô -đun khác đã nhập:
Lưu ý rằng bạn có thể nhập chức năng theo tên:
Nhưng không phải là thuộc tính:
Điều này là do bạn đang dán nhãn đối tượng được tham chiếu bởi thuộc tính mô -đun là 4 trong phạm vi cục bộ, nhưng sau đó chuyển nó thành chuỗi 7, trong khi hàm 8 vẫn đang đề cập đến thuộc tính mô -đun. Bài đăng này lần đầu tiên giới thiệu các hàm lồng nhau và sau đó các phạm vi khác nhau của các biến như các biến toàn cầu, các biến cục bộ trong các hàm, v.v., và cuối cùng, các đóng cửa sử dụng hàm lồng nhau trong Python. Bạn có thể tìm hiểu về chức năng của Python từ khóa học Python của chúng tôi và bài đăng này. Chức năng lồng nhauGiống như các vòng lặp lồng nhau, chúng ta cũng có thể có các chức năng lồng nhau trong Python. Chúng tôi chỉ cần tạo một chức năng bằng cách sử dụng def bên trong một chức năng khác để làm tổ hai hàm. Ví dụ, def f1(): #outer function print ("Hello") def f2(): #inner function print ("world") f2() f1() Đầu ra 9def f1(): #outer function x = 1 #variable defined in f1 function def f2(a): #inner function print (a+x) #able to acces the variable of outer function f2(2) f1() Đầu ra 0Điều này có vẻ khá đơn giản. Bạn có thể thấy rằng chúng tôi cũng truy cập các biến của hàm bên ngoài từ hàm bên trong. Vì vậy, chúng ta hãy cố gắng thay đổi các biến của hàm bên ngoài từ bên trong. def f1(): #outer function x = 1 # variable defined in the outer function def f2(a): #inner function #will create a new variable in the inner function #instead of changing the value of x of outer function x = 4 print (a+x) print (x) # prints the value of x of outer function f2(2) f1() Đầu ra 1Điều này có vẻ khá đơn giản. Bạn có thể thấy rằng chúng tôi cũng truy cập các biến của hàm bên ngoài từ hàm bên trong. Vì vậy, chúng ta hãy cố gắng thay đổi các biến của hàm bên ngoài từ bên trong. Từ hai ví dụ trên, bạn có thể thấy rằng chúng ta có thể in các biến của hàm bên ngoài từ mục bên trong nhưng không thể thay đổi nó. >> from utils import f, f_value >> f_value = 'bar' >> f() 'foo' 2 đã tạo một biến mới có tên 'X' bên trong hàm F2 thay vì thay đổi giá trị của biến 'X' của hàm F1. Vì vậy, trước khi chuyển sang các cuộc thảo luận nhiều hơn về các chức năng lồng nhau, chúng ta hãy biết về phạm vi của các biến trong Python trước, tức là, nơi các biến sống và từ nơi chúng ta có thể truy cập chúng.Phạm vi của các biến Vị trí nơi chúng ta có thể tìm thấy một biến và cũng truy cập nó nếu được yêu cầu được gọi là phạm vi của một biến. Vì vậy, chúng ta hãy tìm hiểu những phạm vi này là gì.Các biến địa phương và toàn cầu def f1(): a = 5 f1() #a can't be accessed outside the function f1 print (a) # will give error Một biến trong một hàm trong Python là một biến cục bộ nếu nó không được khai báo là một thứ khác. Một biến cục bộ chỉ có thể được truy cập tại địa phương, một biến được xác định bên trong một hàm chỉ có thể truy cập được vào hàm đó và không thể được sử dụng bên ngoài hàm. 3 4 5Đầu ra 3 4 5Bạn có thể thấy rằng biến 'A' được tạo bên trong hàm là một biến cục bộ và không thể truy cập được bên ngoài hàm. a = 5 def f1(): print (a) # will print 5 f1() Ngoài ra, chúng ta có thể truy cập từ một hàm các biến được xác định bên ngoài hàm đó nhưng không thể sửa đổi chúng. 6Đầu ra 6a = 1 def f1(): a = 5 print (a) #will print 5 print (a) #will print 1 f1() Đầu ra 7Điều này có vẻ khá đơn giản. Bạn có thể thấy rằng chúng tôi cũng truy cập các biến của hàm bên ngoài từ hàm bên trong. Vì vậy, chúng ta hãy cố gắng thay đổi các biến của hàm bên ngoài từ bên trong. Từ hai ví dụ trên, bạn có thể thấy rằng chúng ta có thể in các biến của hàm bên ngoài từ mục bên trong nhưng không thể thay đổi nó. 2 đã tạo một biến mới có tên 'X' bên trong hàm F2 thay vì thay đổi giá trị của biến 'X' của hàm F1. Vì vậy, trước khi chuyển sang các cuộc thảo luận nhiều hơn về các chức năng lồng nhau, chúng ta hãy biết về phạm vi của các biến trong Python trước, tức là, nơi các biến sống và từ nơi chúng ta có thể truy cập chúng. 0Đầu ra def f1(): #outer function print ("Hello") def f2(): #inner function print ("world") f2() f1()0 Xin lưu ý rằng không giống như các ngôn ngữ khác như C, Python không có bất kỳ phạm vi riêng nào cho các vòng lặp, nếu/khác, v.v. Do đó, việc thay đổi các biến bên trong một vòng lặp cũng sẽ thay đổi biến toàn cầu. 1Đầu ra def f1(): #outer function print ("Hello") def f2(): #inner function print ("world") f2() f1()1 2Đầu ra def f1(): #outer function print ("Hello") def f2(): #inner function print ("world") f2() f1()2 Sau khi hiểu các biến toàn cầu và địa phương, hãy đi sâu vào phạm vi của các biến trong các hàm lồng nhau. Phạm vi của các biến trong hàm lồng nhauChúng ta đã biết cách truy cập một biến toàn cầu tạo thành một hàm. & NBSP; Trong phần này, chúng tôi sẽ tìm hiểu về việc truy cập và thay đổi các biến của hàm bên ngoài từ bên trong. Vì vậy, trước tiên chúng ta hãy cố gắng in một biến của hàm bên ngoài từ bên trong. 3Đầu ra def f1(): #outer function print ("Hello") def f2(): #inner function print ("world") f2() f1()3 Bạn có thể thấy rằng chúng tôi có thể in biến của hàm bên ngoài. Điều này tương tự như in một biến toàn cầu từ một hàm. Hãy cố gắng thay đổi giá trị của biến của hàm bên ngoài. 4Đầu ra def f1(): #outer function print ("Hello") def f2(): #inner function print ("world") f2() f1()4 Bạn có thể thấy rằng chúng ta không thể thay đổi giá trị của biến của hàm bên ngoài từ bên trong. def f1(): #outer function print ("Hello") def f2(): #inner function print ("world") f2() f1()5 đã tạo một biến cục bộ mới của hàm F2 thay vì thay đổi giá trị 'A' từ hàm F1. Có nhiều cách khác nhau để thay đổi giá trị của biến cục bộ của hàm bên ngoài từ hàm bên trong. Cách đầu tiên là sử dụng một điều khác. 5Đầu ra def f1(): #outer function print ("Hello") def f2(): #inner function print ("world") f2() f1()6 Chúng ta cũng có thể thay đổi giá trị của biến như trong ví dụ tiếp theo. 6
def f1(): #outer function print ("Hello") def f2(): #inner function print ("world") f2() f1()6 Chúng ta cũng có thể thay đổi giá trị của biến như trong ví dụ tiếp theo. Cách thứ ba là sử dụng từ khóa không thuộc địa. Xin lưu ý rằng từ khóa def f1(): #outer function print ("Hello") def f2(): #inner function print ("world") f2() f1()8 chỉ hoạt động với Python3. Bạn có thể sử dụng bất kỳ cách nào trong hai cách được đề cập ở trên để thay đổi giá trị của biến trong Python2. 7Đầu ra def f1(): #outer function print ("Hello") def f2(): #inner function print ("world") f2() f1()6 Chúng ta cũng có thể thay đổi giá trị của biến như trong ví dụ tiếp theo. Cách thứ ba là sử dụng từ khóa không thuộc địa. Xin lưu ý rằng từ khóa def f1(): #outer function print ("Hello") def f2(): #inner function print ("world") f2() f1() 8 chỉ hoạt động với Python3. Bạn có thể sử dụng bất kỳ cách nào trong hai cách được đề cập ở trên để thay đổi giá trị của biến trong Python2.Chúng ta có thể sử dụng từ khóa def f1(): #outer function print ("Hello") def f2(): #inner function print ("world") f2() f1()8 để thay đổi giá trị của biến của hàm bên ngoài tương tự như sử dụng từ khóa 9 để thay đổi giá trị của các biến toàn cầu. 8Khi bạn đã sẵn sàng với các khái niệm về phạm vi của các biến, chúng ta hãy tìm hiểu về việc đóng cửa trong Python. def f1(): #outer function x = 1 #variable defined in f1 function def f2(a): #inner function print (a+x) #able to acces the variable of outer function f2(2) f1()2 Khép kín Đóng cửa về cơ bản là giữ một bản ghi của một chức năng với một môi trường. Ví dụ: nếu chúng ta gọi một hàm với một đối số (foo (1)), thì nó phải lưu giữ một bản ghi môi trường với đối số đó sẽ được sử dụng sau trong chương trình. Nó sẽ rõ ràng từ các ví dụ được đưa ra dưới đây. & nbsp; Đầu ra def f1(): #outer function x = 1 #variable defined in f1 function def f2(a): #inner function print (a+x) #able to acces the variable of outer function f2(2) f1()2 Bạn có thể thấy rằng môi trường được tạo bởi F1 (1) khác với F1 (100) và cả hai đều được Python nhớ, do đó in các giá trị khác nhau cho A (2) và B (2). Đây là những gì đóng cửa là. Làm thế nào để bạn sử dụng một biến bên trong một hàm trong Python?Các biến được xác định bên trong các phương thức chỉ có thể được truy cập trong phương thức đó chỉ bằng cách sử dụng tên biến.Ví dụ - var_name.Nếu bạn muốn sử dụng biến đó bên ngoài phương thức hoặc lớp, bạn phải khai báo biến đó là toàn cầu.using the variable name. Example – var_name. If you want to use that variable outside the method or class, you have to declared that variable as a global.
Một biến có thể được tạo bên trong một hàm trong Python?Thông thường, khi bạn tạo một biến bên trong một 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ầu bên trong một hàm, bạn có thể sử dụng từ khóa toàn cầu.. To create a global variable inside a function, you can use the global keyword.
Bạn có thể đặt một biến bên trong một chức năng?Các biến được xác định bên trong một hàm không thể được truy cập từ bất cứ nơi nào bên ngoài hàm, bởi vì biến chỉ được xác định trong phạm vi của hàm.Tuy nhiên, một hàm có thể truy cập tất cả các biến và hàm được xác định bên trong phạm vi mà nó được xác định., because the variable is defined only in the scope of the function. However, a function can access all variables and functions defined inside the scope in which it is defined.
Biến nào được tạo ra bên trong một hàm?Một biến cục bộ được xác định bên trong một hàm hoặc câu lệnh khối và không thể truy cập được bên ngoài hàm hoặc khối. is defined inside a function or a block statement and is not accessible outside the function or block. |