num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

NumPy Π² Python. Π§Π°ΡΡ‚ΡŒ 1

ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°


Π”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток, Π₯Π°Π±Ρ€. Π—Π°ΠΏΡƒΡΠΊΠ°ΡŽ Ρ†ΠΈΠΊΠ» статСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ нСбольшого ΠΌΠ°Π½Π° ΠΏΠΎ numpy, ссылочка. ΠŸΡ€ΠΈΡΡ‚Π½ΠΎΠ³ΠΎ чтСния.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Установка

Если Ρƒ вас Π΅ΡΡ‚ΡŒ Python(x, y) (ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°: Python(x, y), это дистрибутив свободного Π½Π°ΡƒΡ‡Π½ΠΎΠ³ΠΎ ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния для числСнных расчётов, Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° основС языка программирования Python ΠΈ большого числа ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ)) Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows, Ρ‚ΠΎ Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ. Если ΠΆΠ΅ Π½Π΅Ρ‚, Ρ‚ΠΎ послС установки python, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, сначала NumPy ΠΏΠΎΡ‚ΠΎΠΌ SciPy. Установка доступна здСсь. Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ установкС Π½Π° страницС, Ρ‚Π°ΠΌ всё ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ понятно.

НСмного Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

БообщСство NumPy ΠΈ SciPy ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ½Π»Π°ΠΉΠ½ руководство, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ Π³Π°ΠΉΠ΄Ρ‹ ΠΈ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Ρ‹, Ρ‚ΡƒΡ‚: docs.scipy.org/doc.

Π˜ΠΌΠΏΠΎΡ€Ρ‚ модуля numpy

Π•ΡΡ‚ΡŒ нСсколько ΠΏΡƒΡ‚Π΅ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ это β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ простоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅:

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, для большого количСства Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ numpy, становится ΡƒΡ‚ΠΎΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ numpy.X снова ΠΈ снова. ВмСсто этого Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³Ρ‡Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Ρ‚Π°ΠΊ:

Π­Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ позволяСт Π½Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ numpy ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ np.X вмСсто numpy.X. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ numpy прямо Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ пространство ΠΈΠΌΠ΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ, Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ:

Однако, этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π΅ привСтствуСтся Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° python, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ структуры, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ прСдоставляСт. Π”ΠΎ ΠΊΠΎΠ½Ρ†Π° этого Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π° ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° (import numpy as np).

ΠœΠ°ΡΡΠΈΠ²Ρ‹

Π“Π»Π°Π²Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ numpy являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ array. ΠœΠ°ΡΡΠΈΠ²Ρ‹ схоТи со списками Π² python, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ элСмСнты массива Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ float ΠΈ int. Π‘ массивами ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ числовыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с большим объСмом ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ€Π°Π·Ρ‹ быстрСС ΠΈ, Π³Π»Π°Π²Π½ΠΎΠ΅, Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ эффСктивнСС Ρ‡Π΅ΠΌ со списками.

БозданиС массива из списка:

Π—Π΄Π΅ΡΡŒ функция array ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°: список для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π² массив ΠΈ Ρ‚ΠΈΠΏ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта. Ко всСм элСмСнтам ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ‹ Π±Ρ‹ это Π΄Π΅Π»Π°Π»ΠΈ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ списками:

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ списков ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ запятыС Π² скобках. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива (ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°):

Array slicing Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈ с ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ, примСняя ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ срСз, ΠΊΠ°ΠΊ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ для установлСнного измСрСния. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ «:» Π² ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ для указывания использования всСх элСмСнтов этого измСрСния:

ΠœΠ΅Ρ‚ΠΎΠ΄ shape Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство строк ΠΈ столбцов Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅:

ΠœΠ΅Ρ‚ΠΎΠ΄ dtype Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, хранящихся Π² массивС:

Π’ΡƒΡ‚ float64, это числовой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² numpy, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния вСщСствСнных чисСл Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ точности. Π’Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ float Π² Python.

ΠœΠ΅Ρ‚ΠΎΠ΄ len Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ измСрСния (оси):

ΠœΠ΅Ρ‚ΠΎΠ΄ in ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ элСмСнта Π² массивС:

ΠœΠ°ΡΡΠΈΠ²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π΄Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив. БлСдуя ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΈΠ· дСсяти элСмСнтов Π²ΠΎ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, состоящий ΠΈΠ· пяти строк ΠΈ Π΄Π²ΡƒΡ… столбцов:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΌΠ΅Ρ‚ΠΎΠ΄ reshape создаСт Π½ΠΎΠ²Ρ‹ΠΉ массив, Π° Π½Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ.

Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π²Π²ΠΈΠ΄Ρƒ, связываниС ΠΈΠΌΠ΅Π½ Π² python Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ с массивами. ΠœΠ΅Ρ‚ΠΎΠ΄ copy ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΠΊΠΎΠΏΠΈΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ массива Π² памяти:

Бписки ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ с массивов:

МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив Π² Π±ΠΈΠ½Π°Ρ€Π½ΡƒΡŽ строку (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Π½Π΅ human-readable Ρ„ΠΎΡ€ΠΌΡƒ). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ tostring для этого. ΠœΠ΅Ρ‚ΠΎΠ΄ fromstring Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ прСобразования. Π­Ρ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для сохранСния большого количСства Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ считаны Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ массива ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.

ВранспонированиС массивов Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡ€ΠΈ этом создаСтся Π½ΠΎΠ²Ρ‹ΠΉ массив:

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° flatten:

Π”Π²Π° ΠΈΠ»ΠΈ большС массивов ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° concatenate:

Если массив Π½Π΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ ось, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ соСдинСниС. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Π½Π΅ задавая значСния оси), соСдинСниС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ:

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π° ΠΏΡ€ΠΈ использовании константы newaxis Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках:

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‚ΡƒΡ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ массив Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ; созданный ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ newaxis ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½. ΠœΠ΅Ρ‚ΠΎΠ΄ newaxis ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ создания Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅-ΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов Π² Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅.

На этом Ρƒ нас ΠΊΠΎΠ½Π΅Ρ† ΠΏΠ΅Ρ€Π²ΠΎΠΉ части ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°. Бпасибо Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Python

Поиск

НовоС Π½Π° сайтС

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Python:

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Π² языкС программирования это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ для Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ мСста Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ создаСтС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π²Ρ‹ Π½Π° самом Π΄Π΅Π»Π΅ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ мСсто Π² памяти ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

ΠžΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ выдСляСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ количСство памяти ΠΈ Ρ€Π΅ΡˆΠ°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ находится Π² Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ области памяти.

Для понимания, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠ°ΠΊ ΠΎ ΠΊΠΎΡ€ΠΎΠ±ΠΊΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ Π²Π΅Ρ‰ΡŒ, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. Π Π°Π·ΠΌΠ΅Ρ€ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΈΠΏΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π­Ρ‚ΠΎ Π½Π΅ совсСм Π²Π΅Ρ€Π½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Π½ΠΎ ΠΎΠ½ΠΎ Π΄Π°Π΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π΅ прСдставлСниС ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π΅ Π² Ρ†Π΅Π»ΠΎΠΌ.

ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

