


Bagaimana untuk menulis fungsi dengan parameter output (dipanggil dengan rujukan) dalam Python?
Semua parameter (argumen) dalam bahasa Python diluluskan melalui rujukan. Ini bermakna jika anda menukar kandungan rujukan parameter dalam fungsi, perubahan itu juga akan ditunjukkan dalam fungsi panggilan.
Capai ini dengan -
return result tuple
Contoh
Dalam contoh ini kami akan memulangkan satu tuple hasil -
# Function Definition def demo(val1, val2): val1 = 'new value' val2 = val2 + 1 return val1, val2 x, y = 'old value', 5 # Function call print(demo(x, y))
Output
('new value', 6)
Melalui objek boleh ubah
Contoh
Dalam contoh ini kita akan lulus objek boleh ubah -
# Function Definition def demo2(a): # 'a' references a mutable list a[0] = 'new-value' # This changes a shared object a[1] = a[1] + 1 args = ['old-value', 5] demo2(args) print(args)
Output
['new-value', 6]
Lulus kamus bermutasi
Contoh
Dalam contoh ini kita akan lulus kamus -
def demo3(args): # args is a mutable dictionary args['val1'] = 'new-value' args['val2'] = args['val2'] + 1 args = {'val1': 'old-value', 'val2': 5} # Function call demo3(args) print(args)
Output
{'val1': 'new-value', 'val2': 6}
Nilai dalam contoh kelas
Contoh
Dalam contoh ini kita akan membungkus nilai dalam contoh kelas -
class Namespace: def __init__(self, **args): for key, value in args.items(): setattr(self, key, value) def func4(args): # args is a mutable Namespace args.val1 = 'new-value' args.val2 = args.val2 + 1 args = Namespace(val1='old-value', val2=5) # Function Call func4(args) print(vars(args))
Output
{'val1': 'new-value', 'val2': 6}
Atas ialah kandungan terperinci Bagaimana untuk menulis fungsi dengan parameter output (dipanggil dengan rujukan) dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Untuk mengoptimumkan prestasi lulus parameter fungsi Go, amalan terbaik termasuk: menggunakan jenis nilai untuk mengelakkan penyalinan jenis nilai kecil menggunakan penunjuk untuk menghantar jenis nilai yang besar (struktur menggunakan jenis nilai untuk menghantar hirisan; Dalam amalan, apabila menghantar rentetan JSON yang besar, menghantar penunjuk parameter data boleh meningkatkan prestasi penyahserikatan dengan ketara.

PHP ialah bahasa pengaturcaraan yang berkuasa yang digunakan secara meluas dalam pembangunan web. Phalcon ialah rangka kerja timbunan penuh berprestasi tinggi berdasarkan PHP Ciri uniknya ialah banyak modul sambungan ditulis dalam bahasa C, yang meningkatkan prestasi rangka kerja tersebut. Artikel ini akan menumpukan pada pustaka fungsi dalam Phalcon dan meneroka aplikasinya dalam pembangunan PHP. Pustaka fungsi Phalcon ialah perpustakaan fungsi yang besar dan komprehensif, termasuk banyak fungsi PHP yang biasa digunakan, seperti fungsi rentetan, fungsi tatasusunan, fungsi tarikh, dsb. selain itu,

Dalam bahasa Go, terdapat dua cara utama untuk menghantar parameter fungsi: penghantaran nilai: menghantar salinan pembolehubah tidak akan menjejaskan pembolehubah asal dalam kod panggilan. Lulus penunjuk: Melepasi alamat pembolehubah membolehkan fungsi mengubah suai terus pembolehubah asal dalam kod panggilan.

Dalam persekitaran berbilang benang, kaedah lulus parameter fungsi adalah berbeza, dan perbezaan prestasi adalah ketara: lulus mengikut nilai: menyalin nilai parameter, selamat, tetapi objek besar mahal. Lulus dengan rujukan: Lulus melalui rujukan adalah cekap, tetapi pengubahsuaian fungsi akan menjejaskan pemanggil. Lulus dengan rujukan tetap: Lulus dengan rujukan tetap, selamat, tetapi menyekat operasi fungsi pada parameter. Melewati penuding: Melepasi penuding adalah fleksibel, tetapi pengurusan penuding adalah kompleks dan penuding berjuntai atau kebocoran memori mungkin berlaku. Dalam penjumlahan selari, lulus melalui rujukan adalah lebih cekap daripada lulus dengan nilai, dan lulus melalui penunjuk adalah yang paling fleksibel, tetapi pengurusan adalah rumit.

Fungsi PHP boleh menghantar nilai melalui parameter, yang dibahagikan kepada nilai lulus dan rujukan: nilai lulus: pengubahsuaian parameter dalam fungsi tidak akan menjejaskan nilai asal rujukan: pengubahsuaian parameter dalam fungsi akan menjejaskan nilai asal. Selain itu, tatasusunan juga boleh dihantar sebagai parameter untuk operasi seperti mengira jumlah data.

Terdapat dua cara untuk menghantar parameter dalam PHP: panggilan mengikut nilai (parameter diluluskan sebagai salinan nilai, pengubahsuaian dalam fungsi tidak menjejaskan pembolehubah asal) dan lulus melalui rujukan (alamat parameter diluluskan, pengubahsuaian dalam fungsi akan mempengaruhi pembolehubah asal), apabila pembolehubah asal perlu diubah suai Gunakan hantaran rujukan semasa mengira jumlah harga troli beli-belah, yang memerlukan hantaran rujukan untuk mengira dengan betul.

Penunjuk fungsi digunakan sebagai mekanisme lulus parameter dalam C++: penuding fungsi diluluskan sebagai penuding malar, salinan dibuat semasa proses lulus, parameter formal fungsi yang diterima menghala ke salinan, dan salinan yang dinyahrujuk boleh memanggil asas. fungsi.

Dalam Go, peta fungsi boleh dihantar sebagai parameter fungsi, menyediakan penggunaan semula kod dan keupayaan penyesuaian: Cipta peta fungsi: gunakan jenis peta[rentetan]antara muka{}, dengan nama fungsi sebagai kunci dan fungsi itu sendiri sebagai nilai . Lulus sebagai argumen: Gunakan jenis funcMap dalam senarai argumen fungsi untuk menerima peta fungsi. Laksanakan fungsi: Dapatkan semula fungsi dari peta fungsi melalui pakej reflect dan panggil dengan argumen berubah-ubah. Kes praktikal: Pemetaan fungsi boleh dihantar ke enjin templat untuk melaksanakan fungsi templat secara dinamik pada masa jalan.
