Tutorial Python - unction

Jan 06, 2025 pm 01:52 PM

pengenalan

Fungsi ini ialah unit boleh panggil yang mengandungi arahan, bertujuan untuk mengurangkan pertindihan kod dan mengatur tugas yang rumit. Terdapat dua jenis: fungsi void (tiada nilai pulangan) dan fungsi yang mengembalikan nilai.

Ini ialah struktur asas fungsi dalam Python.

def function_name(args):
    function body
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ini ialah contoh fungsi void (tiada nilai pulangan) dalam Python.

# create a function
def hello():
    print("hello!")

# call the function
hello()
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Output

hello!
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Berdasarkan kod di atas, fungsi yang dipanggil hello() dicipta. Fungsi dipanggil dengan menyatakan nama fungsi diikuti dengan kurungan ().

Ini ialah contoh fa unction dengan nilai pulangan.

# create a function with return value
def add(a,b):
    return a + b

result = add(2,4)

print(result)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Output

6
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Berdasarkan kod di atas, fungsi yang dipanggil add() dicipta untuk menjumlahkan dua nombor. Nilai pulangan fungsi add() disimpan di dalam pembolehubah hasil.

Apabila bekerja dengan fungsi nilai pulangan, pastikan nilai yang dikembalikan sedang digunakan.

Hujah dan Hujah Kata Kunci

Fungsi dalam Python boleh mengambil berbilang argumen secara dinamik. Terdapat dua pendekatan untuk melaksanakan berbilang argumen dalam fungsi:

  • Argumen: berbilang argumen dilaksanakan dalam fungsi tanpa menyatakan kata kunci. hujah boleh dilaksanakan menggunakan *args.

  • Argumen kata kunci: berbilang argumen dilaksanakan dalam fungsi dengan kata kunci yang ditentukan. hujah kata kunci boleh dilaksanakan menggunakan **kwargs.

Kedua-dua argumen dan argumen kata kunci mesti terletak di kedudukan terakhir definisi argumen dalam fungsi.

Ini ialah contoh pelaksanaan berbilang argumen menggunakan pendekatan argumen untuk mengira jumlah nombor secara dinamik.

def sum(*args):
    result = 0
    for arg in args:
        result += arg
    return result

print(sum(1,2))
print(sum(1,2,3))
print(sum(1,2,3,4,5,4,3,2))
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Output

3
6
24
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Berdasarkan kod di atas, fungsi sum() boleh dipanggil dengan bilangan parameter yang berbeza.

Ini ialah contoh pelaksanaan berbilang argumen menggunakan pendekatan argumen kata kunci.

def display_info(name,**kwargs):
    print("========")
    print(f"name: {name}")
    print("other informations")
    for k, val in kwargs.items():
        print(f"{k}: {val}")
    print("========")

display_info("john",job="programmer",company="acme inc")
display_info("doe",job="programmer",company="acme inc",skills="go,java,php")
Salin selepas log masuk
Salin selepas log masuk

Output

========
name: john
other informations
job: programmer
company: acme inc
========
========
name: doe
other informations
job: programmer
company: acme inc
skills: go,java,php
========
Salin selepas log masuk
Salin selepas log masuk

Berdasarkan kod di atas, fungsi display_info() boleh dipanggil dengan bilangan parameter yang berbeza. Dengan menggunakan **kwargs, parameter boleh ditakrifkan dengan kata kunci.

Kedua-dua hujah dan hujah kata kunci boleh digunakan bersama. Ini adalah contoh.

def display(*args,**kwargs):
    print("===========")
    print("items")
    for arg in args:
        print(arg)
    print("other information")
    for k, val in kwargs.items():
        print(f"{k}: {val}")
    print("===========")

display("apple","coffee","milk",payment="cash")
display("TV","Camera",payment="cash",delivery="express")
Salin selepas log masuk
Salin selepas log masuk

Output

===========
items
apple
coffee
milk
other information
payment: cash
===========
===========
items
TV
Camera
other information
payment: cash
delivery: express
===========
Salin selepas log masuk
Salin selepas log masuk

Fungsi Rekursif

Fungsi rekursif ialah fungsi yang memanggil dirinya sendiri apabila menyelesaikan tugasnya. Fungsi rekursif boleh menyelesaikan banyak masalah termasuk nombor faktorial, jujukan Fibonacci dan lain-lain.

Terdapat dua komponen utama dalam fungsi rekursif:

  • Kes asas: kes asas mentakrifkan apabila fungsi dihentikan.
  • Hubungan berulang: hubungan ulangan mentakrifkan proses rekursif fungsi.

Dalam contoh ini, pengiraan faktorial dilaksanakan menggunakan fungsi rekursif.

def function_name(args):
    function body
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Output

# create a function
def hello():
    print("hello!")

# call the function
hello()
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Mari kita lihat lebih dekat fungsi faktorial(). Terdapat dua komponen yang terlibat dalam fungsi ini:

  • huruf asas: pelaksanaan fungsi ditamatkan jika nilai n bersamaan dengan 0 atau 1.

  • hubungan berulang: fungsi dilaksanakan jika nilai n lebih besar daripada 1.

hello!
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Fungsi faktorial() digambarkan dalam gambar di bawah ini.

Python Tutorial - unction

Lambda

Lambda ialah fungsi tanpa nama. Lambda boleh mengandungi banyak hujah seperti fungsi secara umum. Fungsi lambda sesuai untuk mencipta fungsi kecil yang mengembalikan nilai secara langsung.

Ini ialah contoh fungsi sum().

# create a function with return value
def add(a,b):
    return a + b

result = add(2,4)

print(result)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ini ialah contoh fungsi lambda untuk menjumlahkan dua nombor. Fungsi lambda disimpan di dalam pembolehubah yang dipanggil sum_func.

6
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Untuk menggunakan fungsi lambda, panggil fungsi dengan nama pembolehubahnya.

def sum(*args):
    result = 0
    for arg in args:
        result += arg
    return result

print(sum(1,2))
print(sum(1,2,3))
print(sum(1,2,3,4,5,4,3,2))
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Peta dan Penapis

Fungsi Peta

Fungsi map() melaksanakan fungsi panggil balik yang disediakan untuk setiap item di dalam senarai.

Ini ialah contoh fungsi map() untuk mendarab setiap nombor dengan 3.

3
6
24
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Output

def display_info(name,**kwargs):
    print("========")
    print(f"name: {name}")
    print("other informations")
    for k, val in kwargs.items():
        print(f"{k}: {val}")
    print("========")

display_info("john",job="programmer",company="acme inc")
display_info("doe",job="programmer",company="acme inc",skills="go,java,php")
Salin selepas log masuk
Salin selepas log masuk

Berdasarkan kod di atas, fungsi triple() bertindak sebagai panggilan balik untuk fungsi map() yang bermaksud fungsi triple() dipanggil untuk setiap item dalam senarai nombor. Kemudian, hasil fungsi map() ditukar kepada senarai dan kemudian disimpan di dalam pembolehubah yang dipanggil hasil.

Contoh di atas boleh dipermudahkan menggunakan fungsi lambda.

========
name: john
other informations
job: programmer
company: acme inc
========
========
name: doe
other informations
job: programmer
company: acme inc
skills: go,java,php
========
Salin selepas log masuk
Salin selepas log masuk

Output

def display(*args,**kwargs):
    print("===========")
    print("items")
    for arg in args:
        print(arg)
    print("other information")
    for k, val in kwargs.items():
        print(f"{k}: {val}")
    print("===========")

display("apple","coffee","milk",payment="cash")
display("TV","Camera",payment="cash",delivery="express")
Salin selepas log masuk
Salin selepas log masuk

Fungsi Penapis

Fungsi penapis() memilih item di dalam senarai berdasarkan fungsi panggil balik yang diberikan. Fungsi penapis() sesuai untuk menapis item di dalam senarai dengan menggunakan fungsi panggil balik yang disediakan. Fungsi penapis() memerlukan fungsi panggil balik yang mengembalikan nilai boolean.

Ini ialah contoh fungsi penapis() untuk memilih nombor genap sahaja dalam senarai.

===========
items
apple
coffee
milk
other information
payment: cash
===========
===========
items
TV
Camera
other information
payment: cash
delivery: express
===========
Salin selepas log masuk
Salin selepas log masuk

Output

def factorial(n):
    if n == 0 or n == 1:
        return 1
    else:
        return n * factorial(n-1)

# call the function
result = factorial(5)

print(result)
Salin selepas log masuk

Berdasarkan kod di atas, fungsi filter() menggunakan is_even() sebagai fungsi panggil balik untuk memilih nombor genap daripada senarai.

Contoh ini boleh dipermudahkan menggunakan fungsi lambda.

120
Salin selepas log masuk

Output

def function_name(args):
    function body
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Contoh - Alih Keluar Kod Pendua

Fungsi ini boleh digunakan untuk mengalih keluar kod pendua. Sebagai contoh, terdapat dua fungsi yang dipanggil register() dan login(). Kedua-dua fungsi menggunakan proses pengesahan.

# create a function
def hello():
    print("hello!")

# call the function
hello()
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Terdapat kod pendua untuk proses pengesahan. Untuk mengalih keluar pendua ini, proses pengesahan boleh dibungkus dalam fungsi yang berasingan.

hello!
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Fungsi validate() boleh digunakan di dalam fungsi register() dan login().

# create a function with return value
def add(a,b):
    return a + b

result = add(2,4)

print(result)
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Berdasarkan kod di atas, kod lebih bersih dan mudah diubah suai kerana jika peraturan pengesahan tambahan dikemas kini, peraturan pengesahan boleh dikemas kini di satu tempat (di dalam fungsi validate()).

Petua

Ini ialah petua utama apabila bekerja dengan fungsi dalam Python.

  • Fungsi mesti menyelesaikan satu tugasan. Jika berbilang tugasan diperlukan, cipta fungsi berasingan untuk tugasan lain.

  • Bilangan maksimum argumen fungsi ialah 3. Jika argumen kelihatan lebih daripada 3, pertimbangkan untuk menggunakan objek data khusus untuk argumen fungsi.

Bilangan maksimum argumen fungsi nampaknya boleh dipertikaikan.

Ini ialah contoh fungsi create_account() menggunakan argumen.

6
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Fungsi create_account() boleh diubah suai untuk menggunakan objek data untuk kod yang lebih bersih.

def sum(*args):
    result = 0
    for arg in args:
        result += arg
    return result

print(sum(1,2))
print(sum(1,2,3))
print(sum(1,2,3,4,5,4,3,2))
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
  • Gunakan dokumentasi untuk menerangkan perihalan fungsi. Dokumentasi boleh ditambah menggunakan sintaks """.

Ini ialah contoh penggunaan dokumentasi di dalam fungsi.

3
6
24
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Sumber

  • Argumen dan hujah kata kunci dalam fungsi
  • Ilustrasi fungsi rekursif

Saya harap artikel ini membantu anda mempelajari Python. Jika anda mempunyai sebarang maklum balas, sila beritahu saya di bahagian komen.

Atas ialah kandungan terperinci Tutorial Python - unction. 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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat 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)

Topik panas

Tutorial Java
1677
14
Tutorial PHP
1280
29
Tutorial C#
1257
24
Python vs C: Lengkung pembelajaran dan kemudahan penggunaan Python vs C: Lengkung pembelajaran dan kemudahan penggunaan Apr 19, 2025 am 12:20 AM

Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.

Pembelajaran Python: Adakah 2 jam kajian harian mencukupi? Pembelajaran Python: Adakah 2 jam kajian harian mencukupi? Apr 18, 2025 am 12:22 AM

Adakah cukup untuk belajar Python selama dua jam sehari? Ia bergantung pada matlamat dan kaedah pembelajaran anda. 1) Membangunkan pelan pembelajaran yang jelas, 2) Pilih sumber dan kaedah pembelajaran yang sesuai, 3) mengamalkan dan mengkaji semula dan menyatukan amalan tangan dan mengkaji semula dan menyatukan, dan anda secara beransur-ansur boleh menguasai pengetahuan asas dan fungsi lanjutan Python dalam tempoh ini.

Python vs C: Meneroka Prestasi dan Kecekapan Python vs C: Meneroka Prestasi dan Kecekapan Apr 18, 2025 am 12:20 AM

Python lebih baik daripada C dalam kecekapan pembangunan, tetapi C lebih tinggi dalam prestasi pelaksanaan. 1. Sintaks ringkas Python dan perpustakaan yang kaya meningkatkan kecekapan pembangunan. 2. Ciri-ciri jenis kompilasi dan kawalan perkakasan meningkatkan prestasi pelaksanaan. Apabila membuat pilihan, anda perlu menimbang kelajuan pembangunan dan kecekapan pelaksanaan berdasarkan keperluan projek.

Python vs C: Memahami perbezaan utama Python vs C: Memahami perbezaan utama Apr 21, 2025 am 12:18 AM

Python dan C masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1) Python sesuai untuk pembangunan pesat dan pemprosesan data kerana sintaks ringkas dan menaip dinamik. 2) C sesuai untuk prestasi tinggi dan pengaturcaraan sistem kerana menaip statik dan pengurusan memori manual.

Yang merupakan sebahagian daripada Perpustakaan Standard Python: Senarai atau Array? Yang merupakan sebahagian daripada Perpustakaan Standard Python: Senarai atau Array? Apr 27, 2025 am 12:03 AM

Pythonlistsarepartofthestandardlibrary, sementara

Python: Automasi, skrip, dan pengurusan tugas Python: Automasi, skrip, dan pengurusan tugas Apr 16, 2025 am 12:14 AM

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.

Python untuk pengkomputeran saintifik: rupa terperinci Python untuk pengkomputeran saintifik: rupa terperinci Apr 19, 2025 am 12:15 AM

Aplikasi Python dalam pengkomputeran saintifik termasuk analisis data, pembelajaran mesin, simulasi berangka dan visualisasi. 1.Numpy menyediakan susunan pelbagai dimensi yang cekap dan fungsi matematik. 2. Scipy memanjangkan fungsi numpy dan menyediakan pengoptimuman dan alat algebra linear. 3. Pandas digunakan untuk pemprosesan dan analisis data. 4.Matplotlib digunakan untuk menghasilkan pelbagai graf dan hasil visual.

Python untuk Pembangunan Web: Aplikasi Utama Python untuk Pembangunan Web: Aplikasi Utama Apr 18, 2025 am 12:20 AM

Aplikasi utama Python dalam pembangunan web termasuk penggunaan kerangka Django dan Flask, pembangunan API, analisis data dan visualisasi, pembelajaran mesin dan AI, dan pengoptimuman prestasi. 1. Rangka Kerja Django dan Flask: Django sesuai untuk perkembangan pesat aplikasi kompleks, dan Flask sesuai untuk projek kecil atau sangat disesuaikan. 2. Pembangunan API: Gunakan Flask atau DjangorestFramework untuk membina Restfulapi. 3. Analisis Data dan Visualisasi: Gunakan Python untuk memproses data dan memaparkannya melalui antara muka web. 4. Pembelajaran Mesin dan AI: Python digunakan untuk membina aplikasi web pintar. 5. Pengoptimuman Prestasi: Dioptimumkan melalui pengaturcaraan, caching dan kod tak segerak

See all articles