Π’ Python Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ (ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² Π‘++). ОбъявлСниС происходит автоматичСски (это называСтся динамичСская типизация), ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ присваиваСтС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π—Π½Π°ΠΊ равСнства ( = ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для присвоСния значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ, Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚:

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ присвоСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

Π’ Python Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ нСскольким ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ сразу. НапримСр:

Π’ Π΄Π°Π½Π½ΠΎΠΌ создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 1, ΠΈ всС 3 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π² памяти, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ находится.

ВстроСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python:

К стандартным Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python относят:

Числовой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python:

Числовой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для хранСния числовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ нСизмСняСмый Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ значСния числового Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ созданию Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² памяти (ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ старого)

ЧисловыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ присваиваСтС ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НапримСр:

Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ числовой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова del. Бинтаксис ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ del ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

Π’ Python Π΅ΡΡ‚ΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π²ΠΈΠ΄Π° числового Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²ΠΈΠ΄ΠΎΠ² числового Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…:

int long float complex
151924361L0.03.14j
102-0x19323L15.2045.j
-7860122L-21.99.322e-36j
00xDEFABCECBDAECBFBAEl32.3+e18.876j
0b10535633629843L-90.-.6545+0J
-0x260-052318172735L-32.54e1003e+26J
0x69-4721885298529L70.2-E124.53e-7j

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² Python:

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ плюс ( + ) для строк соСдиняСт Π΄Π²Π΅ строки Π² ΠΎΠ΄Π½Ρƒ, Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ° ( * ) ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ повторСния. НапримСр:

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅

num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Бписки в Python:

Бписки, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, самый ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ составной Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python. Бписок состоит ΠΈΠ· элСмСнтов, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми, находящихся ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ скобками ( [ ] ). Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅, списки ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ массивам Π² C. ЕдинствСнной Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ элСмСнты ΠΎΠ΄Π½ΠΎΠ³ΠΎ списка ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ :

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π² Python:

ΠšΠΎΡ€Ρ‚Π΅ΠΆ это Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ составной Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° список. ΠšΠΎΡ€Ρ‚Π΅ΠΆ состоит ΠΈΠ· ряда Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ( ( ) ). ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ списками ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°ΠΌΠΈ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ элСмСнты ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ списки доступныС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния.

Если Ρƒ вас Π½Π΅Ρ‚ нСобходимости ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ элСмСнты списка, Ρ‚ΠΎ для экономии мСста Π² памяти Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΡ€Ρ‚Π΅ΠΆ.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅:

ΠŸΡ€ΠΈ этом, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия доступны для списков ΠΈ нСдоступны для ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ:

Π‘Π»ΠΎΠ²Π°Ρ€ΠΈ Π² Python:

ΠŸΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ словаря Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки ( < >). Π•ΡΡ‚ΡŒ нСсколько способов создания словарСй:

Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ значСния выводятся Π½Π΅ Π² Ρ‚ΠΎΠΌ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ ΠΈΡ… Π·Π°Π΄Π°Π²Π°Π»ΠΈ.

Π‘Π΅Ρ‚Ρ‹ Π² Python:

Π‘Π΅Ρ‚ Π² Python это Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ измСняСмый, ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ…Ρ€Π°Π½ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ значания.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ сСты ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ способами:

num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…:

Иногда ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Для этого ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Руководство ΠΏΠΎ использованию Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ NUMPY

ΠŸΡ€Π΅Π΄ΠΎΠΊ NumPy, Numeric, Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π”ΠΆΠΈΠΌΠΎΠΌ Π₯ΡƒΠ³ΡƒΠ½ΠΈΠ½ΠΎΠΌ. Π’Π°ΠΊΠΆΠ΅ Π±Ρ‹Π» создан ΠΏΠ°ΠΊΠ΅Ρ‚ Numarray с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π’ 2005 Π³ΠΎΠ΄Ρƒ Врэвис ΠžΠ»ΠΈΡ„Π°Π½Ρ‚ выпустил ΠΏΠ°ΠΊΠ΅Ρ‚ NumPy, Π΄ΠΎΠ±Π°Π²ΠΈΠ² особСнности Numarray Π² Numeric. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈ Π² Π΅Π³ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ поучаствовало ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ.

NumPy ΠΈΠ»ΠΈ Numerical Python β€” это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python, которая ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Она Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ эффСктивный ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΎΠ±Ρ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ β€” www.numpy.org

Установка NumPy Π² Python

Массив NumPy

Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π² Ρ„ΠΎΡ€ΠΌΠ΅ строк ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ массивы NumPy ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ списка Python ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Π΅Π³ΠΎ элСмСнтам.

Массив NumPy β€” это Π½Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΈ класс array.array ΠΈΠ· Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами.

ΠžΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив NumPy.

Атрибуты массива NumPy

ndarray.ndim
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ массива.

Π’Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠ΄Π° свСрху Π±ΡƒΠ΄Π΅Ρ‚ 2, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Β«aΒ» β€” это 2-ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив.

ndarray.shape
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° массива, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ (n,m), Π³Π΄Π΅ n β€” это количСство строк, Π° m β€” количСство ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.

Π’Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠ΄Π° β€” (2,3), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 2 строки ΠΈ 3 ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.

ndarray.size
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π΅ количСство элСмСнтов Π² массивС.

Π’Ρ‹Π²ΠΎΠ΄ β€” 6, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ 2 Ρ… 3.

ndarray.dtype
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ элСмСнтов Π² массивС.

Π’Ρ‹Π²ΠΎΠ΄ β€” Β«int32Β», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это 32-Π±ΠΈΡ‚Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число.
МоТно явно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… массива NumPy.

ndarray.itemsize
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² массивС Π² Π±Π°ΠΉΡ‚Π°Ρ….

Π’Ρ‹Π²ΠΎΠ΄ β€” 4, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ 32/8.

ndarray.data
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π±ΡƒΡ„Π΅Ρ€ с Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ элСмСнтами массива. Π­Ρ‚ΠΎ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ способ получСния доступа ΠΊ элСмСнтам Ρ‡Π΅Ρ€Π΅Π· ΠΈΡ… индСксы.

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ список элСмСнтов.

ndarray.sum()
Ѐункция Π²Π΅Ρ€Π½Π΅Ρ‚ сумму всС элСмСнтов ndarray.

ndarray.min()
Ѐункция Π²Π΅Ρ€Π½Π΅Ρ‚ элСмСнт с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· ndarray.

ndarray.max()
Ѐункция Π²Π΅Ρ€Π½Π΅Ρ‚ элСмСнт с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· ndarray.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ NumPy

numpy.zeroes()
numpy.zeros((rows, columns), dtype)
Π­Ρ‚Π° функция создаст массив numpy с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ количСством ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΡΡ‚ΡŒΡΡ 0. Если dtype Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ dtype.

Код Π²Π΅Ρ€Π½Π΅Ρ‚ массив numpy 3Γ—3, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Ρ€Π°Π²Π΅Π½ 0.

numpy.ones()
numpy.ones((rows,columns), dtype)
Π­Ρ‚Π° функция создаст массив numpy с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ количСством ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΡΡ‚ΡŒΡΡ 1. Если dtype Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ dtype.

Код Π²Π΅Ρ€Π½Π΅Ρ‚ массив numpy 3 x 3, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Ρ€Π°Π²Π΅Π½ 1.

numpy.empty()
numpy.empty((rows,columns))
Π­Ρ‚Π° функция создаст массив, содСрТимоС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ случайным β€” ΠΎΠ½ΠΎ зависит ΠΎΡ‚ состояния памяти.

Код Π²Π΅Ρ€Π½Π΅Ρ‚ массив numpy 3Γ—3, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ случайным.

Π’Ρ‹Π²ΠΎΠ΄ этого ΠΊΠΎΠ΄Π° β€” [5 9 13 17 21]

numpy.sin()
numpy.sin(numpy.ndarray)
Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ синус ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°.

numpy.reshape()
numpy.reshape(dimensions)
Π­Ρ‚Π° функция ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для измСнСния количСства ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ массива numpy. ΠžΡ‚ количСства Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² reshape зависит, сколько ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π² массивС numpy.

Π’Ρ‹Π²ΠΎΠ΄ этого Π³ΠΎΠ΄Π° β€” 2-ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив 3Γ—3.

numpy.random.random()
numpy.random.random((rows, column))
Π­Ρ‚Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ количСством ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт гСнСрируСтся случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ ndarray 2Γ—2.

numpy.exp()
numpy.exp(numpy.ndarray)
Ѐункция Π²Π΅Ρ€Π½Π΅Ρ‚ ndarray с ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½ΠΎΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта.

numpy.sqrt()
numpy.sqrt(numpy.ndarray)
Π­Ρ‚Π° функция Π²Π΅Ρ€Π½Π΅Ρ‚ ndarray с ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΊΠΎΡ€Π½Π΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта.

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 4.

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ NumPy

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с массивом NumPy

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

Из этого ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ numpy ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ, познакомились с массивов numpy, Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ ΠΈ опСрациями массива numpy, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ опСрациями numpy.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Python

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ β€” это имСнованная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ Π΄Π°Π»ΠΈ имя области, появляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΉ хранятся.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π΄Π°Π½Π½Ρ‹Ρ… Π² Python являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈΠ»ΠΈ класса. Когда, Π² процСссС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, появляСтся Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ выдСляСт для Π½Π΅Π³ΠΎ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ создаёт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (число, строка ΠΈ Ρ‚.Π΄.). ПослС этого Python записываСт Π² свой Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ список адрСс этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Но ΠΊΠ°ΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ созданному ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ? 🤷‍♀️

Для этого ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ β€” ΠΎΠ½ΠΈ Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΠΌΠ΅Π½Π° вмСсто адрСсов.

ΠŸΡ€ΠΎΡΡ‚Ρ‹ΠΌΠΈ словами пСрСмСнная Π² Python β€” это просто имя, ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½ΠΎΠ΅ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ

a = 123 print(a) > 123 print(type(a)) print(id(a)) 1827204944

🍏 🍊 ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ аналогию: ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹Ρ… Π±ΡƒΡ‚Ρ‹Π»ΠΎΠΊ, Π° сами Π²Ρ‹ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚Π΅ΡΡŒ производством Ρ„Ρ€ΡƒΠΊΡ‚ΠΎΠ²Ρ‹Ρ… соков. ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹ Π²Ρ‹ Π²Ρ‹ΠΆΠ°Π»ΠΈ Ρ„Ρ€ΡƒΠΊΡ‚Ρ‹ ΠΈ Π² ΠΎΠ΄ΠΈΠ½ сосуд Π½Π°Π»ΠΈΠ»ΠΈ Π°ΠΏΠ΅Π»ΡŒΡΠΈΠ½ΠΎΠ²Ρ‹ΠΉ сок, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” яблочный. ПослС этого ёмкости Π±Ρ‹Π»ΠΈ Π·Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Ρ‹. Π Π΅Π·ΠΎΠ½Π½Ρ‹ΠΉ вопрос: ΠΊΠ°ΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ содСрТимоС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ взятой Π±ΡƒΡ‚Ρ‹Π»ΠΊΠΈ?

ΠžΡ‚Π²Π΅Ρ‚: ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡ… ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ. Π‘Π΄Π΅Π»Π°Π² это, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ находится Π² Π±ΡƒΡ‚Ρ‹Π»ΠΊΠ°Ρ…, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, смоТСтС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ с Π½ΠΈΠΌΠΈ дальнСйшиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ†Π΅Π½Ρƒ, ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆΡƒ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

Π˜Ρ‚Π°ΠΊ, ваш Ρ„Ρ€Π΅Ρˆ-бизнСс разросся, ΠΈ для хранСния соков ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π°Ρ€Π΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ склад, Π³Π΄Π΅ каТдая Π±ΡƒΡ‚Ρ‹Π»ΠΊΠ° находится строго Π½Π° своём мСстС. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ: Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… записаны Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈ адрСс этого ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π½Π° складС. Когда трСбуСтся Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ‘ΠΌΠΊΠΎΡΡ‚ΡŒ с соком, Π²Ρ‹ смотритС Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ, Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Π½ΠΎΠΌΠ΅Ρ€ ячСйки, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ΄Ρ‘Ρ‚Π΅ ΠΊ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΌΡƒ мСсту Π½Π° складС ΠΈ Π±Π΅Ρ€Ρ‘Ρ‚Π΅ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° Π½ΡƒΠΆΠ½ΡƒΡŽ Π±ΡƒΡ‚Ρ‹Π»ΠΊΡƒ.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ссылки

Для понимания Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ создаСтС Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈ присваиваСтС Π΅ΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅?

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π’Π°ΠΆΠ½ΠΎ : пСрСмСнная Π² Python Π½Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ β€” ΠΎΠ½Π° Ρ…Ρ€Π°Π½ΠΈΡ‚ лишь ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

Π’Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½ΠΎΠΉ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ:

b = a print(id(a)) > 1827204576 print(id(b)) > 1827204576

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ b :

b = 500 print(id(a)) > 1827204576 print(id(b)) > 56754272

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Python создал Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° int, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ пСрСмСнная b ссылаСтся Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Рассмотрим Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

b = «tree» print(id(b)) > 54134048

b = «tree», пСрСмСнная b Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ссылаСтся Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ строкового Ρ‚ΠΈΠΏΠ°

На ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° int со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 500 большС Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ссылаСтся. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ½ большС Π½Π΅ доступСн ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ сборщиком мусора (Ρ‚Π΅ΠΌ самым освободим Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ памяти).

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Object Identity)

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€” это адрСс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² памяти.

a = b = 1 print(id(a)) > 1593636784 print(id(b)) > 1593636784 print(id(1)) > 1593636784

Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ здСсь всСго ΠΎΠ΄ΠΈΠ½. А a ΠΈ b β€” ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π½Π°Π·Π²Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° Π½Π΅Π³ΠΎ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ равСнство ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° is :

Π Π°Π±ΠΎΡ‚Π° с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ

ИмСнованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

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

Π­Ρ‚ΠΎ Тёсткий Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Π·Π°ΠΊΠΎΠ½ языка, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ свод Π±ΠΎΠ»Π΅Π΅ мягких, Π½ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ», ΠΈ ΠΎΠ½ΠΈ говорят Π½Π°ΠΌ:

num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅. Π€ΠΎΡ‚ΠΎ num Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅

Бписок Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… слов

Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ языкС Π΅ΡΡ‚ΡŒ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ слова. Π’Π°ΠΊΠΈΠ΅ слова ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ поэтому Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ для использования Π² качСствС ΠΈΠΌΡ‘Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’ΠΎΡ‚ список Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… слов для Python:

False, class, finally, is, return, None, continue, for, lambda, try, True, def, from, nonlocal, whileand, del, global, not, with, as, elif, if, or, yield, assert, else, import, pass, break, except, in, raise.

Как ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ

