π Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ int Python? π
Π Python ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ int Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΠΌΡΡΠΈ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ. ΠΠ»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ int ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ 4 Π±Π°ΠΉΡΠ° (32 Π±ΠΈΡΠ°) ΠΈΠ»ΠΈ 8 Π±Π°ΠΉΡ (64 Π±ΠΈΡΠ°), Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Python.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ int:
num1 = 42 # 4-Π±Π°ΠΉΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
print(num1)
num2 = 12345678901234567890 # 8-Π±Π°ΠΉΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
print(num2)
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΠΉΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ int Π² Π²Π°ΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ sys.getsizeof()
.
import sys
num3 = 42
print(sys.getsizeof(num3))
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ sys.getsizeof()
, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΠΉΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ num3
ΡΠΈΠΏΠ° int.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ int Π² Python?
Π ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python ΡΠΈΠΏ int ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π», ΡΠΎ Π΅ΡΡΡ ΡΠΈΡΠ΅Π» Π±Π΅Π· Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π²Π°ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π²Π΅ΡΡΠΈΠΈ Python.
Π Π°Π·ΠΌΠ΅Ρ ΡΠΈΠΏΠ° int Π² Python 2
Π Python 2 ΡΠΈΠΏ int Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 4 Π±Π°ΠΉΡΠ° (32 Π±ΠΈΡΠ°) ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΠΎΡ -2147483648 Π΄ΠΎ 2147483647. ΠΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ 32-Π±ΠΈΡΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» Π² Python 2.
Π Π°Π·ΠΌΠ΅Ρ ΡΠΈΠΏΠ° int Π² Python 3
Π Python 3 ΡΠΈΠΏ int Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΠΉΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ.
Python 3 ΠΌΠΎΠΆΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π°, ΡΡΠΎΠ±Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΡΡΠ°ΡΡ ΠΏΠΎ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅, ΡΠΎ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π²ΡΠ΅Π³ΠΎ 28 Π±Π°ΠΉΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅. ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠΈΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅, ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° int Π² Python:
small_number = 42
print(sys.getsizeof(small_number))
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ getsizeof() ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ sys, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ small_number. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ 42 ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ.
big_number = 99999999999999999999999999999999999999999999999999
print(sys.getsizeof(big_number))
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, ΠΎΠ½ΠΎ Π·Π°ΠΉΠΌΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ΅ΠΌ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ.
ΠΡΠ²ΠΎΠ΄
Π’ΠΈΠΏ int Π² Python ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΡΠ°Π·Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΠΌΡΡΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ»Π°. Python 2 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ 32-Π±ΠΈΡΠ½ΡΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡ 4 Π±Π°ΠΉΡΠ°, Π° Python 3 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»ΠΈΠ½Π½ΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΠΈ.