Sobes.tech
Junior

Pythonда кайсы объекттер топтомго салынат?

sobes.tech AI

AIден жооп

Pythonда set ичинде өзгөрүлбөс (hashable) объекттер жайгаштырылышы мүмкүн.

Буларга төмөнкүлөр кирет:

  • Сан (түз, ондук, комплекстүү)
  • Жолдор (стрингдер)
  • Туптар (эгер алардын бардык элементтери да өзгөрүлбөс болсо)
  • Frozenset (setтин өзгөрүлбөс версиясы)

Объекттер, алар жок болушу мүмкүн:

  • Тизмелер (list)
  • Жыйнактар (set) - бирок frozenset колдонсо болот
  • Сөздүктөр (dict)

Мисал:

# Өзгөрүлбөс объекттер, алар setке жайгаштырылышы мүмкүн
valid_set = {1, "алма", (1, 2), frozenset({3, 4})}

# Өзгөрүлүү объекттер, алар setке жайгаштырылбайт
# invalid_set = {[1, 2], {3, 4}, {"a": 1}} # Бул TypeError чыгарат

Hashing — бул объект үчүн так маанини (hash) эсептөө процесси. Объект hashable болушу үчүн, ал __hash__() методуна ээ болушу керек жана анын hash мааниси анын жашоо циклинин ичинде өзгөрбөшү керек. Pythonдогу өзгөрүлбөс объекттер, өзүнүн табигатынан, hashable болот.