Bisakah Anda memanggil fungsi di dalam fungsi lain python?

Untuk memanggil suatu fungsi, kita harus mendefinisikan fungsi itu menggunakan kata kunci def, jadi kita menggunakannya untuk mendefinisikan fungsi test(). Kemudian, di dalam fungsi test(), kami menggunakan fungsi print() untuk mencetak pesan, yang akan dicetak pada pelaksanaan fungsi ini

Dalam pemanggilan fungsi, kami memiliki dua istilah; . Di sini, Calling Function adalah fungsi yang memanggil fungsi lain sedangkan Called Function adalah fungsi yang dipanggil

Sekarang, Anda mungkin memiliki pertanyaan tentang cara kerja eksekusi fungsi. Bagaimana memutuskan ke mana harus kembali, khususnya dalam pemanggilan fungsi bersarang, yang akan kita pelajari di bagian selanjutnya? . Bagaimana?

Call function in Python

Pada diagram di atas, kita memiliki fungsi test(); . Kemudian, fungsi test()_ dijalankan dan dikembalikan

Setelah itu, fungsi dikeluarkan dari tumpukan dan dikembalikan ke titik di mana ia meninggalkan eksekusi program dan melanjutkan

Sekarang, Anda mungkin bertanya-tanya mengapa harus berjuang dengan semua ini dan menulis fungsi;

  • Ini menghindari pengulangan kode, mendorong penggunaan kembali kode dan dengan demikian menghemat waktu, uang, dan memori
  • Ini membantu menyembunyikan kode dan memungkinkan kita memahami modul secara efisien
  • Fungsi membantu kita memecah masalah besar menjadi modul yang lebih kecil
  • Fungsi hanya dapat didefinisikan menggunakan kata kunci def dan titik dua diikuti dengan nama fungsi
  • Pernyataan fungsi hanya dapat dijalankan dengan nama fungsi

Anda dapat membaca ini untuk melihat karakter apa yang diperbolehkan saat menulis nama fungsi di Python. Sekarang, asumsikan kita memiliki situasi di mana kita harus memanggil fungsi dari yang lain. Konsepnya akan sama, dan struktur data tumpukan akan digunakan. Mari kita lihat bagaimana caranya?

Panggil Fungsi dari Fungsi Lain dengan Python

Untuk memanggil fungsi dari fungsi lain dengan Python

  • Tulis fungsi def_2, yang mencetak pesan dan mengembalikan
  • Tulis fungsi def3 lain yang mencetak pesan, memanggil def2 yang kita buat pada langkah sebelumnya dan mengembalikan
  • Sekarang, panggil fungsi def_3

Panggil Fungsi dari Fungsi lain

1

2

3

4

5

6

7

8

9

10

11

12

13

 

def function_A().

  cetak("Saya adalah fungsi A. ")

  kembalikan

 

def function_B().

  cetak("Saya adalah fungsi B. ")

  function_A()

  kembalikan

 

function_B()

print("Saya sekarang berada di luar fungsi. ")

 

KELUARAN

1

2

3

4

5

 

Saya adalah berfungsi B.

Saya adalah fungsi A.

Saya saya sekarang di luar the functions.

 

Di sini, kami menulis dua fungsi, def_2 dan def3, keduanya memiliki satu pernyataan cetak untuk mencetak pesan, tetapi kami juga memanggil def2 dari def3

Tidak ada yang terjadi sampai kami mencapai pernyataan, di mana disebut test()0 sebagai def3. Segera setelah kami memanggil def_3, itu didorong ke tumpukan, dan eksekusi test()0 dimulai. Itu mencetak pernyataan test()4 dan menyebut test()5 sebagai def2

Sekarang, test()_5 juga didorong ke tumpukan dan eksekusi test()5 dimulai; . Setelah kita selesai dengan test()5, itu akan dikeluarkan dari tumpukan dan dikembalikan ke tempat kita meninggalkan test()0

Seperti yang dapat kita lihat pada kode di atas, kita memiliki pernyataan test()2 setelah memanggil test()5, sehingga test()0 juga muncul dari tumpukan dan kembali ke tempat kita meninggalkan program setelah memanggil test()0

Jadi sekarang, kami hanya memiliki satu pernyataan cetak untuk dieksekusi, yang dicetak test()6 di konsol. Pada titik ini, kami memiliki tiga pernyataan yang tercetak di konsol dan tumpukannya juga kosong

Mari visualisasikan eksekusi program di atas dalam diagram berikut

Call function from another function in Python

Kami juga dapat memanggil satu fungsi dari yang lain di dalam kelas yang sama dan berbeda. Mari pelajari di bawah ini

Bacaan lebih lanjut

Fungsi panggilan balik dengan Python

Baca lebih lanjut →

Dapatkan Variabel dari Fungsi di Python

Baca lebih lanjut →

Panggil Fungsi dari Fungsi Lain dalam Kelas yang Sama/Berbeda

Untuk memanggil fungsi dari fungsi lain di dalam kelas

  • Buat kelas;
  • Di dalam kelas test()_7, tentukan metode test()9 dengan meneruskan parameter print()0, yang merupakan parameter default. Gunakan parameter print()_0 ini untuk membuat dua atribut tingkat kelas dan menetapkan nilainya
  • Buat dua fungsi, def2 dan def3, di mana keduanya menggunakan parameter print()0, yang merupakan parameter default, mencetak pesan, dan memanggil test()5 dari test()0
  • Di luar kelas ini, buat instance test()_7, panggil fungsi def3

Panggil Fungsi dari Fungsi lain

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

 

kelas kelas_ujian().

  def __init__(self):

        diri sendiri. String1 = "Saya adalah fungsi A. "

        diri sendiri. String2 = "Saya adalah fungsi B. "

  def function_A(self):

    cetak(diri sendiri. String1)

    kembalikan

 

  def function_B(self):

    cetak(diri sendiri. String2)

    diri sendiri. function_A()

    kembalikan

 

test_class_object = test_class()

test_class_object. function_B()

 

KELUARAN

1

2

3

4

 

Saya adalah berfungsi B.

Saya adalah fungsi A.

 

Kita telah mempelajari bagaimana suatu fungsi dipanggil dari fungsi lain di bagian sebelumnya;

Di sini, kami membuat test()5 dan test()0 di dalam kelas test()7 di mana kedua fungsi mengambil parameter print()0 dan mencetak pesan tetapi memanggil test()5 dari test()0

Metode baru adalah test()_9, juga dikenal sebagai konstruktor dan metode ajaib. Kami menggunakan metode ini untuk menghindari redundansi kode. Metode ini secara otomatis dipanggil setiap kali kami membuat test()7

Sekarang, apa parameter print()_0?

Kita harus menggunakan parameter ini karena Python meneruskan objek sebagai argumen pertama, dan semua parameter lainnya akan berada di sebelahnya. Oleh karena itu, kita harus memiliki parameter print()_0 di posisi pertama dalam definisi metode untuk memanggil metode

Kita juga dapat melakukan hal yang sama dengan membuat kelas yang berbeda. Mari gunakan warisan untuk memahami bagaimana kita bisa memanggil satu fungsi dari fungsi lain menggunakan kelas yang berbeda. Perhatikan bahwa Anda harus memiliki pengetahuan yang cukup tentang pewarisan untuk memahami hubungan orangtua-anak dalam kode berikut

Bisakah Anda memanggil fungsi di dalam fungsi lain?

Memanggil fungsi dari dalam dirinya sendiri disebut rekursi dan jawaban sederhananya adalah, ya.

Bagaimana Anda memanggil fungsi di dalam fungsi utama dengan Python?

Praktik Terbaik untuk Fungsi Utama Python .
Masukkan sebagian besar kode ke dalam fungsi atau kelas
Gunakan __name__ untuk mengontrol eksekusi kode Anda
Buat fungsi bernama main() untuk memuat kode yang ingin Anda jalankan
Panggil fungsi lain dari main()

Bagaimana cara memanggil fungsi dari fungsi lain di kelas Python yang sama?

Metode instance adalah fungsi yang dibangun ke dalam definisi kelas dari suatu objek dan memerlukan instance dari kelas tersebut untuk dipanggil. Untuk memanggil metode, Anda perlu memenuhi fungsi dengan self . . Misalnya, di kelas yang berisi fungsi first() dan second(), first() dapat memanggil second().