Π’ ΠŸΠΈΡ‚ΠΎΠ½Π΅ Π½Π΅ трСбуСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ присваивания значСния, объявлСниС происходит автоматичСски. А присваиваниС выглядит Ρ‚Π°ΠΊ:

Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Python

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

# Ρ„Π°ΠΉΠ» main.py space_ship = ‘Millenium Falcon’ # Ρ„Π°ΠΉΠ» second.py from main import space_ship print(space_ship) > Millenium Falcon

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сущСствования ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ пСрСмСнная (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ cat ), ΠΈΡ‰Π΅ΠΌ вхоТдСния строки с Π΅Ρ‘ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π² словарях, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ… функциями locals() (локальная Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ) ΠΈ globals() (глобальная Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ):

if «cat» in locals(): # … if «cat» in globals(): # …

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ удаляСтся, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Ρ‘ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π²ΠΎ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ del() :

please_dont = ‘alive’ del(please_dont) print(please_dont) > Traceback (most recent call last): print(please_dont) NameError: name ‘please_dont’ is not defined

Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ?

Π‘ΠΈΠΌΠ²ΠΎΠ» * ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ нСсколько Π²Π΅Ρ‰Π΅ΠΉ.

status = [‘open’, ‘close’] print(status) > [‘open’, ‘close’] print(*status) > open close

