Fungsi Kelas Pertama
Hantar dan pulangkan fungsi
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, kuncisorted). lambdamencipta 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))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
- Fungsi Kelas Pertama
- Penutupan dan Pemboleh Ubah Bebas
- nonlocal dan Keadaan Boleh Ubah
- Fungsi Separa