⊗pyPmFnFIF 20 of 129 menu

Hàm bên trong hàm trong Python

Trong Python, bên trong một hàm có thể khai báo các hàm khác. Giả sử chúng ta có một hàm bên ngoài outer, bên trong nó có chứa hàm inner:

def outer(): def inner(): pass

Ví dụ trên trông khá đơn giản. Tuy nhiên, thường có những tình huống khi trong thân hàm outer ngoài inner còn thực hiện các thao tác khác. Để đơn giản hóa mã, có thể đưa inner ra khối mã bên ngoài, nhưng hàm này sẽ chỉ được sử dụng một lần và chỉ bên trong hàm outer. Vì vậy, việc đưa nó ra ngoài không có ý nghĩa.

Hãy xem xét một ví dụ, khi một danh sách được truyền vào hàm outer. Và với sự trợ giúp của hàm inner, phần tử số của danh sách sẽ được nâng lên lũy thừa bình phương. Để làm điều này, sau hàm inner chúng ta khai báo một danh sách rỗng res, trong đó sẽ tích lũy các phần tử được nâng lên bình phương trong vòng lặp:

def outer(lst): def inner(num): return num ** 2 res = [] for el in lst: res.append(inner(el)) return res

Hãy gọi hàm outer, truyền cho nó tham số là một danh sách và in kết quả ra console:

print(outer([2, 3, 5])) # sẽ in ra [4, 9, 25]

Viết một hàm bên ngoài và một hàm bên trong, việc phối hợp hoạt động của chúng sẽ in ra mỗi phần tử chuỗi trong danh sách với chữ cái đầu viết hoa.

Cho các hàm:

def func1(num): if num > 0: num += 2 return num def func2(iter): res = [] for el in iter: res.append(func1(el)) return res

Viết lại mã sao cho func1 là hàm bên trong của func2.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối