Gabay sa type() ng Python: Pagsusuri at Paggamit ng uri

1. Ano ang type() na function ng Python?

Pangkalahatang-ideya ng function na type()

Sa Python, madalas ginagamit ang type() function upang suriin ang data type ng isang object. Ang function na ito ay nagbabalik ng uri ng object na ibinigay bilang argumento, at ito ay isang kapaki-pakinabang na tool para sa pag-debug ng programa at pag-check ng type. Gamit ang katangian ng dynamic typing ng Python, madaling matukoy kung anong uri ng data ang taglay ng isang object.

Pangunahing paggamit

type() function ay ginagamit tulad ng sumusunod.
type(object)
Ang function na ito ay nagbabalik ng uri ng object bilang isang klase. Halimbawa, maaari mong suriin ang uri ng mga integer at string tulad ng sumusunod.
print(type(123))  # Output: <class 'int'>
print(type("Python"))  # Output: <class 'str'>
Sa ganitong paraan, sa pamamagitan ng paggamit ng type() function, maaari mong malinaw na matukoy ang uri ng object, at mahalaga na suriin ang type bago magsagawa ng mga operasyon na nakadepende sa type.

2. Pangunahing Paggamit ng type() na Function

Pagpapatunay ng Pangunahing Uri ng Datos

Sa Python, may ilang pangunahing uri ng datos, at maaaring suriin ang bawat uri gamit ang type(). Bilang mga halimbawa ng karaniwang uri ng datos, narito ang mga sumusunod.
print(type(3.14))  # Output: <class 'float'>
print(type(True))  # Output: <class 'bool'>
Ang mga pangunahing uri ng datos na ito ay madalas gamitin sa Python, at sa pamamagitan ng paggamit ng type() na function, maaaring suriin ang uri ng variable sa gitna ng programa at maiwasan ang maling operasyon sa uri.

Pagtukoy ng Uri sa Kondisyonal na Pahayag

type() na function ay maaaring gamitin kasabay ng mga kondisyonal na pahayag upang matukoy kung ang isang bagay ay may tiyak na uri. Halimbawa, upang suriin kung ang isang object ay isang integer, gamitin ito tulad ng sumusunod.
if type(123) is int:
    print("Ito ay isang integer.")
Gayundin, kung nais suriin ang maraming uri nang sabay-sabay, maaaring gamitin ang operator na in.
if type([1, 2, 3]) in (list, int):
    print("Ito ay listahan o integer.")
Sa ganitong paraan, ang pagtukoy ng uri sa mga kondisyonal na pahayag ay kapaki-pakinabang upang maiwasan ang hindi inaasahang mga error.
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

3. Pagsusuri ng Kumplikadong Uri ng Data

Pagsusuri ng Uri ng List, Tuple, at Dictionary

Sa Python, maaari ring suriin ang mga kumplikadong uri ng data tulad ng list, tuple, at dictionary gamit ang type(). Ipinapakita sa ibaba ang mga halimbawa ng pagsusuri ng bawat uri.
my_list = [1, 2, 3]
print(type(my_list))  # Output: <class 'list'>

my_tuple = (1, 2, 3)
print(type(my_tuple))  # Output: <class 'tuple'>

my_dict = {'a': 1, 'b': 2}
print(type(my_dict))  # Output: <class 'dict'>
Ang mga kumplikadong uri ng data na ito ay ginagamit upang mag-imbak ng maraming data tulad ng list at dictionary, at mahalaga ito upang gawing mas flexible ang lohika ng programa.

Pagsusuri ng Uri ng Set at Frozen Set

Ang type() ay maaari ring tukuyin ang uri ng mga set (set) at immutable set (frozenset). Narito ang isang halimbawa.
my_set = {1, 2, 3}
print(type(my_set))  # Output: <class 'set'>

my_frozenset = frozenset([1, 2, 3])
print(type(my_frozenset))  # Output: <class 'frozenset'>
Ang mga uri na ito ay kapaki-pakinabang kapag nagsasagawa ng mga operasyon sa set batay sa tiyak na mga kondisyon.

4. Pag-convert ng mga uri sa Python at mga aplikasyon ng type()

Pangkalahatang-ideya ng Pag-convert ng Uri

Python may ilang mga function na nagpapadali ng pag-convert sa pagitan ng iba’t ibang uri ng data. int(), float(), str() at iba pa, maaaring i-convert ang mga string sa mga integer o floating-point number.
my_str = "100"
my_int = int(my_str)
print(type(my_int))  # Output: <class 'int'>
Sa ganitong paraan, mahalaga ang pag-convert ng numerong data at paggamit ng type() upang suriin ang resulta ng pag-convert.

Pagpapatunay Pagkatapos ng Pag-convert ng Uri

type() ay isang kapaki-pakinabang na tool upang tiyakin kung tama ang pag-convert ng uri. Katulad ng nasa ibaba, maaari mong suriin ang resulta ng pag-convert ng string sa floating-point number.
my_float = float("3.14")
print(type(my_float))  # Output: <class 'float'>
Ang pag-convert ng uri ay napaka-kapaki-pakinabang lalo na kapag sinusuri kung ang data ay nasa inaasahang format sa panahon ng pagkuha ng input mula sa gumagamit o pagbabasa ng file.

5. Ang Pagkakaiba ng type() at isinstance()

Katangian ng isinstance()

May function na isinstance() na may katangiang katulad ng type(). Ginagamit ang function na ito upang matukoy kung ang isang object ay kabilang sa isang tiyak na uri o sa subclass nito.
x = 5
if isinstance(x, int):
    print("x ay isang integer.")
isinstance() ay isinasaalang-alang din ang ugnayan ng inheritance ng klase, kaya ito ay kapaki-pakinabang kapag kailangan ang pagtukoy ng subclass.

Pagkakaiba ng Paggamit ng type() at isinstance()

type() ay nagsasagawa ng mahigpit na pagtukoy ng uri at hindi isinasama ang uri ng subclass. Samantala, ang isinstance() ay kinikilala hindi lamang ang tinukoy na uri kundi pati na rin ang mga subclass nito. Para sa mga object na may inheritance structure, inirerekomenda ang paggamit ng isinstance().
class Animal:
    pass

class Dog(Animal):
    pass

dog = Dog()
print(isinstance(dog, Animal))  # True
print(type(dog) is Animal)  # False
Sa halimbawang ito, dahil ang klase na Dog ay nagmana mula sa klase na Animal, kinikilala ng isinstance() na ang dog ay uri ng Animal, ngunit ang type() ay mahigpit na tinuturing ito bilang uri ng Dog.

6. Buod at mga Paalala

Ang type() na function ng Python ay napaka-kapaki-pakinabang na tool para sa pag-verify ng uri. Gayunpaman, para sa mga object na may inheritance structure, mas angkop na gamitin ang isinstance() kaysa sa type(). Bukod pa rito, kapag gumagamit ng type(), mahalaga ang tamang error handling sa code na maaaring magbago ang uri nang dinamiko. Ang pag-verify at pag-convert ng mga uri ay may mahalagang papel lalo na sa pagproseso ng data at validation ng input ng gumagamit. Sa pamamagitan ng mahusay na paggamit ng mga function na ito, makakalikha ka ng mas matibay na programa.
侍エンジニア塾