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
Thí 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["Trăn là " + 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
Thí 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["Trăn là " + 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 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ục bên trong một hàm, bạn có thể sử dụng từ khóa global
Thí dụ
Nếu bạn sử dụng từ khóa global
, biến thuộc phạm vi toàn cầu
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
Thí 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
Đây là một bài viết khác trong loạt Hàm trong Python. Hôm nay chúng ta sẽ nói về việc gán các chức năng cho các biến. Nếu bạn chưa đọc các phần trước, vui lòng làm như vậy. Họ đây rồi
1] Giới thiệu về Chức năng
2] Các hàm có tham số
3] Tuyên bố hoàn trả
4] Thông số bắt buộc
5] Thông số tùy chọn
6] Tham số tùy chọn có thể thay đổi
7] Đối số từ khóa
8] Số lượng tham số vị trí tùy ý
9] Số lượng tham số từ khóa tùy ý
10] Số lượng tùy ý của cả tham số vị trí và từ khóa
11] Hàm lồng nhau
12] Gọi hàm trong các hàm khác
Hàm là đối tượng hạng nhất, có nghĩa là chúng là đối tượng giống như bất kỳ đối tượng nào khác, điều đó có nghĩa là chúng có thể được sử dụng giống như các đối tượng khác. Dịch điều này sang tiếng Anh đơn giản, chúng ta có thể gán các hàm cho các biến và chuyển chúng làm đối số cho các hàm khác. Chúng cũng có thể được trả về từ các chức năng khác. Nếu bạn muốn đọc thêm về các hàm với tư cách là đối tượng hạng nhất, tôi có một bài viết về điều đó
Tìm hiểu cách tạo các ứng dụng GUI đẹp mắt
bằng Python sử dụng khung Kivy
Toàn diện, dành cho người mới bắt đầu Kivy, dễ làm theo
Tải sách tại đây [PDF] hoặc trên Amazon.
sách điện tử / bìa mềm [đen trắng] / paperback [full color]
Bây giờ hãy tập trung vào việc gán chức năng cho các biến. Nếu bạn gán một hàm cho một biến, bạn có thể sử dụng biến đó làm hàm
def double[number]:
return number * 2
print[double[5]]
a = "abc"
print[a]
a = double
print[a[17]]
b = a
print[b[12]]
Đây là đầu ra
10
abc
34
24
Vì vậy, trong đoạn mã trên, biến a lần đầu tiên được gán một chuỗi. Sau đó, nó được gán chức năng kép. Từ thời điểm này, có thể sử dụng a làm chức năng kép. Cuối cùng, biến b đã được gán cùng một tham chiếu với a, vì vậy bây giờ nó cũng trỏ đến hàm kép. Cuối cùng, chúng ta có thể sử dụng double, a hoặc b và tất cả chúng đều tham chiếu đến cùng một chức năng
về cơ bản giống như x = lambda: print[20]
[có một số khác biệt cơ bản, nhưng đối với hầu hết các mục đích thực tế, kết quả đều giống nhau]
cú pháp
def y[t]:
return t**2
về cơ bản giống như y= lambda t: t**2
. Khi bạn xác định một hàm, bạn đang tạo một biến có hàm làm giá trị của nó. Trong ví dụ đầu tiên, bạn đang đặt x
là hàm lambda: print[20]
. Vì vậy, x
bây giờ đề cập đến chức năng đó. x[]
không phải là chức năng, đó là lệnh gọi của chức năng. Trong python, các hàm chỉ đơn giản là một loại biến và thường có thể được sử dụng như bất kỳ biến nào khác. Ví dụ
def power_function[power]:
return lambda x : x**power
power_function[3][2]
Điều này trả về 8. power_function
là một hàm trả về một hàm dưới dạng đầu ra. Khi nó được gọi trên
def y[t]:
return t**2
0, nó trả về một hàm lập khối đầu vào, vì vậy khi hàm đó được gọi trên đầu vào def y[t]:
return t**2
1, nó trả về 8. Bạn có thể làm def y[t]:
return t**2
2, và bây giờ def y[t]:
return t**2
3 sẽ trả về 8