Type () işlevi, nesnenin türünü döndürür veya iletilen argümanlara göre yeni bir tür nesnesi döndürür.
type()
Fonksiyonu, iki farklı formları vardır:
tür (nesne) tür (ad, temeller, dikte)
type () Tek Nesne Parametresiyle
Tek bir nesneye aktarılırsa type()
, işlev türünü döndürür.
Örnek 1: Bir Nesnenin Türünü Alma
numbers_list = (1, 2) print(type(numbers_list)) numbers_dict = (1: 'one', 2: 'two') print(type(numbers_dict)) class Foo: a = 0 foo = Foo() print(type(foo))
Çıktı
Bir nesnenin türünü kontrol etmeniz gerekiyorsa, bunun yerine Python isinstance () işlevini kullanmak daha iyidir. Bunun nedeni, isinstance()
işlevin verilen nesnenin alt sınıfın bir örneği olup olmadığını da kontrol etmesidir.
type () İsim, tabanlar ve dict Parametreleri ile
Üç parametre aktarılırsa type()
, yeni bir tür nesnesi döndürür .
Üç parametre şunlardır:
Parametre | Açıklama |
---|---|
isim | bir sınıf adı; __name__ öznitelik olur |
üsler | temel sınıfı listeleyen bir demet; __bases__ öznitelik olur |
dikte etmek | sınıf gövdesi için tanımları içeren ad alanı olan bir sözlük; __dict__ öznitelik olur |
Örnek 2: Bir yazım nesnesi oluşturun
o1 = type('X', (object,), dict(a='Foo', b=12)) print(type(o1)) print(vars(o1)) class test: a = 'Foo' b = 12 o2 = type('Y', (test,), dict(a='Foo', b=12)) print(type(o2)) print(vars(o2))
Çıktı
('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__':, '__weakref__':, '__doc__': Yok) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': Yok)
Programda, __dict__
niteliği döndüren Python vars () işlevini kullandık . __dict__
nesnenin yazılabilir niteliklerini depolamak için kullanılır.
Gerekirse bu nitelikleri kolayca değiştirebilirsiniz. Örneğin, __name__
o1'in özniteliğini olarak değiştirmeniz gerekirse 'Z'
, şunu kullanın:
o1 .__ isim = 'Z'