Python Academy · Pelajaran

Fungsi Kelas Pertama

Hantar dan pulangkan fungsi

Pelajaran 1 daripada 413 langkah

Fungsi Kelas Pertama ialah pelajaran Python Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Python Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Fungsi ialah objek

Dalam Python, fungsi ialah objek kelas pertama. Fungsi boleh diberikan kepada pemboleh ubah, disimpan dalam struktur data, dihantar sebagai argumen dan dipulangkan daripada fungsi lain — sama seperti nombor atau rentetan.

def greet():
    return 'hi'
print(type(greet))
print(greet())

Memberikan fungsi kepada pemboleh ubah

Nama fungsi hanyalah rujukan. Berikannya kepada nama lain dan panggil melalui nama itu — tanpa tanda kurung apabila merujuk kepada fungsi itu sendiri.

def shout(text):
    return text.upper()
yell = shout
print(yell('hello'))

Fungsi dalam struktur data

Anda boleh menyimpan fungsi dalam senarai atau kamus, kemudian mencarinya dan memanggilnya secara dinamik.

def add(a, b):
    return a + b
def sub(a, b):
    return a - b
ops = {'+': add, '-': sub}
print(ops['+'](10, 4))
print(ops['-'](10, 4))

Menghantar fungsi sebagai argumen

Fungsi yang menerima fungsi lain sebagai parameter dipanggil fungsi peringkat tinggi. Fungsi yang dihantar itu ialah argumen.

def apply(func, value):
    return func(value)
print(apply(str.upper, 'cat'))
print(apply(len, 'cat'))

map menggunakan fungsi kelas pertama

Fungsi terbina dalam seperti map bergantung pada penghantaran fungsi. Di sini, satu fungsi digunakan pada setiap item.

def square(n):
    return n * n
result = list(map(square, [1, 2, 3, 4]))
print(result)

filter menerima predikat

filter mengekalkan item yang fungsi dihantar mengembalikan True. Fungsi itu menentukan perkara yang dikekalkan.

def is_even(n):
    return n % 2 == 0
print(list(filter(is_even, range(10))))

Memulangkan fungsi

Satu fungsi boleh memulangkan fungsi lain. Fungsi yang dipulangkan itu kemudiannya boleh dipanggil secara berasingan.

def get_greeter():
    def greeter(name):
        return 'Hello ' + name
    return greeter
f = get_greeter()
print(f('Ada'))

Fungsi sebagai kunci pengisihan

sorted menerima fungsi key yang memetakan setiap item kepada nilai yang digunakan untuk menentukan susunan.

words = ['banana', 'fig', 'cherry']
by_length = sorted(words, key=len)
print(by_length)

Lambda sebagai fungsi ringkas

lambda ialah fungsi kecil tanpa nama. Fungsi ini amat sesuai untuk kegunaan sekali sahaja sebagai argumen.

nums = [5, 1, 4, 2]
print(sorted(nums, key=lambda x: -x))

Fungsi mempunyai atribut

Oleh sebab fungsi ialah objek, fungsi mempunyai atribut seperti __name__ dan rentetan dokumentasi dalam __doc__.

def hello():
    'Says hello.'
    return 'hi'
print(hello.__name__)
print(hello.__doc__)

Membina jadual pemilihan fungsi

Dengan menggabungkan idea ini, anda boleh membina jadual pemilihan fungsi yang kemas untuk memilih fungsi berdasarkan nama — tanpa rantai syarat if/elif yang panjang.

def start():
    return 'starting'
def stop():
    return 'stopping'
actions = {'start': start, 'stop': stop}
command = 'start'
print(actions[command]())

Semakan Pantas

Apakah maksudnya fungsi ialah 'kelas pertama' dalam Python?

Imbas Kembali: Fungsi Kelas Pertama

Anda telah mempelajari bahawa dalam Python:

  • Fungsi ialah objek yang boleh diberikan, disimpan, dihantar dan dipulangkan.
  • Fungsi peringkat tinggi menerima atau memulangkan fungsi lain (map, filter, kunci sorted).
  • lambda mencipta fungsi tanpa nama yang ringkas.
  • Ini membolehkan jadual pemilihan fungsi yang kemas, bukannya syarat yang panjang.
ops = {'double': lambda x: x * 2}
print(ops['double'](21))
Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
76
Pelajaran
320

Soalan Lazim

Adakah pelajaran “Fungsi Kelas Pertama” percuma?

Ya — teks penuh “Fungsi Kelas Pertama” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Python Academy, tingkat taraf kepada CoddyKit PRO. Kursus Python Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Fungsi Kelas Pertama”?

Hantar dan pulangkan fungsi Anda berlatih Python Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Python Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Python Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Fungsi Kelas Pertama” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Fungsi Kelas Pertama
  2. Penutupan dan Pemboleh Ubah Bebas
  3. nonlocal dan Keadaan Boleh Ubah
  4. Fungsi Separa
← Kembali ke Python Academy