Rumah pembangunan bahagian belakang Tutorial Python Bagaimana untuk menetapkan parameter lalai fungsi Python

Bagaimana untuk menetapkan parameter lalai fungsi Python

May 04, 2023 pm 07:01 PM
python

Kami tahu bahawa jika parameter tidak ditentukan semasa memanggil fungsi, penterjemah Python akan membuang pengecualian. Untuk menyelesaikan masalah ini, Python membenarkan menetapkan nilai lalai untuk parameter, iaitu, apabila mentakrifkan fungsi, secara langsung menentukan nilai lalai untuk parameter formal. Dalam kes ini, walaupun tiada parameter dihantar kepada parameter formal dengan nilai lalai apabila fungsi dipanggil, parameter boleh terus menggunakan nilai lalai yang ditetapkan apabila fungsi ditakrifkan.

Python mentakrifkan fungsi dengan parameter nilai lalai Format sintaks adalah seperti berikut:

def 函数名(...,形参名,形参名=默认值):
    代码块
Salin selepas log masuk

Perhatikan bahawa apabila mentakrifkan fungsi menggunakan format ini, parameter formal yang menentukan nilai lalai mesti disertakan. dalam semua parameter yang tidak mempunyai nilai lalai parameter pada akhir, jika tidak ralat sintaks akan berlaku.

Atur cara berikut menunjukkan cara untuk mentakrif dan memanggil fungsi dengan parameter lalai:

#str1没有默认参数,str2有默认参数
def dis_str(str1,str2 = "http://c.biancheng.net/python/"):
print("str1:",str1)
print("str2:",str2)
 
dis_str("http://c.biancheng.net/shell/")
dis_str("http://c.biancheng.net/java/","http://c.biancheng.net/golang/")
Salin selepas log masuk

Hasil yang dijalankan ialah:

str1: http://c. biancheng. net/shell/
str2: http://c.biancheng.net/python/
str1: http://c.biancheng.net/java/
str2: http://c .biancheng .net/golang/

Dalam atur cara di atas, fungsi dis_str() mempunyai 2 parameter, yang kedua mempunyai parameter lalai. Ini bermakna apabila memanggil fungsi dis_str(), kita boleh menghantar hanya 1 parameter, yang akan dihantar ke parameter str1, dan str2 akan menggunakan parameter lalai, seperti yang ditunjukkan dalam baris 6 program.

Sudah tentu, apabila memanggil fungsi dis_str(), anda juga boleh menghantar nilai kepada semua parameter (seperti yang ditunjukkan dalam baris 7 kod pada masa ini, walaupun str2 mempunyai nilai lalai,). ia akan memberi keutamaan kepada parameter yang dihantar kepadanya.
Pada masa yang sama, digabungkan dengan parameter kata kunci, tiga cara berikut untuk memanggil fungsi dis_str() juga mungkin:

dis_str(str1 = "http://c.biancheng.net/shell/")
dis_str("http://c.biancheng.net/java/",str2 = "http://c.biancheng.net/golang/")
dis_str(str1 = "http://c.biancheng.net/java/",str2 = "http://c.biancheng.net/golang/")
Salin selepas log masuk

Sekali lagi, apabila mentakrifkan fungsi dengan parameter nilai lalai, terdapat parameter dengan nilai lalai. Mesti datang selepas semua parameter tanpa nilai lalai. Oleh itu, fungsi yang ditakrifkan dalam contoh berikut adalah tidak betul:

#语法错误
def dis_str(str1="http://c.biancheng.net/python/",str2,str3):
pass
Salin selepas log masuk

Jelas sekali, str1 mempunyai nilai lalai, manakala str2 dan str3 tidak mempunyai nilai lalai, jadi str1 mesti datang selepas str2 dan str3.

Sesetengah pembaca mungkin bertanya, untuk fungsi tersuai anda sendiri, anda boleh mengetahui dengan mudah parameter yang mempunyai nilai lalai, tetapi jika anda menggunakan fungsi terbina dalam yang disediakan oleh Python, atau fungsi yang disediakan oleh pihak ketiga yang lain, bagaimana anda tahu parameter yang mana ada nilai lalai?

Dalam Pyhton, anda boleh menggunakan "nama fungsi.__defaults__" untuk melihat nilai semasa parameter nilai lalai fungsi dan nilai pulangannya ialah tuple. Ambil fungsi dis_str() dalam bahagian ini sebagai contoh Berdasarkannya, laksanakan kod berikut:

print(dis_str.__defaults__)
Salin selepas log masuk

Hasil pelaksanaan program ialah:

('http://. c. biancheng.net/python/',)

Atas ialah kandungan terperinci Bagaimana untuk menetapkan parameter lalai fungsi Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah kelebihan dan kekurangan templat? Apakah kelebihan dan kekurangan templat? May 08, 2024 pm 03:51 PM

Apakah kelebihan dan kekurangan templat?

Cara Muat turun DeepSeek Xiaomi Cara Muat turun DeepSeek Xiaomi Feb 19, 2025 pm 05:27 PM

Cara Muat turun DeepSeek Xiaomi

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun Jul 01, 2024 am 07:22 AM

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun

Dengan hanya $250, pengarah teknikal Hugging Face mengajar anda cara memperhalusi Llama 3 Dengan hanya $250, pengarah teknikal Hugging Face mengajar anda cara memperhalusi Llama 3 May 06, 2024 pm 03:52 PM

Dengan hanya $250, pengarah teknikal Hugging Face mengajar anda cara memperhalusi Llama 3

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET May 06, 2024 pm 04:43 PM

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET

Panduan lengkap untuk penyahpepijatan dan analisis fungsi golang Panduan lengkap untuk penyahpepijatan dan analisis fungsi golang May 06, 2024 pm 02:00 PM

Panduan lengkap untuk penyahpepijatan dan analisis fungsi golang

Bagaimana anda bertanya kepadanya Deepseek Bagaimana anda bertanya kepadanya Deepseek Feb 19, 2025 pm 04:42 PM

Bagaimana anda bertanya kepadanya Deepseek

Bagaimana untuk menyimpan fungsi menilai Bagaimana untuk menyimpan fungsi menilai May 07, 2024 am 01:09 AM

Bagaimana untuk menyimpan fungsi menilai

See all articles