πŸ’‘ Как ΡƒΠ·Π½Π°Ρ‚ΡŒ сколько памяти Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ число Π² Python? πŸ”Ž

Число Π² Python Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π°Π·Π½ΠΎΠ΅ количСство памяти Π² зависимости ΠΎΡ‚ Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ°. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° памяти для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² чисСл: - Π¦Π΅Π»Ρ‹Π΅ числа (int): ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ 28 Π±Π°ΠΉΡ‚ плюс нСбольшой Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ объСм памяти для самого числа.

    import sys
    num = 42
    print(sys.getsizeof(num))
    
- Числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ (float): ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ 24 Π±Π°ΠΉΡ‚Π° плюс Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ для прСдставлСния дСсятичной Ρ‚ΠΎΡ‡ΠΊΠΈ.

    import sys
    num = 3.14
    print(sys.getsizeof(num))
    
ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ эти значСния ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ вСрсии Python.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Бколько памяти Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ число Π² Python

Python - это высокоуровнСвый язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт встроСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с числами. Когда ΠΌΡ‹ создаСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈ присваиваСм Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа, ΠΎΠ½Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство памяти Π² систСмС. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, сколько памяти Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ числа Π² Python ΠΈ ΠΊΠ°ΠΊ это зависит ΠΎΡ‚ ΠΈΡ… Ρ‚ΠΈΠΏΠ°.

ЦСлочислСнныС числа (int)

Π’ Python цСлочислСнныС числа (int) ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π Π°Π·ΠΌΠ΅Ρ€ памяти, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΉ Ρ†Π΅Π»Ρ‹ΠΌ числом, зависит ΠΎΡ‚ Π΅Π³ΠΎ значСния ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ выполняСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ†Π΅Π»Ρ‹Π΅ числа Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ фиксированноС количСство памяти. Π’ стандартной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ систСм, Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ†Π΅Π»Ρ‹Ρ… чисСл составляСт 28 Π±Π°ΠΉΡ‚ для ΠΌΠ°Π»Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ для Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… чисСл Π² зависимости ΠΎΡ‚ ΠΈΡ… Π΄Π»ΠΈΠ½Ρ‹.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


num = 42
print(num)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ num ΠΈ присваиваСм Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 42. Число 42 Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство памяти Π² систСмС, ΠΈ пСрСмСнная num ссылаСтся Π½Π° этот участок памяти.

ВСщСствСнныС числа (float)

ВСщСствСнныС числа Π² Python (float) Ρ‚Π°ΠΊΠΆΠ΅ прСдставлСны Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π Π°Π·ΠΌΠ΅Ρ€ памяти, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ вСщСствСнным числом, зависит ΠΎΡ‚ Π΅Π³ΠΎ значСния ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ выполнСния ΠΊΠΎΠ΄Π°.

Бтандартная рСализация Python ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 24 Π±Π°ΠΉΡ‚Π° для прСдставлСния вСщСствСнных чисСл ΠΌΠ°Π»ΠΎΠΉ точности (мСньшС, Ρ‡Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NaN ΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ) ΠΈ 28 Π±Π°ΠΉΡ‚ для чисСл большСй точности.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


num = 3.14
print(num)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ num ΠΈ присваиваСм Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 3.14. ВСщСствСнноС число 3.14 Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство памяти Π² систСмС, ΠΈ пСрСмСнная num ссылаСтся Π½Π° этот участок памяти.

ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹Π΅ числа (complex)

ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹Π΅ числа Π² Python (complex) Ρ‚Π°ΠΊΠΆΠ΅ прСдставлСны Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Они состоят ΠΈΠ· Π΄Π²ΡƒΡ… вСщСствСнных чисСл - вСщСствСнной ΠΈ ΠΌΠ½ΠΈΠΌΠΎΠΉ части. Π Π°Π·ΠΌΠ΅Ρ€ памяти, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ комплСксным числом, Ρ‚Π°ΠΊΠΆΠ΅ опрСдСляСтся Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ выполнСния ΠΊΠΎΠ΄Π°.

Бтандартная рСализация Python ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 32 Π±Π°ΠΉΡ‚Π° для прСдставлСния комплСксных чисСл.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


num = 2 + 3j
print(num)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ num ΠΈ присваиваСм Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2 + 3j. КомплСксноС число 2 + 3j Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство памяти Π² систСмС, ΠΈ пСрСмСнная num ссылаСтся Π½Π° этот участок памяти.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ (str)

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² Python (str) ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ любой тСкст, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ числа. Π Π°Π·ΠΌΠ΅Ρ€ памяти, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΉ строкой, зависит ΠΎΡ‚ Π΅Π΅ Π΄Π»ΠΈΠ½Ρ‹ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… символов.

Бтандартная рСализация Python ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ для хранСния ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ строкС, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π΅Π΅ Π΄Π»ΠΈΠ½Π°.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


text = "Hello, World!"
print(text)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ text ΠΈ присваиваСм Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "Hello, World!". Π‘Ρ‚Ρ€ΠΎΠΊΠ° "Hello, World!" Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство памяти Π² систСмС, ΠΈ пСрСмСнная text ссылаСтся Π½Π° этот участок памяти.

Бписки (list)

Бписки Π² Python (list) ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ числа. Π Π°Π·ΠΌΠ΅Ρ€ памяти, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΉ списком, зависит ΠΎΡ‚ количСства элСмСнтов ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

Бтандартная рСализация Python ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ для хранСния ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ спискС, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Π° ΠΈ Π²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


numbers = [1, 2, 3, 4, 5]
print(numbers)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ numbers ΠΈ присваиваСм Π΅ΠΉ список чисСл [1, 2, 3, 4, 5]. Бписок чисСл Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство памяти Π² систСмС, ΠΈ пСрСмСнная numbers ссылаСтся Π½Π° этот участок памяти.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π’ Python Ρ€Π°Π·ΠΌΠ΅Ρ€ памяти, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡ‹ΠΉ числом, зависит ΠΎΡ‚ Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈ значСния. ЦСлочислСнныС числа ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ 28 Π±Π°ΠΉΡ‚, вСщСствСнныС числа - 24 ΠΈΠ»ΠΈ 28 Π±Π°ΠΉΡ‚, комплСксныС числа - 32 Π±Π°ΠΉΡ‚Π°, строки ΠΈ списки - зависят ΠΎΡ‚ ΠΈΡ… Π΄Π»ΠΈΠ½Ρ‹ ΠΈ содСрТимого.

Однако стоит Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния, ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ памяти ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Python ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ выполнСния ΠΊΠΎΠ΄Π°.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ сколько памяти Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° python short #shorts

Как Π½Π°ΠΉΡ‚ΠΈ максимальноС число Π² Python

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π² python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΈΡ‚ΠΎΠ½ΠΈΡ‚: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΈ особСнности

Π“Π΄Π΅ Python ΠΈΡ‰Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ? πŸπŸ”Ž Настройка ΠΏΡƒΡ‚ΠΈ поиска ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² Python

πŸ”‘ Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· рСпозитория git с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ python

πŸ’‘ Как ΡƒΠ·Π½Π°Ρ‚ΡŒ сколько памяти Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ число Π² Python? πŸ”Ž

🐍 Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» while Π² Python

⌨️ Как Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ слоТСниС Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: простой Π³ΠΈΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ”₯ Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ сапСр Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство 2021