Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana anda menentukan fungsi dalam Python?

Bagaimana anda menentukan fungsi dalam Python?

Karen Carpenter
Lepaskan: 2025-03-19 14:20:28
asal
349 orang telah melayarinya

Bagaimana anda menentukan fungsi dalam Python?

Di Python, fungsi ditakrifkan menggunakan kata kunci def , diikuti dengan nama fungsi, satu set kurungan yang mungkin mengandungi parameter, dan kolon. Badan fungsi, yang mengandungi pernyataan yang dilaksanakan oleh fungsi, diindentikan di bawah garis definisi. Inilah contoh mudah bagaimana untuk menentukan fungsi:

 <code class="python">def greet(name): """ This function greets the person passed in as a parameter """ print("Hello, " name ". Good morning!")</code>
Salin selepas log masuk

Dalam contoh ini, greet adalah nama fungsi, dan name adalah parameter. Fungsi ini mencetak mesej ucapan apabila dipanggil. Petikan triple mengandungi docstring, yang merupakan rentetan literal yang berlaku sebagai pernyataan pertama dalam definisi fungsi, kelas, atau modul dan digunakan untuk mendokumenkan fungsi tersebut.

Apakah pelbagai jenis fungsi yang boleh anda buat dalam Python?

Di Python, anda boleh membuat beberapa jenis fungsi, termasuk:

  1. Fungsi terbina dalam : Ini adalah fungsi yang telah ditetapkan dalam python, seperti print() , len() , sum() , dan lain-lain. Ini boleh digunakan tanpa perlu diimport atau ditakrifkan oleh pengguna.
  2. Fungsi yang ditentukan pengguna : Ini adalah fungsi yang ditakrifkan oleh pengaturcara. Contoh yang diberikan dalam bahagian pertama adalah fungsi yang ditentukan oleh pengguna. Mereka membenarkan kod modular dan boleh diguna semula.
  3. Fungsi Tanpa Nama (Fungsi Lambda) : Ini adalah fungsi kecil, tanpa nama yang ditakrifkan menggunakan kata kunci lambda . Mereka biasanya digunakan untuk operasi jangka pendek. Contohnya:

     <code class="python">square = lambda x: x ** 2 print(square(5)) # Output: 25</code>
    Salin selepas log masuk
  4. Fungsi Rekursif : Ini adalah fungsi yang memanggil diri mereka untuk menyelesaikan masalah dengan memecahkannya ke bahagian yang semakin kecil. Berikut adalah contoh asas fungsi rekursif yang mengira faktorial:

     <code class="python">def factorial(n): if n == 0: return 1 else: return n * factorial(n-1)</code>
    Salin selepas log masuk
  5. Fungsi Generator : Ini adalah jenis fungsi khas yang mengembalikan iterator yang menghasilkan urutan nilai apabila diulang. Penjana ditakrifkan seperti fungsi biasa tetapi gunakan pernyataan yield dan bukannya return . Contohnya:

     <code class="python">def infinite_sequence(): num = 0 while True: yield num num = 1</code>
    Salin selepas log masuk

Bagaimana anda boleh lulus argumen ke fungsi dalam python?

Di Python, argumen boleh diserahkan kepada fungsi dalam beberapa cara:

  1. Argumen Posisi : Ini adalah jenis hujah yang paling biasa, di mana urutan argumen dalam panggilan fungsi mesti sepadan dengan susunan parameter dalam definisi fungsi.

     <code class="python">def describe_pet(animal_type, pet_name): print(f"I have a {animal_type}.") print(f"My {animal_type}'s name is {pet_name}.") describe_pet('dog', 'Rex')</code>
    Salin selepas log masuk
  2. Argumen Kata Kunci : Ini membolehkan anda menentukan argumen dengan nama parameter mereka, yang dapat membantu menjadikan kod anda lebih mudah dibaca dan mengelakkan kesilapan apabila anda mempunyai banyak parameter.

     <code class="python">describe_pet(pet_name='Rex', animal_type='dog')</code>
    Salin selepas log masuk
  3. Argumen lalai : Anda boleh menetapkan nilai lalai untuk parameter, yang akan digunakan jika fungsi dipanggil tanpa argumen tersebut.

     <code class="python">def describe_pet(pet_name, animal_type='dog'): print(f"I have a {animal_type}.") print(f"My {animal_type}'s name is {pet_name}.") describe_pet('Rex') # Here, 'dog' will be used as the default value for animal_type</code>
    Salin selepas log masuk
  4. Senarai hujah sewenang-wenang : Jika anda tidak tahu berapa banyak hujah yang akan dimasukkan ke dalam fungsi anda, anda boleh menggunakan *args untuk argumen bukan kata kunci dan **kwargs untuk hujah kata kunci.

     <code class="python">def print_all(*args): for arg in args: print(arg) print_all(1, 2, 3, 'hello', 'world')</code>
    Salin selepas log masuk

Apakah tujuan menggunakan pernyataan 'kembali' dalam fungsi python?

Kenyataan return dalam Python digunakan untuk menamatkan pelaksanaan fungsi dan mengembalikan nilai dari fungsi kepada pemanggil. Tujuan pernyataan return termasuk:

  1. Mengembalikan nilai : Ia membolehkan fungsi untuk mengira hasil dan lulus kembali ke kod yang dipanggil fungsi.

     <code class="python">def add_numbers(a, b): return ab result = add_numbers(3, 4) # result will be 7</code>
    Salin selepas log masuk
  2. Penghujung fungsi pelaksanaan : Apabila return dilaksanakan, fungsi keluar dengan segera, dan tiada kod selanjutnya dalam fungsi dijalankan. Ini berguna untuk keluar awal berdasarkan keadaan.

     <code class="python">def divide(a, b): if b == 0: return "Error: Division by zero" return a / b</code>
    Salin selepas log masuk
  3. Mengembalikan pelbagai nilai : Dalam Python, anda boleh mengembalikan pelbagai nilai sebagai tuple, yang membolehkan anda mengembalikan lebih daripada satu hasil dari fungsi.

     <code class="python">def min_max(numbers): return min(numbers), max(numbers) min_val, max_val = min_max([1, 2, 3, 4, 5]) # min_val = 1, max_val = 5</code>
    Salin selepas log masuk
  4. Aliran Kawalan : Ia boleh digunakan sebagai cara untuk menguruskan aliran kawalan dalam fungsi yang lebih kompleks, yang membolehkan hasil yang berbeza berdasarkan keadaan yang berbeza.

Dengan menggunakan pernyataan return , fungsi boleh menjadi lebih fleksibel dan berkuasa, kerana mereka dapat memproses data dan memberikan hasil kepada bahagian lain program anda.

Atas ialah kandungan terperinci Bagaimana anda menentukan fungsi dalam 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan