Terdapat empat cara untuk melihat parameter fungsi dalam Python:
1. F(arg1,arg2,…)
Ini ialah cara biasa untuk mentakrifkan fungsi, dan sebarang bilangan parameter boleh ditakrifkan. Gunakan koma untuk memisahkan parameter. Apabila memanggil fungsi jenis ini, anda mesti memberikan bilangan nilai yang sama (argumen sebenar) dalam kurungan selepas nama fungsi, dan dalam susunan yang sama. Dalam erti kata lain, dalam kaedah panggilan ini, bilangan parameter formal dan parameter sebenar mestilah konsisten dan mesti sepadan satu-dengan-satu, iaitu, parameter formal pertama sepadan dengan parameter sebenar pertama. Contohnya:
Kod adalah seperti berikut:
def a(x,y):cetak x,y
Panggil fungsi ini, jika a(1,2), x mengambil 1, y mengambil 2, dan parameter formal sepadan dengan parameter sebenar Jika a(1) atau a(1,2,3), ralat akan berlaku dilaporkan.
2. F(arg1,arg2=nilai2,…)
Kaedah ini ialah versi kaedah pertama yang dipertingkat, memberikan nilai lalai, contohnya:
Kod adalah seperti berikut:
def a(x,y=3):cetak x,y
Apabila memanggil fungsi ini, a(1,2) masih mengambil 1 untuk x dan 2 untuk y, tetapi jika a(1), tiada ralat akan dilaporkan Pada masa ini, x masih 1 dan y ialah lalai 3. Dalam dua kaedah di atas, anda juga boleh menukar kedudukan parameter Sebagai contoh, a(y=4,x=3) juga boleh digunakan dalam borang ini.
3. F(*arg1)
Dua kaedah di atas adalah untuk memasukkan seberapa banyak parameter sebenar kerana terdapat parameter formal, tetapi kadang-kadang anda tidak pasti berapa banyak parameter yang ada, maka kaedah ketiga adalah lebih berguna ia menambah parameter formal dengan * Bilangan parameter sebenar fungsi ini adalah berubah-ubah, yang mungkin 0 atau n. Satu perkara yang perlu diambil perhatian ialah tidak kira berapa banyak jumlahnya, semuanya disimpan dalam tuple dengan nama parameter formal sebagai pengecam di dalam fungsi.
Kod adalah seperti berikut:
def a(*x):cetak x
>>> a(1,2,3)
(1, 2, 3)
>>> a(x=1,y=2,z=3)
Traceback (panggilan terakhir terakhir):
Fail "", baris 1, dalam TypeError: a() mendapat hujah kata kunci yang tidak dijangka 'x' 4. F(**arg1) Tambah dua * di hadapan nama parameter formal untuk menunjukkan bahawa parameter akan disimpan dalam nama rasmi di dalam fungsi Dalam kamus yang merupakan pengecam, kaedah memanggil fungsi perlu dalam bentuk arg1=value1, arg2=value2. Kodnya adalah seperti berikut: def a(**x):print x >>> a(x=1,y=2,z=3) {'y': 2, 'x': 1, 'z': 3} # Disimpan dalam kamus >>> a(1,2,3) #Panggilan jenis ini akan melaporkan ralat Traceback (panggilan terbaharu terakhir): Fail """, baris 1, dalam TypeError: a() mengambil tepat 0 hujah (3 diberi)
Semasa pembangunan, kita boleh menggunakan pemalam yang berkaitan atau menggunakan fungsi terbina dalam Python "help()" untuk melihat perihalan parameter fungsi tertentu Ambil fungsi terbina dalam sorted() sebagai contoh:
Parameter fungsi termasuk: parameter yang diperlukan, parameter lalai, parameter pilihan dan parameter kata kunci.
1. Parameter lalai: diletakkan selepas parameter yang diperlukan, fungsi untuk mengira kuasa dua x:
Dalam kes ini, anda perlu menulis semula fungsi setiap kali anda mengira fungsi kuasa yang berbeza, yang sangat menyusahkan Anda boleh menggunakan kod berikut untuk mengira:
Kelebihan terbesar parameter lalai adalah untuk mengurangkan kesukaran memanggil fungsi.
2 Parameter pembolehubah: Bilangan parameter yang dilalui adalah berubah-ubah Ia boleh menjadi 1, 2, sebarang nombor atau 0. Tambahkan * di hadapan parameter untuk menunjukkan parameter pembolehubah. Di dalam fungsi, nombor parameter menerima tuple Apabila memanggil fungsi, sebarang bilangan parameter boleh dihantar, termasuk 0 parameter:
Anda juga boleh memasang dict yang serupa dengan parameter pembolehubah, kemudian menukar dict kepada parameter kata kunci dan menghantarnya ke:
Okay, saya akan pergi cari tempat lain
Tetapi mata. . . .
Bergantung yang disertakan dengan VC~
Cadangkan cara untuk menyemak bilangan parameter, tetapi adalah mustahil untuk menentukan jenis melainkan anda mengikut setiap arahan dengan berhati-hati
PROC lpFunction = GetProcAddress(hModule,"nama fungsi");_asm{jmp lpFunction; jejak fungsi dari sini}
Fungsinya hendaklah (jika stdcall ditulis dalam C)
(Jangan laksanakannya, mungkin ada masalah, sila baca perlahan-lahan) tekan ebpmov ebp,esp
sub esp,XXX (berbilang daripada 4)
tambah esp,XXX
mov esp,ebppop ebpret XXXX (juga gandaan empat)
Bilangan parameter = XXXX/4
Atas ialah kandungan terperinci Bagaimana untuk melihat maklumat parameter fungsi Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!