π ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Python: ΠΏΡΠΎΡΡΠΎΠΉ Π³ΠΈΠ΄
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Python?
Π Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ type()
, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
num = 10
print(type(num)) # ΠΡΠ²ΠΎΠ΄ΠΈΡ <class 'int'>
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ .__class__
Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ:
name = "John"
print(name.__class__) # ΠΡΠ²ΠΎΠ΄ΠΈΡ <class 'str'>
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ isinstance()
:
value = 3.14
print(isinstance(value, float)) # ΠΡΠ²ΠΎΠ΄ΠΈΡ True
Π£Π΄Π°ΡΠΈ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Python!
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Python?
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π·Π½Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ Π΅Π³ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π»ΡΡΡΡΡ Π²Π°ΠΆΠ½ΡΠΌΠΈ. Π§ΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ· Π½ΠΈΡ .
1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ type()
Π Python Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ type()
, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ½Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π΅ ΡΠΈΠΏ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ:
num = 10
print(type(num)) # Π²ΡΠ²Π΅Π΄Π΅Ρ <class 'int'>
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π° Π²ΡΡ
ΠΎΠ΄Π΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ <class 'int'>
, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ num
ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ "ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ" (integer).
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° __class__
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π² Python ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π°ΡΡΠΈΠ±ΡΡ __class__
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ»Π°ΡΡΠ΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π°ΡΡΠΈΠ±ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΡΠΈΠΌΠ΅Ρ:
name = "John"
print(name.__class__) # Π²ΡΠ²Π΅Π΄Π΅Ρ <class 'str'>
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ name
, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ "John". Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΠΏ ΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π°ΡΡΠΈΠ±ΡΡ __class__
, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ <class 'str'>
, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ "ΡΡΡΠΎΠΊΠ°" (string).
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ isinstance()
Π€ΡΠ½ΠΊΡΠΈΡ isinstance()
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠΈΠΏΡ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ:
numbers = [1, 2, 3, 4, 5]
print(isinstance(numbers, list)) # Π²ΡΠ²Π΅Π΄Π΅Ρ True
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ numbers
, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΡΠ΅Π». ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ isinstance()
Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ numbers
ΠΈ list
, ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΏΠΈΡΠΊΠΎΠΌ. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ True, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ numbers
ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΈΡΠΊΠΎΠΌ.
4. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ typing
Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π² Python Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠΎΠ΄ΡΠ»Ρ typing, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΈΠΏΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
from typing import List
names = ["Alice", "Bob", "Charlie"]
print(type(names)) # Π²ΡΠ²Π΅Π΄Π΅Ρ <class 'list'>
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ List ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ typing ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Π³ΠΎ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ names
. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ type()
.
ΠΡΠ²ΠΎΠ΄
ΠΡΠ°ΠΊ, ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Python. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ type()
, Π°ΡΡΠΈΠ±ΡΡ __class__
, ΡΡΠ½ΠΊΡΠΈΡ isinstance()
ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ typing. ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠΈΠΏΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
, ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΡΠΈΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ Π±ΡΠ»Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Python. Π£ΡΠΏΠ΅Ρ ΠΎΠ² Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Python ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΠ΅Π»ΠΎΠΌ!