Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan fungsi sebaris dan skop bersarang dalam Python

Cara menggunakan fungsi sebaris dan skop bersarang dalam Python

王林
王林asal
2023-10-28 08:09:32731semak imbas

Cara menggunakan fungsi sebaris dan skop bersarang dalam Python

Cara menggunakan fungsi bersarang dan skop bersarang dalam Python

Python ialah bahasa pengaturcaraan berkuasa yang menyediakan pembangun dengan banyak ciri dan alatan berguna. Antaranya, fungsi sebaris dan skop bersarang adalah dua konsep penting dalam Python. Artikel ini menerangkan cara menggunakan konsep ini dan menyediakan contoh kod khusus.

Dalam Python, fungsi sebaris ialah fungsi yang ditakrifkan di dalam fungsi lain. Fungsi bersarang mempunyai akses kepada parameter dan pembolehubah setempat bagi fungsi yang dimilikinya, dan boleh dilaksanakan secara bebas. Fungsi sebaris ditakrifkan dengan cara yang sama seperti fungsi biasa, kecuali ia diletakkan di dalam fungsi lain. Berikut ialah contoh kod menggunakan fungsi sebaris:

def outer_func():
    x = 10

    def inner_func():
        print(x)

    inner_func()

outer_func()

Kod ini mentakrifkan fungsi luaran outer_func, dan fungsi dalam inner_func ditakrifkan di dalam outer_func. Di dalam outer_func, kami mentakrifkan pembolehubah x dan memberikannya nilai 10. Kemudian, kami memanggil inner_func dan mencetak nilai pembolehubah x.

Menjalankan kod ini, kita dapat melihat bahawa output ialah 10. Ini kerana fungsi dalam inner_func boleh mengakses pembolehubah tempatan x fungsi luar outer_func.

Selain mengakses pembolehubah tempatan bagi fungsi luaran, fungsi sebaris juga boleh mengubah suai pembolehubah tempatan jenis tidak berubah bagi fungsi luaran. Tetapi sebelum pengubahsuaian, anda perlu menggunakan kata kunci bukan tempatan untuk mengisytiharkan pembolehubah sebagai pembolehubah bukan tempatan. Berikut ialah kod sampel menggunakan kata kunci bukan tempatan:

def outer_func():
    x = 10

    def inner_func():
        nonlocal x
        x += 1
        print(x)

    inner_func()

outer_func()

Kod ini hampir sama dengan kod sampel sebelumnya, satu-satunya perbezaan ialah dalam fungsi dalaman inner_func, kami telah menggunakan kata kunci bukan setempat untuk mengisytiharkan pembolehubah x sebagai pembolehubah bukan tempatan. Kemudian, kami meningkatkan nilai pembolehubah x sebanyak 1 dan mencetaknya.

Menjalankan kod ini, kita dapat melihat bahawa output ialah 11. Ini kerana kami mengisytiharkan pembolehubah x sebagai pembolehubah bukan tempatan melalui kata kunci bukan tempatan, supaya fungsi dalaman inner_func boleh mengubah suainya.

Seterusnya, mari kita fahami konsep skop bersarang. Skop bersarang merujuk kepada blok kod yang mengandungi blok kod lain. Dalam Python, pembolehubah yang ditakrifkan dalam blok kod dalaman hanya boleh dilihat dalam blok kod itu dan subbloknya. Berikut ialah kod sampel menggunakan skop bersarang:

def outer_func():
    x = 10

    def inner_func():
        x = 20
        print(x)

    inner_func()
    print(x)

outer_func()

Berbanding dengan dua kod sampel sebelumnya, satu-satunya perbezaan antara kod ini dan dua kod sampel sebelumnya ialah dalam fungsi dalaman inner_func, kami mentakrifkan semula pembolehubah x dan menetapkannya kepada 20. Kemudian, kami mencetak nilai pembolehubah x dalam fungsi dalam inner_func dan fungsi luar outer_func masing-masing.

Menjalankan kod ini, kita dapat melihat bahawa hasil output ialah 20 dan 10. Ini kerana pembolehubah x dalam skop fungsi dalam inner_func berbeza daripada pembolehubah x dalam skop fungsi luar outer_func Ia adalah dua pembolehubah bebas.

Ringkasnya, fungsi bersarang dan skop bersarang dalam Python adalah konsep yang sangat berguna. Dengan menggunakan fungsi sebaris, kita boleh mencapai pengaturcaraan modular dan mempunyai akses kepada parameter dan pembolehubah tempatan fungsi luaran. Skop bersarang boleh membantu kami mentakrif dan menggunakan pembolehubah dalam blok kod yang berbeza, sekali gus menyediakan organisasi dan pengkapsulan yang lebih baik. Saya harap artikel ini dapat membantu pembaca memahami dan menggunakan fungsi bersarang dan skop bersarang dalam Python.

Atas ialah kandungan terperinci Cara menggunakan fungsi sebaris dan skop bersarang dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn