Bisakah fungsi Python menjadi argumen dari fungsi lain?
Mengatakan:
def myfunc(anotherfunc, extraArgs):
# run anotherfunc and also pass the values from extraArgs to it
pass
Jadi pada dasarnya ini adalah dua pertanyaan:
- Apakah diperbolehkan sama sekali?
- Dan jika ya, bagaimana cara menggunakan fungsi di dalam fungsi lainnya? Apakah saya perlu menggunakan exec (), eval () atau sesuatu seperti itu? Tidak pernah perlu mengacaukannya.
BTW, extraArgs adalah daftar / tuple argumen fungsi lain.
Jawaban:
Iya.
Untuk lebih spesifik ... dengan berbagai argumen ...
sumber
Berikut adalah cara lain menggunakan
*args
(dan juga opsional),**kwargs
:Keluaran
Perhatikan bahwa
function
,*args
,**kwargs
harus agar dan harus argumen terakhir untuk fungsi memanggil fungsi.sumber
Fungsi dalam Python adalah objek kelas satu. Tapi definisi fungsi Anda agak salah .
sumber
Tentu, itulah mengapa python mengimplementasikan metode berikut di mana parameter pertama adalah sebuah fungsi:
sumber
anotherfunc(*extraArgs)
sumber
Sebagai contoh:
Saat Anda memanggil myfunc, Anda melakukan ini:
Ini akan mencetak nilai kembalian dari fungsi lain.
Semoga ini membantu!
sumber
Fungsi di dalam fungsi: kita juga bisa menggunakan fungsi sebagai parameter ..
Dengan kata lain, kita dapat mengatakan bahwa output dari suatu fungsi juga merupakan referensi untuk suatu objek, lihat di bawah ini bagaimana output dari fungsi dalam merujuk ke fungsi luar seperti di bawah ini.
hasilnya akan .. 14
Semoga ini membantu.
sumber
sumber
Itu menurut saya akan menjadi sampel yang lebih tepat. Sekarang apa yang saya ingin tahu adalah apakah ada cara untuk mengkodekan fungsi untuk digunakan dalam pengiriman argumen ke fungsi lain. Saya yakin ada di C ++, tapi dengan Python saya tidak yakin.
sumber
Dekorator sangat kuat dalam Python karena memungkinkan pemrogram untuk meneruskan fungsi sebagai argumen dan juga dapat mendefinisikan fungsi di dalam fungsi lain.
Keluaran
sumber