def summer(*terms): sum = 0 for term in terms: sum = sum + term return sum print(summer(2)) > 2 print(summer(3, 3)) > 6 print(summer(4, 43, 1)) > 48

def setCreator(some_list): return <*some_list[1:]>weapons = [‘bow’, ‘pike’, ‘sword’, ‘dagger’] print(setCreator(weapons)) > <'dagger', 'pike', 'sword'>print(type(setCreator(weapons))) >

ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости: Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Π‘Π½Π°Ρ‡Π°Π»Π° тСрминология. ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости ΠΈΠ»ΠΈ пространство ΠΈΠΌΠ΅Π½ β€” это мСсто Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π³Π΄Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±Ρ‹Π»ΠΎ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ области видимости:

2 НСлокальная. Если Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° другая функция, Ρ‚ΠΎ пСрСмСнная Π²Π½ΡƒΡ‚Ρ€ΠΈ внСшнСго def Π±ΡƒΠ΄Π΅Ρ‚ нСлокальной для def Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ Π½Π΅ получится:

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово nonlocal :

num = 42 def globalExample(n): res = n + num return res print(globalExample(1)) > 43

БтатичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

БтатичСская пСрСмСнная сохраняСт своС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π—Π²ΡƒΡ‡ΠΈΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² Ρ‚ΠΎΠΌ-Ρ‚ΠΎ ΠΈ Π΄Π΅Π»ΠΎ, Ρ‡Ρ‚ΠΎ статичСская пСрСмСнная ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ локальной.

Π‘Π°ΠΌΠΈΡ… ΠΏΠΎ сСбС статичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅ Π½Π΅Ρ‚

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Бписок Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² Python

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

ΠŸΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ€Π°Π·Ρ€Π΅Π·Π΅ ΠŸΠΈΡ‚ΠΎΠ½Π° ΠΌΠΎΠΆΠ½ΠΎ, привСдя ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±Ρ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° этом языкС. Π˜Ρ‚Π°ΠΊ:

Ну ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅Ρ€Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΠΈΡ… Ρ‚ΠΈΠΏΠ°ΠΌ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ динамичСская типизация

ΠŸΡ€Π΅ΠΆΠ΄Π΅, Ρ‡Π΅ΠΌ ΠΌΡ‹ приступим ΠΊ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ употрСбляСмых Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² Python, ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘ΠΌ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками программирования. Всё ΠΈΡ… мноТСство ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅:

НСтипизированныС языки Π² основной своСй массС сосрСдоточСны Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Π³Π΄Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ взаимодСйствуСт с ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ «ΠΌΡ‹ΡΠ»ΠΈΡ‚» нулями ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ, различия ΠΌΠ΅ΠΆΠ΄Ρƒ строкой ΠΈ, допустим, классом для Π½Π΅Π³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ лишь Π² Π½Π°Π±ΠΎΡ€Π°Ρ… этих самых 0 ΠΈ 1. Π’ связи с этим, Π²Π½ΡƒΡ‚Ρ€ΠΈ бСстиповых языков, Π±Π»ΠΈΠ·ΠΊΠΈΡ… ΠΊ ΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π»ΡŽΠ±Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΡƒΠ³ΠΎΠ΄Π½ΠΎ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° совСсти Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

Python ΠΆΠ΅ β€” язык Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ. А, Ρ€Π°Π· Π² Π½Ρ‘ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ понятия «Ρ‚ΠΈΠΏΠ°», Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ процСсс распознания ΠΈ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ этих самых «Ρ‚ΠΈΠΏΠΎΠ²». Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС вСроятны ситуации, ΠΊΠΎΠ³Π΄Π° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΊΠΎΠ΄Π° окаТСтся Π½Π°Ρ€ΡƒΡˆΠ΅Π½Π½ΠΎΠΉ, Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° выполнится Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

Π’Π°ΠΊΠΈΠΌ процСссом ΠΈ являСтся типизация. Π’ Ρ…ΠΎΠ΄Π΅ Π΅Ρ‘ выполнСния происходит ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊ Π½ΠΈΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ. Випизация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ статичСской ΠΈ динамичСской. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° выполняСтся Π²ΠΎ врСмя компиляции, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ β€” нСпосрСдствСнно Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Python β€” язык с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. И здСсь, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ пСрСмСнная, ΠΏΡ€ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒ собой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²:

a = 1 print(type(a)) a = ‘one’ print(type(a)) a = <1: 'one'>print(type(a))

Π’ языкС со статичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρ‚Π°ΠΊΠΎΠΉ фокус Π½Π΅ ΠΏΡ€ΠΎΠΉΠ΄Ρ‘Ρ‚:

💭 АдСпты ΠΈ ΠΏΡ€ΠΈΠ²Π΅Ρ€ΠΆΠ΅Π½Ρ†Ρ‹ Ρ€Π°Π·Π½Ρ‹Ρ… языков часто спорят ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅: динамичСская типизация ΠΈΠ»ΠΈ статичСская, Π½ΠΎ, само собой, прСимущСства ΠΈ нСдостатки Π΅ΡΡ‚ΡŒ ΠΈ Ρ‚Π°ΠΌ, ΠΈ Ρ‚Π°ΠΌ.

👍 К плюсам динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ отнСсти:

# список, элСмСнтами ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ строка, Ρ†Π΅Π»ΠΎΠ΅ число ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ variety_list = [‘String’, 42, (5,25)]

🙁 К минусам ΠΆΠ΅ динамичСской ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ отнСсти Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ:

Π’Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅, ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ «ΠΎΠ΄Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ» нСльзя. Π˜Π½Π°Ρ‡Π΅ «Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ» Π±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ. ДинамичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки экономят ΡƒΠΉΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΠ½Π³Π΅, Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Π½Π° этапС тСстирования ΠΈΠ»ΠΈ, ΠΊΡƒΠ΄Π° Ρ…ΡƒΠΆΠ΅, ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π°. Однако вряд Π»ΠΈ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΏΠΎΡ€ΠΈΡ‚ΡŒ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ динамичСский Python ΠΊΡƒΠ΄Π° Π±ΠΎΠ»Π΅Π΅ Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², Π½Π΅ΠΆΠ΅Π»ΠΈ статичСский C++.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹ΠΌΠΈ ΠΈ структурными Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

По ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· классификаций всС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python дСлятся Π½Π° Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΠΈ ссылочныС.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ этими двумя Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π² ΠΊΠΎΡ€Π½ΠΈ языка. Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅:

АтомарныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΏΡ€ΠΈ ΠΈΡ… присваивании, ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, Π° ссылочныС β€” ΠΏΠΎ ссылкС

# ΠΏΡ€ΠΈΠΌΠ΅Ρ€ присваивания Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° atom = 3 btom = atom atom = 2 print(atom) > 2 print(btom) > 3

Из Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ btom Π±Ρ‹Π»ΠΎ присвоСно ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, содСрТащССся Π² atom, Π° Π½Π΅ ссылка, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для структурных Ρ‚ΠΈΠΏΠΎΠ²:

# ΠΏΡ€ΠΈΠΌΠ΅Ρ€ присваивания ссылочного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° link = [‘Ipona’, ‘Master Sword’] alin = link link[0] = ‘Zelda’ print(link) > [‘Zelda’, ‘Master Sword’] print(alin) > [‘Zelda’, ‘Master Sword’]

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ списки β€” это ссылочныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‚ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅Ρ€Π½ΠΎ, Ρ‡Ρ‚ΠΎ послС присваивания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ link ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ alin ΠΏΠ΅Ρ€Π΅Π΄Π°Π»Π°ΡΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ list-Π° ΠΈ, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, Π½Π° экран Π±Ρ‹Π»ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ Π΄Π²Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ надписи.

БобствСнно, Π² этом ΠΈ вся Ρ€Π°Π·Π½ΠΈΡ†Π°.

ЧисловыС Ρ‚ΠΈΠΏΡ‹

«Π’сС сущСС Π΅ΡΡ‚ΡŒ Число» β€” сказал ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΌΡƒΠ΄Ρ€Ρ‹ΠΉ Π³Ρ€Π΅ΠΊ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠŸΠΈΡ„Π°Π³ΠΎΡ€. Числа β€” ваТнСйший ΠΈ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠΉ ΠΈΠ· всСх Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… для всСх языков программирования. Π’ Python для ΠΈΡ… прСдставлСния слуТит числовой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….

int (Ρ†Π΅Π»ΠΎΠ΅ число)

ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ Ρ†Π΅Π»Ρ‹Ρ… чисСл проста ΠΈ СстСствСнна. Π­Ρ‚ΠΎ числа Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, говоря матСматичСским языком, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ряда, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ Π½ΡƒΠ»Ρ‘ΠΌ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ числами.

Π’Π°ΠΌ, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ числа, Π΅ΡΡ‚ΡŒ ΠΈ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π΅Π·ΠΎΠ½Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ†Π΅Π»Ρ‹Π΅ числа ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для исчислСния всСвозмоТных матСматичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π’Π°ΠΊΠΆΠ΅ int примСняСтся Π² качСствС описаний количСствСнных свойств ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

float (число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ)

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

print(0.3 + 0.3 + 0.3) > 0.8999999999999999 print(0.3 * 3 == 0.9) > False

Π’ ΠΏΠ»Π°Π½Π΅ записи, float Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ int :

# ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ вСщСствСнных чисСл zero = 0.0 pi = 3.14 e = 2.71

Π’ ΠΏΠ»Π°Π½Π΅ использования β€” Ρ‚ΠΎΠΆΠ΅, Ρ€Π°Π·Π²Π΅ Ρ‡Ρ‚ΠΎ Π² Π»ΡŽΠ±Ρ‹Ρ… ΠΌΠ°Π»ΠΎ-мальски ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Ρ… вычислСниях Π±Π΅Π· float Π½ΠΈΠΊΡƒΠ΄Π°.

complex (комплСксноС число)

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ Π²Ρ‹ΡΡˆΠ΅ΠΉ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅! Как вСщСствСнный ряд Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ мноТСство Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл, Ρ‚Π°ΠΊ ΠΈ ряд комплСксных чисСл Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ мноТСство вСщСствСнных. ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ комплСксного ряда являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ извлСчСния корня ΠΈΠ· ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл.

Π’ Python комплСксныС числа Π·Π°Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ complex() :

# ΠΏΡ€ΠΈΠΌΠ΅Ρ€ комплСксного числа z = complex(1, 2) print(z) > (1+2j) # вСщСствСнная Ρ‡Π°ΡΡ‚ΡŒ print(z.real) > 1.0 # мнимая Ρ‡Π°ΡΡ‚ΡŒ print(z.imag) > 2.0 # сопряТСнноС комплСксноС число print(z.conjugate()) > (1-2j)

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ опСрация сравнСния для комплСксных чисСл Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°:

z1 = complex(4, 5) z2 = complex(100, 200) print(z1 > z2) > Traceback (most recent call last): print(z1> z2) TypeError: ‘>’ not supported between instances of ‘complex’ and ‘complex’

ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹Π΅ числа ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *