Dalam Python, menghantar argumen kepada fungsi dilakukan melalui rujukan, bermakna parameter yang diluluskan adalah rujukan kepada objek sebenar. Walau bagaimanapun, adalah penting untuk memahami perbezaan antara menghantar rujukan mengikut nilai berbanding sebenarnya lulus melalui rujukan.
Dalam Python, parameter diluluskan mengikut nilai, yang bermaksud salinan daripada objek diberikan kepada parameter dalam fungsi. Ini mempunyai dua implikasi:
Walaupun rujukan lulus benar tidak disokong secara langsung dalam Python, terdapat beberapa teknik untuk mensimulasikannya:
Kod berikut menunjukkan laluan lewat -rujukan dengan boleh ubah (senarai) dan tidak boleh ubah (rentetan):
# Mutable List def modify_list(the_list): the_list.append('four') outer_list = ['one', 'two', 'three'] print("Before: ", outer_list) modify_list(outer_list) print("After: ", outer_list) # Immutable String def modify_string(the_string): the_string = 'In a kingdom by the sea' outer_string = 'It was many and many a year ago' print("Before: ", outer_string) modify_string(outer_string) print("After: ", outer_string)
Output:
Before: ['one', 'two', 'three'] After: ['one', 'two', 'three', 'four'] Before: It was many and many a year ago After: It was many and many a year ago
Seperti yang dilihat dalam output, senarai berjaya diubah suai (laluan demi rujukan), manakala rentetan kekal tidak berubah (lulus -mengikut nilai).
Atas ialah kandungan terperinci Bagaimana Python Mengendalikan Pass-by-Reference dan Pass-by-Value?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!