Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menyemak sama ada objek boleh diubah dalam Python?

Bagaimana untuk menyemak sama ada objek boleh diubah dalam Python?

王林
王林ke hadapan
2023-08-25 22:05:051687semak imbas

Bagaimana untuk menyemak sama ada objek boleh diubah dalam Python?

Objek boleh lelar ialah objek yang semua elemennya boleh diulang menggunakan gelung atau fungsi boleh lelar. Senarai, rentetan, kamus, tupel, dsb. semuanya dipanggil objek boleh lelar.

Dalam bahasa Python, terdapat pelbagai cara untuk menyemak sama ada objek boleh dilelang. Mari kita lihat satu persatu.

Gunakan gelung

Dalam Python, kami mempunyai dua teknik gelung, satu menggunakan gelung "untuk" dan satu lagi menggunakan gelung "semasa". Menggunakan salah satu daripada dua gelung ini, kita boleh menyemak sama ada objek yang diberikan boleh lelaran.

Contoh

Dalam contoh ini, kami akan cuba mengulang objek menggunakan gelung "untuk" dan menyemak sama ada ia diulang atau tidak. Di bawah ialah kod.

l = ["apple",22,"orange",34,"abc",0.3]
try:
   for i in l:
      print(i)
   print("Given object is iterable")
except TypeError:
   print("Given object is not iterable")

Output

apple
22
orange
34
abc
0.3
Given object is iterable

Contoh

Mari lihat contoh lain menggunakan gelung for untuk menyemak sama ada objek yang diberikan boleh dilelas.

integer = 23454
try:
   for i in integer:
      print(i)
   print("Given object is iterable")
except TypeError:
   print("Given object is not iterable")

Output

Di bawah ialah output kod yang menyemak sama ada objek yang diberikan boleh lelaran.

Given object is not iterable

Gunakan kaedah iter()

Terdapat fungsi yang dipanggil iter() dalam Python yang menyemak sama ada objek yang diberikan boleh diubah atau tidak.

Contoh

Dalam contoh ini, kami menghantar objek yang akan diulang dan kelas iter kepada fungsi hasattr(). Kemudian, gunakan kaedah iter() untuk menyemak sama ada objek itu diulang.

integer = 23454
if hasattr(integer, '__iter__'):
    my_iter = iter(integer)
    print("Given object is iterable")
else:
    print("Given object is not iterable")

Output

Given object is not iterable

Menggunakan modul collections.abc

Dalam Python, modul collections.abc menyediakan kelas abstrak yang dipanggil Iterable yang boleh digunakan untuk menyemak sama ada objek boleh diulang.

Contoh

Di sini, apabila kita ingin menyemak sama ada objek yang diberikan boleh diubah atau tidak, kita perlu lulus objek dan kelas abstrak "Iterable" sebagai parameter kepada fungsi isinstance().

from collections.abc import Iterable
integer = 23454
if isinstance(integer, Iterable):
    print("Given object is iterable")
else:	
    print("Given object is not iterable")

Output

Berikut ialah output yang dijana -

Given object is not iterable

Contoh

Mari lihat contoh lain untuk menyemak sama ada objek yang diberikan boleh dilelas.

from collections.abc import Iterable
dic = {"name":["Java","Python","C","COBAL"],"Strength":[10,200,40,50,3]}
if isinstance(dic, Iterable):
    print("Given object is iterable")
else:
    print("Given object is not iterable")

Output

Output program di atas ditunjukkan sebagai -

Given object is iterable

Gunakan cuba dan kecuali

Terdapat "cuba" dan "kecuali" dalam Python, yang mengendalikan ralat apabila ia berlaku. Ini juga menyemak sama ada objek yang diberikan boleh diubah.

Contoh

Ini adalah contoh menggunakan fungsi iter() bersama-sama dengan try dan kecuali untuk menyemak sama ada objek yang diberikan boleh dilelas.

dic = {"name":["Java","Python","C","COBAL"],"Strength":[10,200,40,50,3]}
try:
    iter(dic)
    print('Given object is iterable')
except TypeError:
    print('Given object is not iterable')

Output

Given object is iterable

Atas ialah kandungan terperinci Bagaimana untuk menyemak sama ada objek boleh diubah dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam