Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Berikut adalah beberapa tajuk berasaskan soalan yang sesuai dengan artikel: Memfokuskan pada Perbezaan Utama: * Fungsi, Kaedah Tidak Terikat dan Kaedah Terikat dalam Python: Apakah Perbezaannya? * Python: Bagaimana fungsi Functio

Berikut adalah beberapa tajuk berasaskan soalan yang sesuai dengan artikel: Memfokuskan pada Perbezaan Utama: * Fungsi, Kaedah Tidak Terikat dan Kaedah Terikat dalam Python: Apakah Perbezaannya? * Python: Bagaimana fungsi Functio

Barbara Streisand
Barbara Streisandasal
2024-11-02 13:35:30669semak imbas

Here are some question-based titles that fit the article:

Focusing on the Key Distinction:

* Functions, Unbound Methods, and Bound Methods in Python: What's the Difference?
* Python: How do Functions, Unbound Methods, and Bound Methods Differ?
* Unders

Memahami Perbezaan Antara Fungsi, Kaedah Tidak Terikat dan Kaedah Terikat

Memahami perbezaan antara fungsi, kaedah tidak terikat dan kaedah terikat adalah penting untuk pengaturcaraan dalam Python. Panduan ini membongkar perbezaan, menerangkan cara ia diubah dan menyediakan contoh untuk menggambarkan penggunaannya.

Fungsi

Fungsi ditakrifkan dengan pernyataan def atau lambda. Ia adalah pernyataan bersendirian yang melaksanakan operasi tertentu.

Kaedah Tidak Terikat

Di bawah Python 2, fungsi yang ditakrifkan dalam badan kelas diubah menjadi kaedah tidak terikat. Ia masih berfungsi tetapi mempunyai parameter pertama tersirat, iaitu kelas.

Kaedah Terikat

Apabila kaedah tidak terikat diakses pada contoh kelas, ia ditukar ke dalam kaedah terikat. Contoh kelas dihantar secara automatik sebagai parameter diri pertama kepada kaedah.

Transformasi

  • Sesuatu fungsi boleh diubah menjadi kaedah tidak terikat menggunakan kelas jenis panggilan pembinaan atau pembina MethodType.
  • Kaedah tidak terikat boleh ditukar kepada kaedah terikat dengan mengaksesnya pada contoh kelas.
  • Kaedah terikat tidak boleh diubah semula menjadi kaedah tidak terikat atau fungsi.

Penggunaan

  • Fungsi dipanggil seperti fungsi biasa: f1()
  • Kaedah tidak terikat dipanggil dengan contoh daripada kelas sebagai hujah pertama: C.f1(instance)
  • Kaedah terikat dipanggil pada instance kelas: instance.f1()

Contoh

Pertimbangkan kod berikut:

<code class="python">def f1(self):
    pass

class C(object):
    f1 = f1</code>

Di sini, f1 ialah fungsi, C.f1 ialah kaedah tidak terikat dan C().f1 ialah kaedah terikat.

Python 3 Distinction

Python 3 menghapuskan konsep kaedah tidak terikat. Fungsi yang diakses pada kejadian kelas hanya dikembalikan sebagai fungsi asal.

Atas ialah kandungan terperinci Berikut adalah beberapa tajuk berasaskan soalan yang sesuai dengan artikel: Memfokuskan pada Perbezaan Utama: * Fungsi, Kaedah Tidak Terikat dan Kaedah Terikat dalam Python: Apakah Perbezaannya? * Python: Bagaimana fungsi Functio. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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