Rumah pembangunan bahagian belakang Tutorial Python Tentukan objek boleh lelar menggunakan fungsi __len__() dan __getitem__() Python

Tentukan objek boleh lelar menggunakan fungsi __len__() dan __getitem__() Python

Aug 22, 2023 am 09:34 AM
python objek boleh lelaran __len__() __getitem__()

Tentukan objek boleh lelar menggunakan fungsi __len__() dan __getitem__() Python

Gunakan fungsi __len__() dan __getitem__() Python untuk mentakrifkan objek boleh lelar

Baru-baru ini, semasa saya belajar Python, saya menemui satu fungsi yang sangat menarik, iaitu untuk mentakrifkan objek boleh lelar dengan mentakrifkan __len__() dan __getitem Fungsi boleh mentakrifkan objek boleh lelaran sendiri. Dalam artikel ini, saya akan memperkenalkan cara menggunakan kedua-dua fungsi ini untuk menentukan objek yang boleh diulang dan memberikan contoh kod yang sepadan.

Dalam Python, fungsi __len__() digunakan untuk mengembalikan panjang objek, iaitu bilangan elemen. Fungsi ini perlu mengembalikan integer. Jika kita mentakrifkan objek sendiri dan mahu boleh menggunakan fungsi seperti len() untuk mendapatkan panjang objek, maka kita boleh mentakrifkan fungsi __len__() dalam objek tersebut.

Berikut ialah contoh yang menunjukkan cara mentakrifkan objek boleh lelar dan mentakrifkan fungsi __len__() di dalamnya:

class MyList:
  def __init__(self):
    self.data = []
  
  def __len__(self):
    return len(self.data)
Salin selepas log masuk

Dalam contoh ini, kami mentakrifkan kelas MyList dan mentakrifkan __len__() di dalamnya fungsi. Fungsi ini mengembalikan panjang self.data, iaitu bilangan elemen dalam objek tersuai kami.

Sebagai tambahan kepada fungsi __len__(), kita juga boleh menggunakan fungsi __getitem__() untuk mendapatkan elemen dalam objek. Fungsi ini mengambil indeks sebagai parameter dan mengembalikan elemen yang sepadan. Dengan mentakrifkan fungsi __getitem__(), kita boleh mendapatkan elemen dalam objek tersuai mengikut indeks sama seperti menggunakan senarai atau tuple.

Berikut ialah contoh yang menunjukkan cara mentakrifkan fungsi __getitem__() dalam objek boleh lelar:

class MyList:
  def __init__(self):
    self.data = []

  def __len__(self):
    return len(self.data)
  
  def __getitem__(self, index):
    return self.data[index]
Salin selepas log masuk

Dalam contoh ini, kami telah mentakrifkan fungsi __getitem__() dalam kelas MyList. Fungsi ini menerima indeks sebagai parameter dan mengembalikan elemen indeks yang sepadan dalam diri.data.

Dengan mentakrifkan dua fungsi __len__() dan __getitem__(), kita boleh menggunakan objek boleh lelar yang ditentukan kita sendiri seperti menggunakan senarai. Berikut ialah contoh yang menunjukkan cara menggunakan objek boleh lelar tersuai kami:

mylist = MyList()
mylist.data = [1, 2, 3, 4, 5]

print(len(mylist))    # 输出:5

print(mylist[0])      # 输出:1
print(mylist[3])      # 输出:4
Salin selepas log masuk

Dalam contoh ini, kami mula-mula mencipta objek MyList dan kemudian menetapkan nilai kepada atribut data objek. Seterusnya, kami menggunakan fungsi len() untuk mendapatkan panjang objek, dan mendapatkan elemen dalam objek mengikut indeks.

Melalui contoh kod di atas, kita dapat melihat bahawa dengan mentakrifkan fungsi __len__() dan __getitem__(), kita boleh menentukan sendiri objek boleh lelar dan menggunakan objek ini seperti senarai. Ciri ini sangat berkuasa dan boleh membawa fleksibiliti dan skalabiliti yang lebih besar kepada program kami.

Untuk meringkaskan, fungsi __len__() dan __getitem__() dalam Python boleh membantu kami mentakrifkan objek boleh lelar, membolehkan kami menggunakan objek tersuai seperti senarai. Dalam pengaturcaraan sebenar, kita boleh mentakrifkan kedua-dua fungsi ini mengikut keperluan kita sendiri untuk mencapai fungsi yang lebih fleksibel dan mudah. Harap artikel ini dapat membantu anda!

Atas ialah kandungan terperinci Tentukan objek boleh lelar menggunakan fungsi __len__() dan __getitem__() 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

Tag artikel 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)

Cara Muat turun DeepSeek Xiaomi Cara Muat turun DeepSeek Xiaomi Feb 19, 2025 pm 05:27 PM

Cara Muat turun DeepSeek Xiaomi

Apakah kelebihan dan kekurangan templat? Apakah kelebihan dan kekurangan templat? May 08, 2024 pm 03:51 PM

Apakah kelebihan dan kekurangan templat?

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun Jul 01, 2024 am 07:22 AM

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET May 06, 2024 pm 04:43 PM

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET

Bagaimana anda bertanya kepadanya Deepseek Bagaimana anda bertanya kepadanya Deepseek Feb 19, 2025 pm 04:42 PM

Bagaimana anda bertanya kepadanya Deepseek

Bagaimana untuk menyimpan fungsi menilai Bagaimana untuk menyimpan fungsi menilai May 07, 2024 am 01:09 AM

Bagaimana untuk menyimpan fungsi menilai

Apakah perisian NET40? Apakah perisian NET40? May 10, 2024 am 01:12 AM

Apakah perisian NET40?

Cara Mencari DeepSeek Cara Mencari DeepSeek Feb 19, 2025 pm 05:18 PM

Cara Mencari DeepSeek

See all articles