Bạn có thể gán hàm cho biến trong Python không?

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

Bạn có thể gán một biến trong một hàm không?

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 toàn cầu.

Một chức năng có thể là một biến?

Biến hàm có một giá trị, là mã trong thân hàm . Một biến hàm có một loại — sẽ sớm nói thêm về điều này. Bạn có thể chuyển một chức năng xung quanh các chức năng khác, giống như bất kỳ val nào khác.

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

Trong Python, hàm là đối tượng "hạng nhất''. chúng có thể được gán tên biến , chúng có thể được truyền dưới dạng đối số cho các hàm khác và thậm chí có thể được trả về từ các hàm khác.

Chủ Đề