ΠœΠΎΠ΄ΡƒΠ»ΡŒ числа Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: Python. ΠœΠΎΠ΄ΡƒΠ»ΡŒ math. Π’Π΅ΠΎΡ€Π΅Ρ‚ΠΈΠΊΠΎ-числовыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ прСдставлСния. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

complex комплСксныС числа | Python

Если Π²Ρ‹ Π΅Ρ‰Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ ΠΎ комплСксных числах Π½Π° Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ, Ρ‚ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅. А Ссли ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π»ΠΈ, Π½ΠΎ Π½Π΅ совсСм поняли, хотя, Π΄Π°ΠΆΠ΅ Ссли ΠΈ поняли, ΠΌΡ‹ всС Ρ€Π°Π²Π½ΠΎ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрим ΠΊΠ°ΠΊ устроСны ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ комплСксныС числа Π² Python.


Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ комплСксных чисСл

ΠœΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ любоС комплСксноС число \(z\) задаСтся Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ \(a\), ΠΌΠ½ΠΈΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ \(b\) ΠΈ Π² Π½Π΅ΠΌ всСгда присутствуСт символ \(i\), ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠ½ΠΈΠΌΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. Π’ Python всС практичСски Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ½ΠΈΠΌΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ символом j (Ρ€Π΅ΠΆΠ΅ J), Π° числа \(a\) ΠΈ \(b\) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌΠΈ числами Ρ‚ΠΈΠΏΠ° int ΠΈΠ»ΠΈ float. НапримСр, комплСксныС числа Π² Python ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

3 + 7j
100. 0 + 0.001j
100. + .00j
2e-10 - 2e10j

ΠšΡΡ‚Π°Ρ‚ΠΈ, символ ΠΌΠ½ΠΈΠΌΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ j Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сам ΠΏΠΎ сСбС, ΠΊ Π½Π΅ΠΌΡƒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ присоСдинСно ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ число, Ρ‚.Π΅. мнимая Π΅Π΄ΠΈΠ½ΠΈΡ†Π° Π² Python выглядит ΠΊΠ°ΠΊ 1j, Π° любоС число Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π²Π½Π° \(0\) ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π±Π΅Π· Π½Π΅Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, всС Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ числа Π±Π΅Π· Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ части, для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΌΠΈ:

7j
0.001j
.00j
2e10j

Π˜Π½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятно, Ρ‡Ρ‚ΠΎ Ссли Π² числС \(a+bi\) мнимая Ρ‡Π°ΡΡ‚ΡŒ \(b=0\), Ρ‚ΠΎ ΠΎΠ½ΠΎ автоматичСски становится ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ вСщСствСнным числом, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ \(z=a+0i=a\). Но Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя всС вСщСствСнныС числа, ΡΠ²Π»ΡΡŽΡ‚ΡΡ подмноТСством комплСксных, Π·Π½Π°Ρ‡ΠΈΡ‚ число \(a\) это комплСксноС число Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ мнимая Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π²Π½Π° \(0\). Π’ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ это Ρ‚Π°ΠΊ, Π½ΠΎ Π² Python Π½Π΅Ρ‚, Ρ‚.Π΅. автоматичСского прСобразования чисСл Ρ‚ΠΈΠΏΠ° complex Π² числа Ρ‚ΠΈΠΏΠ° int ΠΈΠ»ΠΈ float Π½Π΅ происходит, Π΄Π°ΠΆΠ΅ Ссли ΠΈΡ… мнимая Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π²Π½Π° \(0\):

>>> 10 + 0j    #  это число ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ числом Ρ‚ΠΈΠΏΠ° int
(10+0j)
>>> 
>>> 3. 14 - 0j    #  Π° это ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ float
(3.14+0j)

НавСрноС, Ссли Π±Ρ‹ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π»ΠΎ мСсто, Ρ‚ΠΎ это ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ Π±Ρ‹ ΠΊ противорСчиям Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π—Π΄Π΅ΡΡŒ слСдуСт Π΅Ρ‰Π΅ Ρ€Π°Π· Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΎ Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ это ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½Ρƒ сторону:

>>> -1/2    #  Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΈΠΏΠ° float
-0.5
>>> 
>>> (-0.5)**0.5    #  Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΈΠΏΠ° complex
(4.329780281177467e-17+0.7071067811865476j)

ИмСнно поэтому, комплСксноС 3.14 - 0j Π½Π΅ станСт вСщСствСнным 3.14. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π΄Π°ΠΆΠ΅ Ссли Ρ‚Π°ΠΊΠΈΠ΅ комплСксныС числа ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ встроСнным функциям int() ΠΈΠ»ΠΈ float(), Ρ‚ΠΎ это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС:

>>> int(2 + 0j)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't convert complex to int

Для нас ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π· мнимая Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π²Π½Π° \(0\) Ρ‚ΠΎ ΠΊ Ρ‚ΠΈΠΏΡƒ int Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. Но Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ для нас, Π½Π΅ всСгда ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°. Однако, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ частями комплСксного числа с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² real ΠΈ imag. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ нашС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

>>> int((2 + 0j).real)
2

Особо Π±Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ int() ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ числа ΠΈ Ρ‚Π°ΠΊ Ρ‚ΠΈΠΏΠ° int, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ real ΠΈ imag всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ вСщСствСнный Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (Ρ‚ΠΈΠΏ float).


ВстроСнная функция complex()

ВстроСнная функция complex(real[, imag]) позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ комплСксноС число Π½Π° основС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΅Π³ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΌΠ½ΠΈΠΌΠΎΠΉ частСй:

>>> complex(1)    #  Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ imag Π½Π΅ обязатСлСн
(1+0j)
>>> 
>>> complex(1, 2e-2)
(1+0. 02j)

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

>>> complex('1+2j')
(1+2j)
>>> complex('0.1+2.0j')
(0.1+2j)
>>> complex('.1+2.j')
(0.1+2j)
>>> complex('1e3+2e-3j')
(1000+0.002j)

Учитывая, Ρ‡Ρ‚ΠΎ Π½Π° мСстС Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΌΠ½ΠΈΠΌΠΎΠΉ части ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ ΠΈ вСщСствСнныС числа, Ρ‚ΠΎ ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡ‚Π΅, способов Π²Π²ΠΎΠ΄Π° строк комплСксных чисСл становится довольно ΠΌΠ½ΠΎΠ³ΠΎ. Однако, слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹Π΅ символы ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСдопустимыми:

>>> complex('1e3 + 2e-3j')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: complex() arg is a malformed string

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° комплСксной плоскости

Π¦Π΅Π»Ρ‹Π΅ ΠΈ вСщСствСнныС числа Π² гСомСтричСском прСдставлСнии ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π½Π° числовом Π»ΡƒΡ‡Π΅:

ГСомСтричСским прСдставлСниСм комплСксных чисСл ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° плоскости. Данная ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ называСтся комплСксной ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ оси абцис (x) откладываСтся Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ части (real), Π° ΠΏΠΎ оси ΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ (y) ооткладываСтся Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° ΠΌΠ½ΠΈΠΌΠΎΠΉ части (imag). НапримСр, Ρ‚ΠΎΡ‡ΠΊΠ° \(A(3, 4)\) ΠΈ комплСксноС число \(z = 3 + 4i\) Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ комплСксных чисСл Π½Π° плоскости довольно простой процСсс, ΠΏΠΎ сути это Ρ‚Π΅ ΠΆΠ΅ самыС Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²Ρ‹ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ: \(x=\mathrm {Re} \,z; \quad y=\mathrm {Im} \,z\). А Π² Python ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ:

>>> z = 3 + 4j
>>> 
>>> z.real, z.imag
(3.0, 4.0)

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ комплСксных чисСл Π΅Ρ‰Π΅ ΠΈ вСсьма ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ позволяСт наглядно ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π½ΠΈΠΌΠΈ.


АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… комплСксных чисСл \(A=a+bi\) ΠΈ \(B=c+di\) выполняСтся ΠΏΠΎ простой Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅:

$$A+B = \left(a+bi\right)+\left(c+di\right)=\left(a+c\right)+\left(b+d\right)i$$

Python выполняСт всС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ дСйствия Π·Π° нас, сразу выдавая Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

>>> a = -5 + 3j
>>> b = 4 + 2j
>>> 
>>> a + b
(-1+5j)

На ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ рисункС ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ комплСксноС число это Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° комплСксной плоскости. Но Ссли Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ значСния Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΌΠ½ΠΈΠΌΠΎΠΉ части ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Ρ‚ΠΎ умСстно Π·Π°Π΄Π°Ρ‚ΡŒ вопрос: «Π нСльзя Π»ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ эти числа Π² Π²ΠΈΠ΄Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ²?» ΠžΡ‚Π²Π΅Ρ‚: «ΠœΠΎΠΆΠ½ΠΎ. » Π”Π°Π½Π½Ρ‹Π΅ числа Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ радиус-Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹:

Π Π°Π·Π½ΠΎΡΡ‚ΡŒ комплСксных чисСл задаСтся ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

$$A-B = \left(a+bi\right)-\left(c+di\right)=\left(a-c\right)+\left(b-d\right)i$$

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ комплСксного числа Π½Π° вСщСствСнноС число выполняСтся ΠΎΡ‡Π΅Π½ΡŒ просто: \(kA = k\left(a+bi\right)=ka + kbi\) ΠΈ ΠΏΠΎ сути просто мСняСт лишь Π΄Π»ΠΈΠ½Ρƒ радиус Π²Π΅ΠΊΡ‚ΠΎΡ€Π° комплСксного числа, вдоль Π΅Π³ΠΎ направлСния:

>>> a = 2 + 2j
>>> 
>>> a*2
(4+4j)
>>> 
>>> a*(-1.5)
(-3-3j)

А Π²ΠΎΡ‚ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ комплСксных чисСл Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС:

$$(a+bi)\cdot (c+di)=(ac-bd)+(bc+ad)i$$

Как всСгда Π² Python ΠΌΡ‹ сразу Π²ΠΈΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

>>> a = 1 + 1j
>>> b = 1 + 4j
>>> 
>>> a*b
(-3+5j)

ΠšΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° комплСксной плоскости выглядит Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

МоТно Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ скалярного умноТСния Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π½ΠΎ Π½Π΅Ρ‚, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ комплСксных чисСл, отличаСтся ΠΎΡ‚ этих Π΄Π²ΡƒΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. {2}}}\right)i$$

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим ΠΊΠ°ΠΊ это выглядит Π² Python ΠΈ Π½Π° комплСксной плоскости:

>>> a = -5 - 1j
>>> b = -1 + 1j
>>> 
>>> a/b
(2+3j)


ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹Π΅ числа ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π½Π΅ всС матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π½Π΅ всС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния, Π° ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π²ΠΎΠΎΠ±Ρ‰Π΅. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ комплСксныС числа ΡΠ²Π»ΡΡŽΡ‚ΡΡ «Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ», Ρ‡Ρ‚ΠΎ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд вовсС Π½Π΅ каТСтся ΠΏΠΎΠΌΠ΅Ρ…ΠΎΠΉ для Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΊΠ°ΠΊ цСлочислСнноС Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ остаток ΠΎΡ‚ дСлСния. На Π½Π° самом Π΄Π΅Π»Π΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ нСопрСдСлСнностям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊ < ΠΈ > Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ какая ΠΈΠ· Π΄Π²ΡƒΡ… Ρ‚ΠΎΡ‡Π΅ΠΊ Π½Π° плоскости Π±ΡƒΠ΄Π΅Ρ‚ большС Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Π° какая мСньшС.

НСподдСрТиваСмыС комплСксными числами матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ красным Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΈ оставлСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² матСматичСских выраТСниях содСрТащих числа Ρ‚ΠΈΠΏΠ° int ΠΈ float. ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ отсортированы ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°:

β„–ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΠ Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
1x ** yΠ²ΠΎΠ·Π²ΠΎΠ΄ΠΈΡ‚ x Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ y(I)
2pow(x, y[, z])Π²ΠΎΠ·Π²ΠΎΠ΄ΠΈΡ‚ x Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ y ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ z, Π³Π΄Π΅ z – Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚. Если ΡƒΠΊΠ°Π·Π°Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ z, Ρ‚ΠΎ это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС ValueError(I)
3divmod(x, y)Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ с ΠΏΠ°Ρ€ΠΎΠΉ чисСл (x // y, x % y)(II)
4x.conjugate()Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ \(\bar{x}\) — число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ комплСксно сопряТСно с \(x\)
5complex(re, im)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ re Π² комплСксноС число (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ im = 0)(V)(VI)
6float(x)ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ x Π² вСщСствСнноС число (число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ). Если x комплСксноС, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ TypeError(VI)
7int(x)ΠΏΠ΅Ρ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ x Π² Ρ†Π΅Π»ΠΎΠ΅ число, прСдставлСнноС Π² дСсятичной систСмС счислСния. Если x комплСксноС, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ TypeError(VI)
8abs(x)Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (ΠΌΠΎΠ΄ΡƒΠ»ΡŒ) числа x(III)
9+xΠ΄Π΅Π»Π°Π΅Ρ‚ число x ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ
10-xΠ΄Π΅Π»Π°Π΅Ρ‚ число x ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ
11x % yостаток ΠΎΡ‚ дСлСния x Π½Π° y(II)
12x // yΡ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ цСлочислСнного дСлСния x Π½Π° y(II)
13x / yΡ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ «ΠΈΡΡ‚ΠΈΠ½Π½ΠΎΠ³ΠΎ» дСлСния x Π½Π° y(IV)
14x * yΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ x ΠΈ y
15x - yΡ€Π°Π·Π½ΠΎΡΡ‚ΡŒ x ΠΈ y
16x + yсумма x ΠΈ y

Π’Π°ΠΆΠ½ΠΎ: ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Ρ‹ΡˆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ сравнСния.

ЗамСчания:

I. Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ \(0+0i\) Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ \(0+0i\) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ \(1+0i\):

>>> c = 0 + 0j
>>> c
0j
>>> 
>>> c**c
(1+0j)

II. функция divmod() ΠΈ опСрация %, // Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ для комплСксных чисСл. Для вас это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹ ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

III. Ѐункция abs() всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚ΠΈΠΏΠ° float.

IV. Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° \(0+0i\) ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ZeroDivisionError.

V. встроСнная функция complex() пропускаСт числа (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹) Ρ‚ΠΈΠΏΠ° complex «ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ», Π½Π΅ выполняя Π½Π°Π΄ Π½ΠΈΠΌΠΈ, Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… дСйствий.

VI. строго говоря эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ матСматичСскими, Π½ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡ‡Π°Π²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² матСматичСских выраТСниях Python ΠΈ поэтому Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ.


ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сравнСния

Для сравнСния чисСл имССтся \(8\) ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π½ΠΎ для комплСксных чисСл доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ \(4\) ΠΏΡ€ΠΈΡ‡Π΅ΠΌ всС ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚:

β„–ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡΠ Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
1x < yTrue Ссли x мСньшС y, ΠΈΠ½Π°Ρ‡Π΅ False(I)
2x <= yTrue Ссли x мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ y, ΠΈΠ½Π°Ρ‡Π΅ False(I)
3x > nTrue Ссли x большС y, ΠΈΠ½Π°Ρ‡Π΅ False(I)
4x >= nTrue Ссли x большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ y, ΠΈΠ½Π°Ρ‡Π΅ False(I)
5x == yTrue Ссли x Ρ€Π°Π²Π½ΠΎ y, ΠΈΠ½Π°Ρ‡Π΅ False
6x != yTrue Ссли x Π½Π΅ Ρ€Π°Π²Π½ΠΎ y, ΠΈΠ½Π°Ρ‡Π΅ False
7x is yTrue Ссли x ΠΈ y это ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈΠ½Π°Ρ‡Π΅ False
8x is not yTrue Ссли x ΠΈ y это Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈΠ½Π°Ρ‡Π΅ False

Π’Π°ΠΆΠ½ΠΎ: ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ сравнСния Π½ΠΈΠΆΠ΅ матСматичСских.

I. эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² матСматичСских выраТСниях, Π½ΠΎ Ссли ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ комплСксныС числа ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ… являСтся комплСксным числом, Ρ‚ΠΎ это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ TypeError:

>>> a = 3+4j
>>> 
>>> abs(a) < 6
True
>>> 
>>> a < 6
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: complex() < int()

Ѐункция ABS — Π‘Π»ΡƒΠΆΠ±Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Office

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ описаны синтаксис Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΠΈ использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ABS Π² Microsoft Excel.

ОписаниС

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ) числа. ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Π°Ρ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° числа  β€” это число Π±Π΅Π· Π·Π½Π°ΠΊΠ°.

Бинтаксис

ABS(число)

АргумСнты Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ABS описаны Π½ΠΈΠΆΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½ΠΈΠΆΠ΅ ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π΅Π΅ Π² ячСйку A1 Π² Excel. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΠΎΡ€ΠΌΡƒΠ» понадобится Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ всС ячСйки с Π½ΠΈΠΌΠΈ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F2, Π° Π·Π°Ρ‚Π΅ΠΌΒ β€” ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Π’Π’ΠžΠ”. МоТно Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ столбцы для Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ просмотра листа.






Π”Π°Π½Π½Ρ‹Π΅

-4



Π€ΠΎΡ€ΠΌΡƒΠ»Π°


ОписаниС


Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

=ABS(2)

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа 2

2

=ABS(-2)

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа -2

2

=ABS(A2)

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа -4

4

Π‘ΠΌ.

Ρ‚Π°ΠΊΠΆΠ΅


Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ чисСл


Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ чисСл Π² Excel


РасчСт ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ²

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ случайноС число Π² Python? Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹? А ΠΌΠΎΠ΄ΡƒΠ»ΡŒ random?

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ просты Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТны для понимания.

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для создания ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Π½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ — это простыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ элСмСнтов, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ, особым ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Когда итСрация для Π½Π°Π±ΠΎΡ€Π° элСмСнтов Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ for, запускаСтся Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° достигаСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° yield, Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ своС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Ρ†ΠΈΠΊΠ» for, возвращая Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π½Π°Π±ΠΎΡ€Π°. Ѐункция Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, бСсконСчноС мноТСство), сколько ΠΎΠ½Π° Ρ…ΠΎΡ‡Π΅Ρ‚, возвращая ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ… Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.

Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 7 случайных Ρ†Π΅Π»Ρ‹Ρ… чисСл:

  import random

  def lottery():
      # returns 6 numbers between 1 and 40
      for i in range(6):
          yield random.randint(1, 40)

      # returns a 7th number between 1 and 15
      yield random.randint(1,15)

  for random_number in lottery():
         print("And the next number is... %d!" %(random_number))

Π­Ρ‚Π° функция сама Ρ€Π΅ΡˆΠ°Π΅Ρ‚, ΠΊΠ°ΠΊ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ случайныС числа, ΠΈ выполняСт ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ yield ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ, дСлая ΠΏΠ°ΡƒΠ·Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ основному Ρ†ΠΈΠΊΠ»Ρƒ for.

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ряд Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ. Он рассчитываСтся ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅: ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° числа сСрии всСгда Ρ€Π°Π²Π½Ρ‹ 1, ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½ΠΎΠ΅ число являСтся суммой Π΄Π²ΡƒΡ… послСдних чисСл.
Подсказка: Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°? ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ задания ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Код

a = 1
b = 2
a, b = b, a
print(a,b)

Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ значСния a ΠΈ b.


# fill in this function
def fib():
pass #this is a null statement which does nothing when executed, useful as a placeholder.
# testing code
import types
if type(fib()) == types.GeneratorType:
print("Good, The fib function is a generator.")
counter = 0
for n in fib():
print(n)
counter += 1
if counter == 10:
break

# fill in this function
def fib():
a, b = 1, 1
while 1:
yield a
a, b = b, a + b
# testing code
import types
if type(fib()) == types.GeneratorType:
print("Good, The fib function is a generator. ")
counter = 0
for n in fib():
print(n)
counter += 1
if counter == 10:
break

test_output_contains("Good, The fib function is a generator.")
success_msg('Good work!')

ΠœΠΎΠ΄ΡƒΠ»ΡŒ math Π² Python, матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

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

Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ случаСв, ΠΊΠΎΠ³Π΄Π° явно ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ½ΠΎΠ΅, всС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.


Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ чисСл модуля math Π² Python.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ прСдставлСны Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ относящиСся ΠΊ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ чисСл. Π€Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» числа, Наибольший ΠΎΠ±Ρ‰ΠΈΠΉ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ, ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа, ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ ΠΎΡ‚ дСлСния, дробная ΠΈ цСлая Ρ‡Π°ΡΡ‚ΡŒ числа, число x со Π·Π½Π°ΠΊΠΎΠΌ числа y, Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ точности.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ округлСния чисСл модуля math Π² Python.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ прСдставлСны Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ относящиСся ΠΊ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΡŽ чисСл модуля `math`. ΠžΡ‚Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ числа, ΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ ΠΊ ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΌΡƒ Π΄ΠΎ блиТайшСго Ρ†Π΅Π»ΠΎΠ³ΠΎ, ΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ ΠΊ Π±ΠΎΠ»ΡŒΡˆΠ΅ΠΌΡƒ Π΄ΠΎ блиТайшСго Ρ†Π΅Π»ΠΎΠ³ΠΎ.

Π‘Ρ‚Π΅ΠΏΠ΅Π½Π½Ρ‹Π΅ ΠΈ логарифмичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ прСдставлСны стСпСнныС ΠΈ логарифмичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля `math`. `x` Π² стСпСни `y`, ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ числа, Π›ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ числа ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ основанию, ДСсятичный Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ, Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ числа, ΠΠ°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ ΠΎΡ‚ `x + 1`, `e**x`, `e**x - 1`.

ВригономСтричСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля math Π² Python.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ прСдставлСны тригономСтричСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля math. Бинус, косинус, тангСнс, арксинус, арккосинус, арктангСнс, арктангСнс значСния y/x

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ€Ρ‹ ΡƒΠ³Π»ΠΎΠ² модуля math Π² Python.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ прСдставлСны Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ€Ρ‹ ΡƒΠ³Π»ΠΎΠ² модуля `math`

ГипСрболичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля math Π² Python.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ прСдставлСны гипСрболичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля `math`.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния модуля math Π² Python.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ модуля math - Pi, E, inf, nan. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ, Π½Π° Π½Π΅ число ΠΈ Π½Π° Ρ‚ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля math Π² Python.

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ прСдставлСны ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля `math`.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ random - Python: ΠžΡΠ½ΠΎΠ²Ρ‹

Python: ΠžΡΠ½ΠΎΠ²Ρ‹

ΠœΠΎΠ΄ΡƒΠ»ΡŒ

random

Python Π·Π½Π°ΠΌΠ΅Π½ΠΈΡ‚ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ поставляСтся Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ с "Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΠ°ΠΌΠΈ" - Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π±Π°Ρ‚Π°Ρ€Π΅Π΅ΠΊ Π² поставкС ΠŸΠ°ΠΉΡ‚ΠΎΠ½Π° изрядноС количСство! Настоящий питонист (pythonista) - Ρ‚Π°ΠΊ ΠΌΡ‹, программисты Π½Π° Python, сСбя Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ - обязан Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅, вСдь это Π·Π½Π°Π½ΠΈΠ΅ позволяСт ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя ΠΈ силы. Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ познакомимся с ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π±Π°Ρ‚Π°Ρ€Π΅ΠΉΠΊΠΎΠΉ - ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ random.

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ довольно часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ случайно Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ ΠΈΠ· Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ мноТСства Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Π΅ значСния ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ изобраТСния ΠΈ Π·Π²ΡƒΠΊ, ΠΈ Π΄Π°ΠΆΠ΅ просто пишСм тСсты.

Π›ΡŽΠ±ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСно Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡ€Π° чисСл, поэтому ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ случайных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ всСгда ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ использованиС Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Ρ… ЧисСл, Π“Π‘Π§. Π“Π‘Π§ Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ (спСциализированныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹) ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ (спСциализированныС устройства), Π½ΠΎ программист ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎΠΉ "ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΎΠΉ" - ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ скрываСт Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ random прСдоставляСт мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Π² Ρ€Π°Π·Π½Ρ‹Ρ… ситуациях, Π½ΠΎ ΠΌΡ‹ ΠΏΠΎΠΊΠ° остановимся Π½Π° Π΄Π²ΡƒΡ…:

  1. randint, гСнСрация Ρ†Π΅Π»ΠΎΠ³ΠΎ числа Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅,
  2. choice, Π²Ρ‹Π±ΠΎΡ€ случайного элСмСнта ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π°.

ГСнСрация случайных чисСл

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ случайноС число, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ randint ΠΈΠ· модуля random:

from random import randint

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ число ΠΎΡ‚ 1 Π΄ΠΎ 100:

random_number = randint(1, 100)

ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ randint с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ "Π²Ρ‹ΠΏΠ°ΡΡ‚ΡŒ" ΠΈ 1 ΠΈ 100 - ΠΎΠ±Π΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹, ΠΈ ΠΎΠ± этом слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ. Когда это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π°ΠΆΠ½ΠΎ? Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ - Π²Ρ‹Π±ΠΎΡ€ случайного символа Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ строки:

string = 'abcde'
random_index = randint(0, len(string) - 1)
char = string[random_index]

Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ string ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ 5. Но ΠΌΡ‹ ΠΏΠΎΠΌΠ½ΠΈΠΌ, Ρ‡Ρ‚ΠΎ символы строки ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ с нуля, поэтому Ссли ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ индСкс Ρ‚Π°ΠΊ randint(0, 5), Ρ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 5, ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π²Π·ΡΡ‚ΡŒ символ ΠΏΠΎ этому индСксу ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ IndexError: индСкс послСднСго элСмСнта Π² строкС Ρ€Π°Π²Π΅Π½ 4! Π’ΠΎΡ‚ поэтому Π² ΠΊΠΎΠ΄Π΅ Π²Ρ‹ΡˆΠ΅ ΠΈΠ· Π΄Π»ΠΈΠ½Ρ‹ вычитаСтся Π΅Π΄ΠΈΠ½ΠΈΡ†Π°.

Π’Ρ‹Π±ΠΎΡ€ случайного элСмСнта

Π’Ρ‹ΡˆΠ΅ ΠΌΡ‹ рассмотрСли ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выбирался случайный символ строки. Π­Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ достаточно часто, поэтому Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ random сущСствуСт функция choice. Π‘ использованиСм этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€ символа строки Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

from random import choice

string = 'abcde'
char = choice(string)

ΠŸΡ€ΠΈ использовании choice Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Π³Ρ€Π°Π½ΠΈΡ†Π°Ρ… Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… индСксов. И Π΄Π°ΠΆΠ΅ ΠΎ самих индСксах Π΄ΡƒΠΌΠ°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ - функция сама Π·Π½Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ бСзопасно Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ элСмСнты! ΠŸΡ€Π°Π²Π΄Π°, придётся Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ строка, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ символы, Π½Π΅ Π±Ρ‹Π»Π° пустой, ΠΈΠ½Π°Ρ‡Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ IndexError: Cannot choose from an empty sequence ("НСльзя просто Ρ‚Π°ΠΊ Π²Π·ΡΡ‚ΡŒ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, Ссли Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π½Π΅ ΠΈΠ· Ρ‡Π΅Π³ΠΎ").

Пока ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ choice Ρ‚ΠΎΠ»ΡŒΠΊΠΎ со строками, вСдь это СдинствСнный Ρ‚ΠΈΠΏ, значСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько элСмСнтов. Но Π² дальнСйшСм ΠΌΡ‹ познакомимся ΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ составными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ - ΠΈ со ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² функция choice Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ!

Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Π° Π»ΠΈ ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΡΡ‚ΡŒ?

Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ числа Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ случайными, поэтому Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π“Π‘Π§ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ псСвдослучайных чисСл. И хотя для простоты приставку "псСвдо-" часто ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ (ΠΊΠ°ΠΊ поступили ΠΈ ΠΌΡ‹), ΠΎ Π½Π΅ΠΉ Π½Π΅ стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ максимально случайной Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ чисСл. Одна ΠΈΠ· областСй с Ρ‚Π°ΠΊΠΈΠΌΠΈ высокими трСбованиями ΠΊ качСству случайности β€” криптография (ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅). ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ сгСнСрировали случайный ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ ΠΈ слоТный, Π° Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… условиях ΠΌΠΎΠΆΠ½ΠΎ воспроизвСсти Ρ‚Ρƒ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ случайных чисСл, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ! Π’ΠΎΡ‚ поэтому сущСствуСт большоС количСство спСциализированных Π“Π‘Π§, бСзопасных для использования Π² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ созданиС Ρ‚Π°ΠΊΠΈΡ… Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² - это ваТная, слоТная ΠΈ интСрСсная Ρ€Π°Π±ΠΎΡ‚Π°.

Бсылки


ΠžΡΡ‚Π°Π»ΠΈΡΡŒ вопросы? Π—Π°Π΄Π°ΠΉΡ‚Π΅ ΠΈΡ… Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅Β»

Π’Π°ΠΌ отвСтят ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π₯СкслСта ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ студСнты.

Ошибки, слоТный ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», вопросы >

Нашли ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΡƒ ΠΈΠ»ΠΈ Π½Π΅Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ?

Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ тСкст, Π½Π°ΠΆΠΌΠΈΡ‚Π΅
ctrl + enter
ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ Π½Π°ΠΌ. Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π΄Π½Π΅ΠΉ ΠΌΡ‹ исправим ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈΠ»ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠΌ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΡƒ.

Π§Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ получаСтся ΠΈΠ»ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» каТСтся слоТным?

ЗаглянитС Π² Ρ€Π°Π·Π΄Π΅Π» Β«ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅Β»:

  • Π·Π°Π΄Π°ΠΉΡ‚Π΅ вопрос. Π’Ρ‹ быстрСС ΡΠΏΡ€Π°Π²ΠΈΡ‚Π΅ΡΡŒ с трудностями ΠΈ ΠΏΡ€ΠΎΠΊΠ°Ρ‡Π°Π΅Ρ‚Π΅ Π½Π°Π²Ρ‹ΠΊ постановки ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… вопросов, Ρ‡Ρ‚ΠΎ пригодится ΠΈ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ программистом;
  • расскаТитС ΠΎ своих впСчатлСниях. Если курс слишком слоТный, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΡ‚Π·Ρ‹Π² ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅;
  • ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ вопросы Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡƒΡ‡Π΅Π½ΠΈΠΊΠΎΠ² ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° Π½ΠΈΡ…. Π­Ρ‚ΠΎ Π±Π°Π·Π° Π·Π½Π°Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.
Об ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠΈ Π½Π° Π₯СкслСтС

Python ΠΈ числа. | Admins.kz

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΡ‹ всСгда взаимодСйствуСм с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ абстрактной субстанциСй. ВсС Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ. На ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΡƒΡ€ΠΎΠΊΠ°Ρ… ΠΌΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ, про строки, списки, словари и о логичСском Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. БСгодня, ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ самом Π±Π°Π·ΠΎΠ²ΠΎΠΌ Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²Β Python – числах.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ нСльзя ΡΠ²Π°Π»ΠΈΡ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄Π½Ρƒ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΊΡƒΡ‡Ρƒ ΠΈ Π½Π΅ Π·Π°ΠΌΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ? Допустим, ΠΌΡ‹ присвоили ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉΒ aΒ Ρ†ΠΈΡ„Ρ€Ρƒ 5:Β a = 5. А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ раздСлСния ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅Ρ‚. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ находится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ: число ΠΈΠ»ΠΈ строка? Если 10 – это число, Ρ‚ΠΎ с Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ произвСсти матСматичСскиС дСйствия. А Ссли это строка, Ρ‚ΠΎ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ с тСкстом ΠΈ Ρ‚ΠΎΠ³Π΄Π°Β Python задСйствуСт совсСм Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Β # объСдинСниС строк (конкатСнация)
dΒ =Β '10'
fΒ =Β 'нСгритят'
dΒ +Β ' 'Β +Β f
'10 нСгритят'

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚: Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… свои ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.

Π¦ΠΈΡ„Ρ€Π° 100 написанная Π±Π΅Π· ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ, относится ΠΊ числовому Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ…. А Ρ†ΠΈΡ„Ρ€Π° β€˜100’ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… – ΠΊ строковому Ρ‚ΠΈΠΏΡƒ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ синтаксиса, ΠΌΡ‹ сообщаСм Python, ΠΊΠ°ΠΊΠΎΠΉ Ρƒ нас Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Числа Π² Python дСлятся Π½Π° Π΄Π²Π° Π²ΠΈΠ΄Π°: Ρ†Π΅Π»ΠΎΠ΅ число ΠΈ вСщСствСнноС.

Π¦Π΅Π»ΠΎΠ΅ число

К Ρ†Π΅Π»Ρ‹ΠΌ числам (int) относятся всС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа Π±Π΅Π· Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ части. ВсС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅Π»Ρ‹Π΅ числа Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

Β -80,Β -10,Β -4,Β 0,Β 1,Β 2,Β 20

ВСщСствСнноС число

Π£ вСщСствСнных чисСл (float) всСгда присутствуСт дробная Ρ‡Π°ΡΡ‚ΡŒ, Π° Π΅Ρ‰Ρ‘ ΠΈΡ… Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ дробная Ρ‡Π°ΡΡ‚ΡŒ отдСляСтся ΠΎΡ‚ Ρ†Π΅Π»ΠΎΠΉ части, Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.


-5.2,Β -3.1,Β 7.8,Β 9.33

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с числами

Π Π°Π΄ΠΈ матСматичСских вычислСний Π²Β PythonΒ ΠΈ сущСствуСт числовой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ чисСл

Β eΒ =Β 45Β +Β 55
print(e)
100

jΒ =Β 4.5Β +Β 5
print(j)
9.5

Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ чисСл

Β zΒ =Β 15Β -Β 4
print(z)
11

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ чисСл

Β iΒ =Β 3Β *Β 2
print(i)
6

Π”Π΅Π»Π΅Π½ΠΈΠ΅ чисСл

Π£ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° дСлСния Ρ†Π΅Π»ΠΎΠ³ΠΎ числа Π½Π° Ρ†Π΅Π»ΠΎΠ΅, всСгда Π±ΡƒΠ΄Π΅Ρ‚ дробная Ρ‡Π°ΡΡ‚ΡŒ. Вакая ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ обусловлСна Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв числа Π½Π΅ дСлятся Π±Π΅Π· остатка.

Β kΒ =Β 9/3
print(k)
3.0

ЦСлочислСнноС Π΄Π΅Π»Π΅Π½ΠΈΠ΅

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ цСлочислСнного дСлСния, всСгда Π±ΡƒΠ΄Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число. ΠœΡ‹ просто отбрасываСм остаток. Число 15 помСстится Ρ†Π΅Π»Ρ‹Ρ… 2 Ρ€Π°Π·Π°.


mΒ =Β 40Β // 15

print(m)

2

ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ ΠΎΡ‚ дСлСния

ΠžΡ‚Π²Π΅Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ остаток ΠΎΡ‚ дСлСния. ΠŸΡ€ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Π΄Π΅Π»Π΅Π½ΠΈΠΈ, ΠΎΡ‚Π²Π΅Ρ‚ Π±Ρ‹Π» Π±Ρ‹ 15.1. Но Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ остаток. Π£Π±ΠΈΡ€Π°Π΅ΠΌ Ρ†Π΅Π»ΠΎΠ΅ число ΠΈ оставляСм 1.

Β nΒ =Β 16Β %Β 3
print(n)
1

oΒ =Β 12Β %Β 3
print(4)
0

Π’ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ числа Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ

Число ΠΏΠ΅Ρ€Π΅Π΄ двумя Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ°ΠΌΠΈ – это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ возвСсти Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ. Π¦ΠΈΡ„Ρ€Π° послС Π·Π²Π΅Π·Π΄ΠΎΡ‡Π΅ΠΊ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Π² ΠΊΠ°ΠΊΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π²ΠΎΠ·Π²ΠΎΠ΄ΠΈΠΌ: 4 Π²ΠΎΠ·Π²ΠΎΠ΄ΠΈΠΌ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ.

Β lΒ =Β 4Β **Β 2
print(l)
16

Π’Β PythonΒ Π΅ΡΡ‚ΡŒ встроСнныС матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ числа

Ѐункция abs()Β Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ числа. ΠŸΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Если ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, Ρ‚ΠΎΒ abs()Β Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число. ΠœΠΎΠ΄ΡƒΠ»ΡŒ числа Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ.

Β >>>Β abs(-5)
5
>>>Β abs(5)
5

НаимСньшСС число

Ѐункция min()Β Π²Β PythonΒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ самоС малСнькоС число.

Β >>>Β min(1,8,9)
1

МаксимальноС число

Ѐункция max()Β Π²Π΅Ρ€Π½Π΅Ρ‚ самоС большоС число.

Β >>>Β max(25,Β 8,Β 57)Β 57

ΠžΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа

Ѐункция round() округляСт Π΄ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа.

Β >>>Β round(2.33)
2
>>>Β round(4.5)
4

ВывСсти число Π² Python

Ѐункция print()Β Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ числа Π½Π° экран.


print(2,3,4)

2Β 3Β 4

ВвСсти число Π² Python

Ѐункция input() считываСт Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² консоль ΠΈ сохраняСт Π΅Π³ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Но Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли ΠΌΡ‹ Π²Π²Π΅Π΄Π΅ΠΌ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ число ΠΈ Π·Π°Ρ‚Π΅ΠΌ обратимся ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ?

Β >>>Β rΒ =Β input()
33
>>>Β r
'33'Β # это строка

PythonΒ Π²Ρ‹Π²Π΅Π» строку, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ число стоит Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ….

Для Π²Π²ΠΎΠ΄Π° Ρ†Π΅Π»ΠΎΠ³ΠΎ числа, слСдуСт ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽΒ input()Β Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽΒ int().

Β >>>Β sΒ =Β int(input())
22
>>>Β s
22

Для вСщСствСнного числа, соотвСтствСнно Π²Β float().

Β >>>Β s
tΒ =Β float(input())
11.9
>>>Β t
11.9

Как ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ сумму Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… чисСл?

Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅Β input()Β ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ подсказки.

Β wΒ =Β int(input("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число: "))
qΒ =Β int(input("Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число: "))
summa=w+q
print(summa)

ВвСдитС пСрвоС число:Β 6
ВвСдитС второС число:Β 7
13

Π½Π° Π’Π°Ρˆ сайт.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ числа, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ свойства

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ модуля числа

АлгСбра Π΄Π°Π΅Ρ‚ Ρ‡Π΅Ρ‚ΠΊΠΎΠ΅ опрСдСлСния модуля числа. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ β€” это расстояниС ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° отсчёта Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠΉ прямой, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ этому числу.

Если ΠΌΡ‹ возьмСм Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ число Β«aΒ» ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ Π΅Π³ΠΎ Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠΉ прямой Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Β«AΒ» β€” расстояниС ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ Β«AΒ» Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° отсчёта (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄ΠΎ нуля, Π΄Π»ΠΈΠ½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° Β«OAΒ») Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ числа Β«aΒ».

Π—Π½Π°ΠΊ модуля:Β |a| = OA

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

Π’ΠΎΡ‡ΠΊΠ° Β«Π’Β», которая соотвСтствуСт числу Β«βˆ’3Β», находится Π½Π° расстоянии 3 Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΎΠ² ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ 0 (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° отсчёта). Π’ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π»ΠΈΠ½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° Β«OBΒ» Ρ€Π°Π²Π½Π° 3 Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌ.

Число 3 (Π΄Π»ΠΈΠ½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° Β«OBΒ») Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ числа Β«βˆ’3Β».

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ модуля: |βˆ’3| = 3

Π§ΠΈΡ‚Π°ΡŽΡ‚ символы Π²Ρ‹ΡˆΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Β«ΠΌΠΎΠ΄ΡƒΠ»ΡŒ числа минус Ρ‚Ρ€ΠΈ Ρ€Π°Π²Π΅Π½ Ρ‚Ρ€Π΅ΠΌΒ».

Π’ΠΎΡ‡ΠΊΠ° Β«Π‘Β», которая соотвСтствуСт числу Β«+4Β», находится Π½Π° расстоянии Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΎΠ² ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° отсчёта, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π»ΠΈΠ½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° Β«OΠ‘Β» Ρ€Π°Π²Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌ.

Число 4 Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ числа Β«+4Β» ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Ρ‚Π°ΠΊ: |+4| = 4.

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ плюс ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ |4| = 4.

Бвойства модуля числа

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим сСмь основных свойств модуля. НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΉ класс ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π» Ρ€Π΅Π±Π΅Π½ΠΎΠΊ β€” эти ΠΏΡ€Π°Π²ΠΈΠ»Π° пригодятся всСгда.

1. ΠœΠΎΠ΄ΡƒΠ»ΡŒ числа β€” это расстояниС, Π° расстояниС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ числа Π½Π΅ Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ:

2. ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ числа Ρ€Π°Π²Π΅Π½ самому числу.

3. ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ числа Ρ€Π°Π²Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΌΡƒ числу.

  • |βˆ’a| = a, Ссли a < 0

4. ΠœΠΎΠ΄ΡƒΠ»ΡŒ нуля Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ.

5. ΠŸΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹Π΅ числа ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π²Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

6. ΠœΠΎΠ΄ΡƒΠ»ΡŒ произвСдСния Ρ€Π°Π²Π΅Π½ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ этих чисСл.

  • |a b| = |a| |b|, ΠΊΠΎΠ³Π΄Π°

aΒ·b 0

ΠΈΠ»ΠΈ

βˆ’(aΒ·b), ΠΊΠΎΠ³Π΄Π° aΒ·b<0

7. ΠœΠΎΠ΄ΡƒΠ»ΡŒ частного Ρ€Π°Π²Π΅Π½ частному ΠΎΡ‚ дСлСния модуля числа числитСля Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ числа знамСнатСля:Β 

ГСомСтричСская интСрпрСтация модуля

Как ΠΌΡ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅ΠΌ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ числа β€” это расстояниС ΠΎΡ‚ нуля Π΄ΠΎ Π΄Π°Π½Π½ΠΎΠ³ΠΎ числа. Π’ΠΎ Π΅ΡΡ‚ΡŒ расстояниС ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ βˆ’5 Π΄ΠΎ нуля Ρ€Π°Π²Π½ΠΎ 5.

НарисуСм Ρ‡ΠΈΡΠ»ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ это Π½Π° Π½Π΅ΠΉ.

Π­Ρ‚Π° гСомСтричСская интСрпрСтация ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΈ нСравСнств с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

РСшим ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅: |Ρ…| = 5

ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π° числовой прямой Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ, расстояниС ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎ нуля Ρ€Π°Π²Π½ΠΎ 5. Π­Ρ‚ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ 5 ΠΈ βˆ’5. Π—Π½Π°Ρ‡ΠΈΡ‚, ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ: x = 5 ΠΈ x = βˆ’5.

Когда Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° числа a ΠΈ b, Ρ‚ΠΎ ΠΈΡ… Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ |a - b| Ρ€Π°Π²Π½Π° Ρ€Π°ΡΡΡ‚ΠΎΡΠ½ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π½Π° числовой прямой. Или Π΄Π»ΠΈΠ½Π΅ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° АВ

РасстояниС ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ a Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ b Ρ€Π°Π²Π½ΠΎ Ρ€Π°ΡΡΡ‚ΠΎΡΠ½ΠΈΡŽ ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ b Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ a, Ρ‚ΠΎΠ³Π΄Π° |a - b| = |b - a|.

РСшим ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅: |a - 3| = 4 . Π—Π°ΠΏΠΈΡΡŒ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ Ρ‚Π°ΠΊ: расстояниС ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ Π° Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ 3 Ρ€Π°Π²Π½ΠΎ 4. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ Π½Π° числовой прямой Ρ‚ΠΎΡ‡ΠΊΠΈ, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ этому ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ.

Π£Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ: βˆ’1 ΠΈ 7. ΠœΡ‹ ΠΈΠ· 3 Π²Ρ‹Ρ‡Π»ΠΈ 4 - ΠΈ это ΠΎΠ΄ΠΈΠ½ ΠΎΡ‚Π²Π΅Ρ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊ 3 ΠΌΡ‹ ΠΏΡ€ΠΈΠ±Π°Π²ΠΈΠ»ΠΈ 4 - ΠΈ это Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΎΡ‚Π²Π΅Ρ‚.

РСшим нСравСнство: |a + 7| < 4 .

Π­Ρ‚Ρƒ запись Ρ‡ΠΈΡ‚Π°Π΅ΠΌ Ρ‚Π°ΠΊ: расстояниС ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ a Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ βˆ’7 мСньшС Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ…. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅ΠΌ Π½Π° числовой прямой Ρ‚ΠΎΡ‡ΠΊΠΈ, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ этому ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ:

ΠžΡ‚Π²Π΅Ρ‚ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ: (-11; -3).

РСшим нСравСнство: |10 βˆ’ x| β‰₯ 7.

РасстояниС ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ 10 Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ x большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ сСми. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ эти Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° числовой прямой.

ΠžΡ‚Π²Π΅Ρ‚: ( -; 3] [17, +)

Π“Ρ€Π°Ρ„ΠΈΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π“Ρ€Π°Ρ„ΠΈΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π²Π΅Π½ y = |Ρ…|.

Для x 0 ΠΈΠΌΠ΅Π΅ΠΌ y = x.Β 

Для x < 0 ΠΈΠΌΠ΅Π΅ΠΌ y = βˆ’x. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ:

Π­Ρ‚ΠΎΡ‚ Π³Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ ΠΈ нСравСнств.

ΠšΠΎΡ€Π΅Π½ΡŒ ΠΈΠ· ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°

Π’ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Ρ‡Π΅ Π•Π“Π­ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒΡΡ Π·Π°Π΄Π°Ρ‡ΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ просят Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ √a2 , Π³Π΄Π΅ a – Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ число ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈ этом, √a2= |a|.

По ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ арифмСтичСского ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня √a2 β€” это Ρ‚Π°ΠΊΠΎΠ΅ Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число, ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π΅Π½ a2 .Β 

Оно Ρ€Π°Π²Π½ΠΎ a, ΠΏΡ€ΠΈ Π° 0 ΠΈ -Π°, ΠΏΡ€ΠΈ Π° < 0 , Ρ‚. Π΅. ΠΊΠ°ΠΊ Ρ€Π°Π· |a|.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ комплСксного числа

Π£ нас Π΅ΡΡ‚ΡŒ комплСксноС число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: z=x+iΒ·y, Π³Π΄Π΅ x ΠΈ y ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈ ΠΌΠ½ΠΈΠΌΡƒΡŽ части комплСксного числа z (ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ), Π° i β€” мнимая Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΈ Ρ€Π°Π²Π½Π° √-1

Π§Π΅ΠΌΡƒ Ρ€Π°Π²Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ числа Π² Π΄Π°Π½Π½ΠΎΠΌ случаС? Π­Ρ‚ΠΎ арифмСтичСский ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΈΠ· суммы ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΌΠ½ΠΈΠΌΠΎΠΉ части комплСксного числа:

Бвойства модуля комплСксных чисСл

  • ΠžΠ±Π»Π°ΡΡ‚ΡŒ опрСдСлСния: вся комплСксная ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ.
  • ΠžΠ±Π»Π°ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: [0;+∞).
  • ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΊΠ°ΠΊ комплСксная функция Π½Π΅ диффСрСнцируСтся Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ условия Коши-Π ΠΈΠΌΠ°Π½Π° Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ числа

Как Π½Π°ΠΉΡ‚ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ числа β€” это расстояниС ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° отсчёта Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠΉ прямой, которая соотвСтствуСт этому числу.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ числа, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

|-3,5| = 3,5

|0| = 0

ΠœΠΎΠ΄ΡƒΠ»ΡŒ вСщСствСнных чисСл

  • ΠžΠ±Π»Π°ΡΡ‚ΡŒ опрСдСлСния: (βˆ’βˆž;+∞).
  • ΠžΠ±Π»Π°ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: [0;+∞).
  • Ѐункция чётная.
  • Ѐункция диффСрСнцируСтся Π²Π΅Π·Π΄Π΅, ΠΊΡ€ΠΎΠΌΠ΅ нуля. Π’ Ρ‚ΠΎΡ‡ΠΊΠ΅ x=0 функция ΠΏΡ€Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π²Π°Π΅Ρ‚ ΠΈΠ·Π»ΠΎΠΌ.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ числа, нуля, ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ чисСл

Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· свойств модуля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ рассмотрСли Π²Ρ‹ΡˆΠ΅, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ:

  • ΠŸΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹Π΅ числа ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π²Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ |- Π°| = |Π°| = a.
    Если ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ это ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π½ΠΎΠΉ прямой, Ρ‚ΠΎ Π΄Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ - это ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹Π΅ числа, Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ расстоянии ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° отсчСта. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹Ρ… чисСл ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹.
  • ΠœΠΎΠ΄ΡƒΠ»ΡŒ нуля Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ.
    |0| = 0, Ссли a = 0
  • Для ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ числа ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π°Π²Π΅Π½ самомý числу, Π° для ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ – ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΌΡƒ числу.
    |Π°| = - Π°
    |βˆ’a| = a

ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ нСскучной ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠΉ Π² Π΄Π΅Ρ‚ΡΠΊΡƒΡŽ ΠΎΠ½Π»Π°ΠΉΠ½-ΡˆΠΊΠΎΠ»Ρƒ Skysmart. ПомоТСм Ρ€Π΅Π±Π΅Π½ΠΊΡƒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² слоТной Ρ‚Π΅ΠΌΠ΅, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉ, ΠΏΠΎΠ΄Ρ‚ΡΠ½ΡƒΡ‚ΡŒ ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΈ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сСбя ΡƒΠ²Π΅Ρ€Π΅Π½Π½Π΅Π΅ Π½Π° ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ Π² школС.

Π—Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ вашСго Ρ€Π΅Π±Π΅Π½ΠΊΠ° Π½Π° бСсплатный ΠΏΡ€ΠΎΠ±Π½Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΡƒΠΆΠ΅ Π·Π°Π²Ρ‚Ρ€Π°.

cmath - ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для комплСксных чисСл - докумСнтация Python 3.9.5


Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ обСспСчиваСт доступ ΠΊ матСматичСским функциям для комплСксных чисСл. Π’
Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² этом ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Ρ†Π΅Π»Ρ‹Π΅ числа, числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ΠΈΠ»ΠΈ комплСксныС
числа ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹. Они Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΡƒΡ‚ любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Python, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π»ΠΈΠ±ΠΎ
__complex __ () ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ __float __ () : эти ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для
ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² комплСксноС число ΠΈΠ»ΠΈ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, соотвСтствСнно, ΠΈ
Π·Π°Ρ‚Π΅ΠΌ функция примСняСтся ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ прСобразования.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

На ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… с Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΈ систСмной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ подписанных
Π½ΡƒΠ»ΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ развСтвлСния, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ΡΡ Π½Π° ΠΈ Π½Π°
стороны срСза Π²Π΅Ρ‚ΠΊΠΈ: Π·Π½Π°ΠΊ нуля ΠΎΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ
сторону Π²Π΅Ρ‚ΠΊΠΈ ΡΡ€Π΅Π·Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ. На ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅
ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ подписанныС Π½ΡƒΠ»ΠΈ, Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π° Π½ΠΈΠΆΠ΅.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² полярныС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ

КомплСксноС число Python z хранится Π²Π½ΡƒΡ‚Ρ€ΠΈ с использованиСм ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°
ΠΈΠ»ΠΈ Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ .Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ опрСдСляСтся Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ
Ρ‡Π°ΡΡ‚ΡŒ
z.real ΠΈ Π΅Π΅ мнимая Ρ‡Π°ΡΡ‚ΡŒ z.imag . Π’ Π΄Ρ€ΡƒΠ³ΠΎΠΌ
слов:

ΠŸΠΎΠ»ΡΡ€Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π΄Π°ΡŽΡ‚ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ способ прСдставлСния комплСкса
Π½ΠΎΠΌΠ΅Ρ€. Π’ полярных ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ… комплСксноС число z опрСдСляСтся ΠΊΠ°ΠΊ
ΠΌΠΎΠ΄ΡƒΠ»ΡŒ r ΠΈ Ρ„Π°Π·ΠΎΠ²Ρ‹ΠΉ ΡƒΠ³ΠΎΠ» phi . ΠœΠΎΠ΄ΡƒΠ»ΡŒ r - это расстояниС
ΠΎΡ‚ z Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Π° Ρ„Π°Π·Π° phi - ΠΏΡ€ΠΎΡ‚ΠΈΠ² часовой стрСлки
ΡƒΠ³ΠΎΠ», измСряСмый Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ…, ΠΎΡ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ оси x Π΄ΠΎ Π»ΠΈΠ½ΠΈΠΈ
сСгмСнт, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ Π½Π°Ρ‡Π°Π»ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ с z .

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для прСобразования ΠΈΠ· собствСнного
ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π² полярныС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.

смат. Ρ„Π°Π·Π° ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ„Π°Π·Ρƒ x (Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ x ) ΠΊΠ°ΠΊ
ΠΏΠ»Π°Π²Π°Ρ‚ΡŒ. phase (x) эквивалСнтно math.atan2 (x.imag,
x.real)
. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π»Π΅ΠΆΠΈΡ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [- Ο€ , Ο€ ], ΠΈ Π²Π΅Ρ‚Π²ΡŒ
Ρ€Π°Π·Ρ€Π΅Π· для этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π»Π΅ΠΆΠΈΡ‚ ΠΏΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ оси,
Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ свСрху.Π’ систСмах с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π½ΡƒΠ»Π΅ΠΉ со Π·Π½Π°ΠΊΠΎΠΌ
(ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² настоящСС врСмя систСм), это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ
Π·Π½Π°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ Π·Π½Π°ΠΊ x.imag , Π΄Π°ΠΆΠ΅ Ссли
x.imag Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ:

 >>> Ρ„Π°Π·Π° (комплСкс (-1,0; 0,0))
3,1415589793
>>> Ρ„Π°Π·Π° (комплСкс (-1,0, -0,0))
-3.1415589793
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

ΠœΠΎΠ΄ΡƒΠ»ΡŒ (Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅) комплСксного числа x ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ
вычисляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ abs () .Π—Π΄Π΅ΡΡŒ Π½Π΅Ρ‚
ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ функция модуля cmath для этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

смат. полярный ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ прСдставлСниС x Π² полярных ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ…. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚
ΠΏΠ°Ρ€Π° (r, phi) , Π³Π΄Π΅ r - это ΠΌΠΎΠ΄ΡƒΠ»ΡŒ x , Π° phi - это
Ρ„Π°Π·Π° Ρ… . полярный (x) эквивалСнтСн (абс (x),
Ρ„Π°Π·Π° (x))
.

смат. ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ( r , phi )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ комплСксноС число x с полярными ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ r ΠΈ phi .
Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎ r * (math.cos (phi) + math.sin (phi) * 1j) .

Π‘Ρ‚Π΅ΠΏΠ΅Π½Π½Ρ‹Π΅ ΠΈ логарифмичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

смат. эксп. ( x )

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ e Π² стСпСни x , Π³Π΄Π΅ e - основаниС СстСствСнного
Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΡ‹.

смат. ΠΆΡƒΡ€Π½Π°Π» ( x [, основаниС ])

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ x ΠΊ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ основанию . Если base Π½Π΅Ρ‚
ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ x . Π•ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ срСз Π²Π΅Ρ‚ΠΊΠΈ, ΠΎΡ‚ 0
вдоль ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ оси Π΄ΠΎ -∞, Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ свСрху.

смат. Π»ΠΎΠ³10 ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ дСсятичный Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ x .Π£ Π½Π΅Π³ΠΎ такая ΠΆΠ΅ Π²Π΅Ρ‚ΠΊΠ°, Ρ‡Ρ‚ΠΎ ΠΈ Ρƒ
ΠΆΡƒΡ€Π½Π°Π» () .

смат. ΠΊΠ². ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΈΠ· x . Π£ Π½Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ сСчСниС Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠ°ΠΊ Ρƒ log () .

ВригономСтричСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

смат. acos ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ арккосинус x . Π•ΡΡ‚ΡŒ Π΄Π²Π° Ρ€Π°Π·Ρ€Π΅Π·Π° Π²Π΅Ρ‚ΠΊΠΈ: ΠΎΠ΄ΠΈΠ½ ΠΈΠ΄Π΅Ρ‚ прямо ΠΎΡ‚
1 вдоль вСщСствСнной оси Π΄ΠΎ ∞, Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ снизу.Π”Ρ€ΡƒΠ³ΠΎΠΉ простираСтся слСва ΠΎΡ‚
ΠžΡ‚ -1 ΠΏΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ оси Π΄ΠΎ -∞, Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ свСрху.

смат. asin ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ арксинус x . Он ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅ ΠΆΠ΅ сСчСния Π²Π΅Ρ‚Π²Π΅ΠΉ, Ρ‡Ρ‚ΠΎ ΠΈ acos () .

смат. Π°Ρ‚Π°Π½ ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ арктангСнс x . Π•ΡΡ‚ΡŒ Π΄Π²Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° отвСтвлСния: ΠΎΠ΄ΠΈΠ½ ΠΈΠ΄Π΅Ρ‚ ΠΎΡ‚
1j вдоль ΠΌΠ½ΠΈΠΌΠΎΠΉ оси Π΄ΠΎ ∞j , Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ справа.Π’
Π΄Ρ€ΡƒΠ³ΠΎΠΉ простираСтся ΠΎΡ‚ -1j вдоль ΠΌΠ½ΠΈΠΌΠΎΠΉ оси Π΄ΠΎ -∞j , Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ
слСва.

смат. cos ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ косинус x .

смат. sin ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ синус x .

смат. ΠΆΠ΅Π»Ρ‚ΠΎ-ΠΊΠΎΡ€ΠΈΡ‡Π½Π΅Π²Ρ‹ΠΉ ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ тангСнс x .

ГипСрболичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

смат. acosh ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ гипСрболичСский косинус x . Π•ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ срСз Π²Π΅Ρ‚ΠΊΠΈ,
ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‰Π°ΡΡΡ слСва ΠΎΡ‚ 1 вдоль вСщСствСнной оси Π΄ΠΎ -∞, нСпрСрывная свСрху.

смат. асинь ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ гипСрболичСский синус x . Π•ΡΡ‚ΡŒ Π΄Π²Π° ΠΎΡ‚Ρ€Π΅Π·Π° Π²Π΅Ρ‚ΠΊΠΈ:
Один простираСтся ΠΎΡ‚ 1j вдоль ΠΌΠ½ΠΈΠΌΠΎΠΉ оси Π΄ΠΎ ∞j ,
Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ справа.Π”Ρ€ΡƒΠ³ΠΎΠΉ простираСтся ΠΎΡ‚ -1j вдоль
мнимая ось Π΄ΠΎ -∞j , нСпрСрывная слСва.

смат. Π°Ρ‚Π°Π½Ρ… ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ арктангСнс гипСрболичСского значСния x . Π•ΡΡ‚ΡŒ Π΄Π²Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ° Π²Π΅Ρ‚ΠΊΠΈ: ΠΎΠ΄ΠΈΠ½.
простираСтся ΠΎΡ‚ 1 вдоль Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ оси Π΄ΠΎ ∞ , Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ снизу. Π’
Π΄Ρ€ΡƒΠ³ΠΎΠΉ простираСтся ΠΎΡ‚ -1 вдоль Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ оси Π΄ΠΎ -∞ , Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ ΠΎΡ‚
Π²Ρ‹ΡˆΠ΅.

смат. Ρ†Π²Π΅Ρ‚ ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ гипСрболичСский косинус x .

смат. sinh ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ гипСрболичСский синус x .

смат. Ρ‚Π°Π½Ρ… ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ гипСрболичСский тангСнс x .

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

смат. исфинит ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π˜ΡΡ‚ΠΈΠ½Π½ΠΎ , Ссли Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΈ мнимая части x ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹, ΠΈ
НСвСрно ΠΈΠ½Π°Ρ‡Π΅.

смат. isinf ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π˜ΡΡ‚ΠΈΠ½Π½ΠΎ , Ссли Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΈΠ»ΠΈ мнимая Ρ‡Π°ΡΡ‚ΡŒ x являСтся
Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ Π›ΠΎΠΆΡŒ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС.

смат. иснан ( x )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π˜ΡΡ‚ΠΈΠ½Π½ΠΎ , Ссли Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΈΠ»ΠΈ мнимая Ρ‡Π°ΡΡ‚ΡŒ x являСтся NaN,
ΠΈ НСвСрно Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС.

смат. isclose ( a , b , * , rel_tol = 1e-09 , abs_tol = 0,0 )

Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π˜ΡΡ‚ΠΈΠ½Π° , Ссли значСния a ΠΈ b Π±Π»ΠΈΠ·ΠΊΠΈ Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ ΠΈ
НСвСрно ΠΈΠ½Π°Ρ‡Π΅.

БчитаСтся Π»ΠΈ Π΄Π²Π° значСния Π±Π»ΠΈΠ·ΠΊΠΈΠΌΠΈ ΠΈΠ»ΠΈ Π½Π΅Ρ‚, опрСдСляСтся Π² соотвСтствии с
Π΄Π°Π½Ρ‹ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ допуски.

rel_tol - ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ допуск - это максимально допустимая Ρ€Π°Π·Π½ΠΈΡ†Π°.
ΠΌΠ΅ΠΆΠ΄Ρƒ a ΠΈ b ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ большСго Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ значСния a ΠΈΠ»ΠΈ b .НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ допуск 5%, ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ rel_tol = 0,05 . По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
допуск 1e-09 , Ρ‡Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π²Π° значСния ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚
с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ 9 дСсятичных Ρ†ΠΈΡ„Ρ€. rel_tol Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ большС нуля.

abs_tol - ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ допуск - ΠΏΠΎΠ»Π΅Π·Π΅Π½ для сравнСний рядом с
Π½ΡƒΠ»ΡŒ. abs_tol Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ мСньшС нуля.

Если ошибок Π½Π΅ происходит, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚:
абс (a-b) <= max (rel_tol * max (abs (a), abs (b)), abs_tol) .

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния IEEE 754: NaN , inf ΠΈ -inf Π±ΡƒΠ΄ΡƒΡ‚
обрабатываСтся Π² соотвСтствии с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ IEEE. Π’ частности, NaN Π½Π΅ считаСтся
Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ NaN . inf ΠΈ -inf Ρ‚ΠΎΠ»ΡŒΠΊΠΎ
считаСтся Π±Π»ΠΈΠ·ΠΊΠΈΠΌ ΠΊ сСбС.

Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅

PEP 485 - Ѐункция ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ равСнства

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹

смат. ΠΏΠΈ

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ константа Ο€ Π² Π²ΠΈΠ΄Π΅ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.

смат. e

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ константа e Π² Π²ΠΈΠ΄Π΅ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.

смат. Ρ‚Π°Ρƒ

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ константа Ο„ , Π² Π²ΠΈΠ΄Π΅ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.

смат. ΠΈΠ½Ρ„

ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ('inf') .

смат. ΠΈΠ½Ρ„Π΄ΠΆ

КомплСксноС число с Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΈ ΠΌΠ½ΠΈΠΌΠΎΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒΡŽ
Ρ‡Π°ΡΡ‚ΡŒ. Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚ комплСксному (0,0, float ('inf')) .

смат. Π½Π°Π½

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, Β«Π½Π΅ число» (NaN). Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎ
с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ('nan') .

смат. Π½Π°Π½ΠΆ

КомплСксноС число с Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΈ ΠΌΠ½ΠΈΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ NaN. Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΠΎ
комплСкс (0,0, число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой ('nan')) .

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½, Π½ΠΎ Π½Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π²
ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° . ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° наличия Π΄Π²ΡƒΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π΅
ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ΡΡ комплСксными числами ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅. Они
ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π΅Π» Π±Ρ‹ math.sqrt (-1) Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ρ‡Π΅ΠΌ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ слоТный
Π½ΠΎΠΌΠ΅Ρ€.Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π² cmath , всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚
комплСксноС число, Π΄Π°ΠΆΠ΅ Ссли ΠΎΡ‚Π²Π΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ числом (Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ
случай комплСксного числа ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΈΠΌΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ нуля).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΎ срСзах ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΉ: это ΠΊΡ€ΠΈΠ²Ρ‹Π΅, вдоль ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… данная функция Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚
Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΌ. Они Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для ΠΌΠ½ΠΎΠ³ΠΈΡ… слоТных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. это
прСдполагаСтся, Ρ‡Ρ‚ΠΎ Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ вычислСния со слоТными функциями, Π²Ρ‹ ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅
насчСт срСзов Π²Π΅Ρ‚ΠΎΠΊ. ΠŸΡ€ΠΎΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ практичСски с любой (Π½Π΅ слишком простой) ΠΊΠ½ΠΈΠ³ΠΎΠΉ ΠΏΠΎ слоТным
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для просвСтлСния.Для ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ„ΠΈΠ»ΠΈΠ°Π»Π°
сокращСния для числовых Ρ†Π΅Π»Π΅ΠΉ, Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ссылкой Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Π‘ΠΌ. Π’Π°ΠΊΠΆΠ΅

ΠšΠ°Ρ…Π°Π½, W: ΠžΡ‚Ρ€Π΅Π·ΠΊΠΈ Π²Π΅Ρ‚Π²Π΅ΠΉ для слоТных элСмСнтарных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ; ΠΈΠ»ΠΈ, ΠΌΠ½ΠΎΠ³ΠΎ ΡˆΡƒΠΌΠ° ΠΎ
Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΠΉ Π±ΠΈΡ‚. Π’: Π˜Π·Π΅Ρ€Π»Π΅Ρ, А., ΠΈ ΠŸΠ°ΡƒΡΠ»Π», М. (Ρ€Π΅Π΄.), Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ состояниС
Π² числСнном Π°Π½Π°Π»ΠΈΠ·Π΅. Clarendon Press (1987), стр. 165–211.

6. ΠœΠΎΠ΄ΡƒΠ»ΠΈ - докумСнтация Python 3.9.5

 >>> import builtins
>>> dir (встроСнныС)
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException',
 BlockingIOError, BrokenPipeError, BufferError, BytesWarning,
 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError',
 ConnectionRefusedError, ConnectionResetError, DeprecationWarning,
 EOFError, Ellipsis, EnvironmentError, Exception, False,
 FileExistsError, FileNotFoundError, FloatingPointError,
 FutureWarning, GeneratorExit, IOError, ImportError,
 ImportWarning, IndentationError, IndexError, InterruptedError,
 IsADirectoryError, KeyError, KeyboardInterrupt, LookupError,
 MemoryError, NameError, None, NotADirectoryError, NotImplemented,
 NotImplementedError, OSError, OverflowError,
 PendingDeprecationWarning, PermissionError, ProcessLookupError,
 ReferenceError, ResourceWarning, RuntimeError, RuntimeWarning,
 StopIteration, SyntaxError, SyntaxWarning, SystemError,
 SystemExit, TabError, TimeoutError, True, TypeError,
 UnboundLocalError, UnicodeDecodeError, UnicodeEncodeError,
 UnicodeError, UnicodeTranslateError, UnicodeWarning, UserWarning,
 'ValueError', 'ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅', 'ZeroDivisionError', '_', '__build_class__',
 '__debug__', '__doc__', '__import__', '__name__', '__package__', 'abs',
 all, any, ascii, bin, bool, bytearray, bytes, callable,
 chr, classmethod, compile, complex, copyright, credits,
 delattr, dict, dir, divmod, enumerate, eval, exec, exit,
 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'Ρ„ΠΈΠ»ΡŒΡ‚Ρ€', 'с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ', 'Ρ„ΠΎΡ€ΠΌΠ°Ρ‚', 'frozenset', 'getattr', 'globals', 'hasattr',
 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'Ρ…ΡΡˆ', 'справка', 'ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ', 'id', 'input', 'int', 'isinstance', 'issubclass',
 iter, len, лицСнзия, list, locals, map, max, memoryview,
 min, next, object, oct, open, ord, pow, print, property,
 'quit', 'range', 'repr', 'reverse', 'round', 'set', 'setattr', 'срСз',
 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'отсортированный', 'статичСский ΠΌΠ΅Ρ‚ΠΎΠ΄', 'str', 'sum', 'super', 'tuple', 'type', 'vars',
 'zip']
 

ΠœΠΎΠ΄ΡƒΠ»ΠΈ Python


Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ?

Π‘Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ‚Π΅ΠΌ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΊΠΎΠ΄Π°.

Π€Π°ΠΉΠ», содСрТащий Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.


Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, просто сохранитС Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² Ρ„Π°ΠΉΠ»Π΅ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .py :

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ этот ΠΊΠΎΠ΄ Π² Ρ„Π°ΠΉΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ mymodule.py

def привСтствиС (имя):
print ("ΠŸΡ€ΠΈΠ²Π΅Ρ‚," + имя)

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ созданный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ import :

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ mymodule ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ привСтствия:

import mymodule

mymodule.привСтствиС (Β«Π”ΠΆΠΎΠ½Π°Ρ‚Π°Π½Β»)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запуска Β»

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· модуля ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ синтаксис: имя_модуля.имя_Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ .


ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡƒΠΆΠ΅ описанныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
всС Ρ‚ΠΈΠΏΡ‹ (массивы, словари, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ Ρ‚. Π΄.):

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ этот ΠΊΠΎΠ΄ Π² Ρ„Π°ΠΉΠ»Π΅ mymodule.py

person1 = {
"name": "Π”ΠΆΠΎΠ½",
"age": 36,
"страна": "НорвСгия"
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ mymodule ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ person1:

import mymodule

a = mymodule.person1 ["возраст"]
print (a)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запуска Β»



ИмСнованиС модуля

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» модуля ΠΊΠ°ΠΊ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π½ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°
.py

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ модуля

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ псСвдоним ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ модуля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ°ΠΊ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово :

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ псСвдоним для mymodule с ΠΈΠΌΠ΅Π½Π΅ΠΌ mx :

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ mymodule ΠΊΠ°ΠΊ mx

a = mx.person1 ["возраст"]
print (a)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запуска Β»


ВстроСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ

Π’ Python Π΅ΡΡ‚ΡŒ нСсколько встроСнных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² любоС врСмя.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠΈ использованиС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠœΠΎΠ΄ΡƒΠ»ΡŒ:

ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°

x = platform.system ()
print (x)

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам "


ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ dir ()

Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ встроСнная функция для Π²Ρ‹Π²ΠΎΠ΄Π° списка всСх ΠΈΠΌΠ΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
ΠΈΠΌΠ΅Π½Π°) Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅.Ѐункция dir () :

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Бписок всСх ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»ΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹:

ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°

x = dir (ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°)
print (x)

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉ сам "

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Ѐункция dir () ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° всСх
ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ создаСтС сами.


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

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ ΠΈΠ· модуля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово ΠΈΠ· .

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

ΠœΠΎΠ΄ΡƒΠ»ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ mymodule ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ
ΠΈ ΠΎΠ΄ΠΈΠ½ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ:

def привСтствиС (имя):
print ("ΠŸΡ€ΠΈΠ²Π΅Ρ‚," + имя)

person1
= {
"name": "Π”ΠΆΠΎΠ½",
"возраст": 36,
"страна":
«НорвСгия»
}

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· модуля Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ person1:

from mymodule import person1

print (person1 ["возраст"])

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запуска Β»

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ с использованиСм ΠΈΠ·
ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ имя модуля ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ элСмСнтам Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅.ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ1 ["возраст"] , Π½Π΅
mymodule.person1 ["возраст"]



12. ΠœΠΎΠ΄ΡƒΠ»ΠΈ - Как Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΉ ΡƒΡ‡Π΅Π½Ρ‹ΠΉ: ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ с Python 3

ΠœΠΎΠ΄ΡƒΠ»ΡŒ - это Ρ„Π°ΠΉΠ», содСрТащий опрСдСлСния Python ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅
для использования Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Python. Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с
Python ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ . ΠœΡ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄Π²Π° ΠΈΠ· Π½ΠΈΡ…,
ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ‡Π΅Ρ€Π΅ΠΏΠ°Ρ…ΠΈ ΠΈ струнный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ справкС. Бправочная систСма содСрТит
список всСх стандартных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, доступных с Python.
Π˜Π³Ρ€Π°ΠΉΡ‚Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ!

12.1. Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹Π΅ числа

ΠœΡ‹ часто Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ случайныС числа Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, Π²ΠΎΡ‚ нСсколько Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

  • Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡ‹Π³Ρ€Π°Ρ‚ΡŒ Π² Π°Π·Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΈΠ³Ρ€Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ кости, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ число ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΌΠΎΠ½Π΅Ρ‚Ρƒ,
  • Π‘Π»ΡƒΡ‡Π°ΠΉΠ½ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ΄Ρ‹ ΠΈΠ³Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ°Ρ€Ρ‚,
  • ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ / заставляСт враТСский космичСский ΠΊΠΎΡ€Π°Π±Π»ΡŒ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π² случайном мСстС ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ
    ΡΡ‚Ρ€Π΅Π»ΡŒΠ±Π° Π² ΠΈΠ³Ρ€ΠΎΠΊΠ°,
  • Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ осадки ΠΏΡ€ΠΈ создании ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ для
    ΠΎΡ†Π΅Π½ΠΊΠ° воздСйствия ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΏΠ»ΠΎΡ‚ΠΈΠ½Ρ‹ Π½Π° ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΡƒΡŽ срСду,
  • Для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ банковских сСансов Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

Python прСдоставляСт случайный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ. Π’Ρ‹ моТСшь
Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ справки, Π½ΠΎ Π²ΠΎΡ‚ основныС Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ с Π½ΠΈΠΌ сдСлаСм:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ случайный

# Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ ящика, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ случайныС числа
rng = random.Random ()

dice_throw = rng.randrange (1,7) # Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ int, ΠΎΠ΄Π½ΠΎ ΠΈΠ· 1,2,3,4,5,6
delay_in_seconds = rng.random () * 5,0
 

Π’Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° randrange Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΆΠ½ΠΈΠΌ ΠΈ Π²Π΅Ρ€Ρ…Π½ΠΈΠΌ
Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Ρƒ ΠΆΠ΅ сСмантику, Ρ‡Ρ‚ΠΎ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ - поэтому ниТняя Π³Ρ€Π°Π½ΠΈΡ†Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π°, Π½ΠΎ
вСрхняя Π³Ρ€Π°Π½ΠΈΡ†Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π°.ВсС значСния ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π²Π½ΡƒΡŽ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ появлСния
(Ρ‚.Π΅. Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ€Π°Π²Π½Ρ‹ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ ΠΈ распрСдСлСны). Как ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Ρ€Π°Π½Π΄Ρ€Π΅ΠΉΠ½Π΄ΠΆ ΠΌΠΎΠΆΠ΅Ρ‚
Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ step. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π° случайноС Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ число мСньшС
Ρ‡Π΅ΠΌ 100, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ:

 r_odd = rng.randrange (1, 100, 2)
 

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

Π‘Π»ΡƒΡ‡Π°ΠΉΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ [0.0, 1.0) - Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
квадратная скобка ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» слСва», Π° круглая скобка ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚
Β«ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» справа». Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, 0,0 Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½, Π½ΠΎ всС возвращаСтся
числа Π±ΡƒΠ΄ΡƒΡ‚ строго мСньшС 1.0. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎ шкалС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ послС
вызывая этот ΠΌΠ΅Ρ‚ΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ пСрСвСсти ΠΈΡ… Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π», подходящий для вашСго прилоТСния. Π²
Π² случаС, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ здСсь, ΠΌΡ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² число Π²
ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» [0.0, 5,0). ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, это Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ распрСдСлСнныС числа - числа
числа, Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΊ 0, с Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ числа, Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΊ 0,5, ΠΈΠ»ΠΈ числа, Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΊ 1,0.

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ список. (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ
с Π»Π΅Π½ΠΈΠ²Ρ‹ΠΌ ΠΎΠ±Π΅Ρ‰Π°Π½ΠΈΠ΅ΠΌ, поэтому ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ сначала ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ‚ΠΈΠΏΠ° списка.)

 cards = list (range (52)) # Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ числа [0 .. 51]
                         # прСдставляСт ΠΊΠΎΠ»ΠΎΠ΄Ρƒ ΠΊΠ°Ρ€Ρ‚.rng.shuffle (cards) # ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ΄Ρƒ
 

12.1.1. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ тСстированиС

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

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

 drng = случайный.Random (123) # Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ с извСстным Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ состояниСм
 

Π­Ρ‚ΠΎΡ‚ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ способ создания Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° случайных чисСл Π΄Π°Π΅Ρ‚ явноС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ число
Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. Π‘Π΅Π· этого Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° систСма, вСроятно, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ основанноС
Π²ΠΎ врСмя. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Π²Π·ΡΡ‚ΡŒ нСсколько случайных чисСл ΠΈΠ· drng сСгодня, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅
Ρ‚ΠΎΡ‡Π½ΠΎ такая ΠΆΠ΅ случайная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈ Π·Π°Π²Ρ‚Ρ€Π°!

12.1.2. Π‘ΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΡˆΠ°Ρ€Ρ‹ ΠΈΠ· мСшков, Π±Ρ€ΠΎΡΠ°Ρ‚ΡŒ кости, Ρ‚Π°ΡΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ΄Ρƒ ΠΊΠ°Ρ€Ρ‚

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создания списка, содСрТащСго n случайных чисСл ΠΌΠ΅ΠΆΠ΄Ρƒ
ниТняя ΠΈ вСрхняя Π³Ρ€Π°Π½ΠΈΡ†Ρ‹:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12 
 случайный ΠΈΠΌΠΏΠΎΡ€Ρ‚

def make_random_ints (число, ниТняя_ Π³Ρ€Π°Π½ΠΈΡ†Π°, вСрхняя_ Π³Ρ€Π°Π½ΠΈΡ†Π°):
   "" "
     Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ список, содСрТащий число случайных чисСл Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ lower_bound
     ΠΈ upper_bound.upper_bound - это открытая Π³Ρ€Π°Π½ΠΈΡ†Π°.
   "" "
   rng = random.Random () # Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл
   Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = []
   для i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (число):
      result.append (rng.randrange (ниТняя_ Π³Ρ€Π°Π½ΠΈΡ†Π°, вСрхняя_ привязка))
   Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
 
 >>> make_random_ints (5, 1, 13) # Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ 5 случайных Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² мСсяцСв
[8, 1, 8, 5, 6]
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Часто это
Ρ…ΠΎΡ‚Π΅Π», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ссли ΠΌΡ‹ бросим ΠΊΡƒΠ±ΠΈΠΊ ΠΏΡΡ‚ΡŒ Ρ€Π°Π·, ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ
Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹.

Но Ρ‡Ρ‚ΠΎ, Ссли Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹? Если Π±Ρ‹ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ 5 Ρ€Π°Π·Π½Ρ‹Ρ… мСсяцСв,
Ρ‚ΠΎΠ³Π΄Π° этот Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π΅Π²Π΅Ρ€Π΅Π½.Π’ этом случаС Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ - ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ
список возмоТностСй, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°ΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΈ Π²Ρ‹Ρ€Π΅ΠΆΡŒΡ‚Π΅ Π½ΡƒΠΆΠ½ΠΎΠ΅ количСство элСмСнтов:

 xs = list (range (1,13)) # Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ список 1..12 (Π½Π΅Ρ‚ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ²)
rng = random.Random () # Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл
rng.shuffle (xs) # ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ список
result = xs [: 5] # Π‘Π΅Ρ€Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡΡ‚ΡŒ элСмСнтов
 

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

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Β«ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒ ΠΈ Ρ€Π°Π·Ρ€Π΅Π·Π°Ρ‚ΡŒΒ» Π±Ρ‹Π» Π±Ρ‹ Π½Π΅ Ρ‚Π°ΠΊ Ρ…ΠΎΡ€ΠΎΡˆ, Ссли Π±Ρ‹
Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ всСго нСсколько элСмСнтов, Π½ΠΎ ΠΈΠ· ΠΎΡ‡Π΅Π½ΡŒ большого Π΄ΠΎΠΌΠ΅Π½Π°.
ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡΡ‚ΡŒ чисСл ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎ дСсяти ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π±Π΅Π· Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ².
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ списка ΠΈΠ· дСсяти ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² элСмСнтов, Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ отсСчСниС
ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡΡ‚ΡŒ Π±Ρ‹Π»ΠΈ Π±Ρ‹ катастрофой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ! Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20 
 ΠΈΠΌΠΏΠΎΡ€Ρ‚ случайный

def make_random_ints_no_dups (число, ниТняя_ Π³Ρ€Π°Π½ΠΈΡ†Π°, вСрхняя_ Π³Ρ€Π°Π½ΠΈΡ†Π°):
   "" "
     Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ список, содСрТащий число случайных чисСл ΠΌΠ΅ΠΆΠ΄Ρƒ
     lower_bound ΠΈ upper_bound.upper_bound - это открытая Π³Ρ€Π°Π½ΠΈΡ†Π°.
     Бписок Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ².
   "" "
   Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = []
   rng = random.Random ()
   для i Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (число):
        Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ True:
            ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ = rng.randrange (ниТняя_ Π³Ρ€Π°Π½ΠΈΡ†Π°, вСрхняя_ привязка)
            Ссли ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ Π½Π΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅:
                ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²
        result.append (ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚)
   Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

xs = make_random_ints_no_dups (5, 1, 10000000)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Ρ…Π·)
 

Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ 5 случайных чисСл Π±Π΅Π· Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ²:

 [3344629, 1735163, 9433892, 1081511, 40]
 

Π”Π°ΠΆΠ΅ Ρƒ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ свои ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ.ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Π²
этот случай?

 xs = make_random_ints_no_dups (10, 1, 6)
 

12.2. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Когда ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π±ΠΎΠ»Π΅Π΅ слоТными Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, СстСствСнный
бСспокойство: «эффСктивСн Π»ΠΈ наш ΠΊΠΎΠ΄?Β» Один ΠΈΠ· способов ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ - ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ врСмя,
ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±Π΅Ρ€ΡƒΡ‚. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ часы, которая рСкомСндуСтся
для этого.ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° вызываСтся часы, ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.
ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ, сколько сСкунд ΠΏΡ€ΠΎΡˆΠ»ΠΎ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° запуска вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ часы ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, скаТСм t0,
нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ. Π—Π°Ρ‚Π΅ΠΌ послС выполнСния Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅
снова часы (Π½Π° этот Ρ€Π°Π· ΠΌΡ‹ сохраним Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ t1). Различия
t1-t0 - это врСмя, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅Π΅ с Π½Π°Ρ‡Π°Π»Π°, ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Ρ‚ΠΎΠ³ΠΎ, насколько быстро выполняСтся ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ нСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€.Python ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ суммы, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
элСмСнты Π² спискС. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свои собствСнныС. Как ΠΌΡ‹ Π΄ΡƒΠΌΠ°Π΅ΠΌ, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ
Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ? ΠœΡ‹ попытаСмся ΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список [0, 1, 2 ...] Π² ΠΎΠ±ΠΎΠΈΡ… случаях, ΠΈ
сравнитС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21 Π³ΠΎΠ΄
22 
 врСмя ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°

def do_my_sum (Ρ…Π·):
    сумма = 0
    для v в xs:
        сумма + = v
    сумма Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°

sz = 10000000 # ΠŸΡƒΡΡ‚ΡŒ Π² спискС Π±ΡƒΠ΄Π΅Ρ‚ 10 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² элСмСнтов
testdata = Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (sz)

t0 = врСмя.Часы()
my_result = do_my_sum (тСстовыС Π΄Π°Π½Π½Ρ‹Π΅)
t1 = time.clock ()
print ("my_result = {0} (Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ врСмя = {1: .4f} сСкунд)"
        .format (my_result, t1-t0))

t2 = time.clock ()
ΠΈΡ…_Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = сумма (тСстовыС Π΄Π°Π½Π½Ρ‹Π΅)
t3 = time.clock ()
print ("their_result = {0} (Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ врСмя = {1: .4f} сСкунд)"
        .format (ΠΈΡ…_Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, t3-t2))
 

На достаточно скромном Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

 my_sum = 49999995000000 (Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ врСмя = 1,5567 сСкунды)
ΠΈΡ…_сумма = 49999995000000 (Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ врСмя = 0.9897 сСкунд)
 

Π˜Ρ‚Π°ΠΊ, наша функция Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 57% ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ встроСнная.
ГСнСрация ΠΈ суммированиС дСсяти ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² элСмСнтов ΠΌΠ΅Π½Π΅Π΅ Ρ‡Π΅ΠΌ Π·Π° сСкунду - это Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ ΠΏΠ»ΠΎΡ…ΠΎ!

12,3. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ содСрТит матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ
ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ (sin, cos, sqrt, asin, log, log10) ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ матСматичСскиС константы
ΠΊΠ°ΠΊ ΠΏΠΈ ΠΈ Π΅:

 >>> ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ
>>> math.pi # ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎΠ΅ число ΠΏΠΈ
3.1415589793
>>> math.e # ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Π°Ρ основа Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΠ°
2,718281828459045
>>> math.sqrt (2.0) # Ѐункция извлСчСния ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня
1,4142135623730951
>>> math.radians (90) # ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ 90 градусов Π² Ρ€Π°Π΄ΠΈΠ°Π½Ρ‹
1,5707963267948966
>>> math.sin (math.radians (90)) # Найти Π³Ρ€Π΅Ρ… 90 градусов
1.0
>>> math.asin (1.0) * 2 # Π£Π΄Π²ΠΎΠΉΡ‚Π΅ arcsin 1.0, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ число ΠΏΠΈ
3,1415589793
 

Как ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π²ΠΎ всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования, ΡƒΠ³Π»Ρ‹ Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ…
Π° Π½Π΅ стСпСни.Π•ΡΡ‚ΡŒ Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: Ρ€Π°Π΄ΠΈΠ°Π½Ρ‹ ΠΈ градусы.
ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ этими двумя популярными способами измСрСния ΡƒΠ³Π»ΠΎΠ².

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ этим ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ ΠΈ нашим использованиСм random ΠΈ turtle:
Π² random ΠΈ turtle ΠΌΡ‹ создаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ
ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ состояниС - Ρ‡Π΅Ρ€Π΅ΠΏΠ°Ρ…Π° ΠΈΠΌΠ΅Π΅Ρ‚ Ρ†Π²Π΅Ρ‚, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈ Ρ‚. Π΄.,
ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ опрСдСляСт Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ «чистыми» ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ состояния - вычислСниС ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня ΠΈΠ·
2.0 Π½Π΅ зависит ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ состояния ΠΈΠ»ΠΈ истории Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ происходило Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ.
Π˜Ρ‚Π°ΠΊ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° -
это просто Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сгруппированы Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ math.

12,4. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ собствСнных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ

ВсС, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ для создания Π½Π°ΡˆΠΈΡ… собствСнных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, - это ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ наш скрипт ΠΊΠ°ΠΊ
Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .py. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎ этот скрипт
сохранСн ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ seqtools.py:

 def remove_at (pos, seq):
    return seq [: pos] + seq [pos + 1:]
 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ наш ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΊΠ°ΠΊ Π² сцСнариях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ пишСм, Ρ‚Π°ΠΊ ΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅ Python.Для этого ΠΌΡ‹
сначала Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.

 >>> ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ инструмСнты seqtools
>>> s = "Π‘Ρ‚Ρ€ΠΎΠΊΠ°!"
>>> seqtools.remove_at (4, с)
'Π–Π°Π»ΠΎ!'
 

ΠœΡ‹ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° .py, ΠΊΠΎΠ³Π΄Π°
ΠΈΠΌΠΏΠΎΡ€Ρ‚. Python ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Python Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° .py,
поэтому Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° .

ИспользованиС ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ позволяСт Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ большиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π°
управляСмыС ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ части ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ связанныС части ΠΎΡΡ‚Π°Π²Π°Π»ΠΈΡΡŒ вмСстС.

12,5. ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π° ΠΈΠΌΠ΅Π½

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΠ΅Π½ - это Π½Π°Π±ΠΎΡ€ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ…
ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ (ΠΈ, ΠΊΠ°ΠΊ ΠΌΡ‹ вскорС ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Π² классах). Π’ Ρ†Π΅Π»ΠΎΠΌ,
Π½Π°ΠΌ нравится, Ρ‡Ρ‚ΠΎΠ±Ρ‹ пространство ΠΈΠΌΠ΅Π½ содСрТало «связанныС» Π²Π΅Ρ‰ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ всС матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ всС
Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ со случайными числами.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ собствСнноС пространство ΠΈΠΌΠ΅Π½, поэтому ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ имя ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π²
нСсколько ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ.

 # Module1.Ρ€Ρƒ

question = "Π’ Ρ‡Π΅ΠΌ смысл ΠΆΠΈΠ·Π½ΠΈ, ВсСлСнной ΠΈ всСго ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ?"
answer = 42
 
 # Module2.py

question = "Каков ваш квСст?"
answer = "Π˜ΡΠΊΠ°Ρ‚ΡŒ Бвятой Π“Ρ€Π°Π°Π»ΡŒ."
 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π° модуля ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ вопросам ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ…:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ1
import module2

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (module1.question)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (module2.question)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (module1.ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ)
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (module2.answer)
 

Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

 Π’ Ρ‡Π΅ΠΌ смысл ΠΆΠΈΠ·Π½ΠΈ, ВсСлСнной ΠΈ всСго ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ?
Какой Ρƒ вас квСст?
42
Π˜ΡΠΊΠ°Ρ‚ΡŒ Бвятой Π“Ρ€Π°Π°Π»ΡŒ.
 

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ свои собствСнныС пространства ΠΈΠΌΠ΅Π½:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14 
 def f ():
    ΠΏ = 7
    print ("ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ n Π²Π½ΡƒΡ‚Ρ€ΠΈ f:", n)

def g ():
    n = 42
    print ("ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ n Π²Π½ΡƒΡ‚Ρ€ΠΈ g:", n)

ΠΏ = 11
print ("ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ n ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ f:", n)
f ()
print ("ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ n послС Π²Ρ‹Π·ΠΎΠ²Π° f:", n)
Π³Ρ€Π°ΠΌΠΌ()
print ("ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ n послС Π²Ρ‹Π·ΠΎΠ²Π° g:", n)
 

Запуск этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

 ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ n ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ f: 11
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ n Π²Π½ΡƒΡ‚Ρ€ΠΈ f: 7
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ n послС Π²Ρ‹Π·ΠΎΠ²Π° f: 11
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ n Π²Π½ΡƒΡ‚Ρ€ΠΈ g: 42
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ n послС Π²Ρ‹Π·ΠΎΠ²Π° g: 11
 

Π’Ρ€ΠΈ "n" здСсь Π½Π΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… находится Π² Ρ€Π°Π·Π½Ρ‹Ρ…
пространство ΠΈΠΌΠ΅Π½ - это Ρ‚Ρ€ΠΈ ΠΈΠΌΠ΅Π½ΠΈ для Ρ‚Ρ€Π΅Ρ… Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ ΠΈ
ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, ΠΈ всС ΠΎΠ½ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Β«Π‘Ρ€ΡŽΡΒ».

ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π° ΠΈΠΌΠ΅Π½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ нСскольким программистам Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π±Π΅Π·
ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ ΠΈΠΌΠ΅Π½.

12,6. ΠŸΡ€Π°Π²ΠΈΠ»Π° области дСйствия ΠΈ поиска

ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° - это ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ
ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

Π’ Python Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Π²Π°ΠΆΠ½Ρ‹Ρ… области:

  • Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости относится ΠΊ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ
    Π² пространствС ΠΈΠΌΠ΅Π½, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈ каТдая функция ΠΈΠΌΠ΅Π΅Ρ‚ собствСнноС пространство ΠΈΠΌΠ΅Π½.
  • Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ относится ΠΊΠΎ всСм ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹ΠΌ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Π΅.
  • ВстроСнная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости относится ΠΊΠΎ всСм ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌ, встроСнным Π² Python, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈ
    min, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π· нСобходимости ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ (ΠΏΠΎΡ‡Ρ‚ΠΈ) всСгда доступны.

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

 Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ опрСдСлСния (n):
    Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ 123 * n

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ (10))
 

Π§Ρ‚ΠΎ пСчатаСтся? ΠœΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π½Π°ΡˆΡƒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ range, поэтому здСсь
Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π΄Π²ΡƒΡΠΌΡ‹ΡΠ»Π΅Π½Π½ΠΎΡΡ‚ΡŒ. Когда ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π² Π²ΠΈΠ΄Ρƒ наш собствСнный,
ΠΈΠ»ΠΈ встроСнный? Π­Ρ‚ΠΎ опрСдСляСт использованиС ΠΏΡ€Π°Π²ΠΈΠ» поиска Π² области видимости: наши собствСнныС
вызываСтся функция range, Π° Π½Π΅ встроСнная, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ наша функция range
находится Π² глобальном пространствС ΠΈΠΌΠ΅Π½, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π°Π΄ встроСнными ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, хотя ΠΈΠΌΠ΅Π½Π° Π²Ρ€ΠΎΠ΄Π΅ range ΠΈ min встроСны, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Β«ΡΠΊΡ€Ρ‹Ρ‚ΡŒΒ».
ΠΎΡ‚ вашСго использования, Ссли Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ свои собствСнныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚
эти ΠΈΠΌΠ΅Π½Π°. (Π­Ρ‚ΠΎ сбиваСт с Ρ‚ΠΎΠ»ΠΊΡƒ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ встроСнных ΠΈΠΌΠ΅Π½ - Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ
Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ программист, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° области видимости ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ
Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ нСприятныС Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²ΡƒΡ‚ Π·Π°ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ, ΠΈ Ρ‚ΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡ… ΠΈΠ·Π±Π΅Π³Π°Π΅Ρ‚Π΅!)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТный ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 n = 10
ΠΌ = 3
def f (n):
   ΠΌ = 7
   Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ 2 * n + m

print (f (5), n, m)
 

Π­Ρ‚ΠΎ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ 17 10 3.ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ m ΠΈ n Π² строках 1 ΠΈ 2
находятся Π²Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² глобальном пространствС ΠΈΠΌΠ΅Π½. Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ n ΠΈ m ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° врСмя выполнСния f . Π­Ρ‚ΠΈ
создаСтся Π² локальном пространствС ΠΈΠΌΠ΅Π½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ f. Π’ Ρ‚Π΅Π»Π΅ f ΠΏΡ€Π°Π²ΠΈΠ»Π° поиска Π² области видимости
ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ m ΠΈ n. Напротив, послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ Π²Π΅Ρ€Π½ΡƒΠ»ΠΈΡΡŒ ΠΈΠ· f,
Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ n ΠΈ m Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ относятся ΠΊ исходным ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ
Π² строках 1 ΠΈ 2, ΠΈ ΠΎΠ½ΠΈ Π½ΠΈΠΊΠΎΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ f.

Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ def ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ здСсь имя f Π² глобальноС пространство ΠΈΠΌΠ΅Π½. Π’Π°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ
ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΠ» ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ 7.

Каков объСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ n Π² строкС 1? Π•Π³ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±Ρ‹ - Ρ€Π΅Π³ΠΈΠΎΠ½, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ находится.
Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ - это строки 1, 2, 6, 7. Он скрыт ΠΎΡ‚ просмотра Π² строках 3, 4, 5 ΠΈΠ·-Π·Π°
локальная пСрСмСнная n.

12,7. Атрибуты ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚ΠΎΡ‡ΠΊΠΈ

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ модуля, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ модуля.
ΠœΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΅ΡΡ‚ΡŒ
Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ __doc__, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ __annotations__.Доступ ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ‚ΠΎΡ‡ΠΊΠ° (.). Атрибут вопроса
доступа ΠΊ module1 ΠΈ module2 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ module1.question ΠΈ
module2.question.

ΠœΠΎΠ΄ΡƒΠ»ΠΈ содСрТат Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚ΠΎΡ‡ΠΊΠΈ.
Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ доступ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. seqtools.remove_at относится ΠΊ
remove_at Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ seqtools.

Когда ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ имя, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ, ΠΌΡ‹ часто ссылаСмся Π½Π° Π½Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π½Π° ΠΏΠΎΠ»Π½ΠΎΠ΅ имя ,
ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ вопроса ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π² Π²ΠΈΠ΄Ρƒ.

12,8. Π’Ρ€ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° заявлСния ΠΎΠ± ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅

Π’ΠΎΡ‚ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способа ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ пространство ΠΈΠΌΠ΅Π½ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…:

 ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°
Ρ… = math.sqrt (10)
 

Π—Π΄Π΅ΡΡŒ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ пространству ΠΈΠΌΠ΅Π½ добавляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ матСматичСский ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅
ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ модуля, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΡƒΡŽ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ Π½Π΅Π΅.

Π’ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ располоТСниС:

 ΠΈΠ· math import cos, sin, sqrt
Ρ… = sqrt (10)
 

ИмСна Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ нСпосрСдствСнно Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ пространство ΠΈΠΌΠ΅Π½ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±Π΅Π· уточнСния.НазваниС
math сам ΠΏΠΎ сСбС Π½Π΅ импортируСтся, поэтому ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ math.sqrt ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС.

Π’ΠΎΠ³Π΄Π° Ρƒ нас Π΅ΡΡ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ сокращСниС:

 from math import * # Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΈΠ· math,
                     # добавляСм ΠΈΡ… Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ пространство ΠΈΠΌΠ΅Π½.
x = sqrt (10) # Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ… Π±Π΅Π· ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.
 

Из этих Ρ‚Ρ€Π΅Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½
ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·.Π₯отя ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Π΅Ρ‰ΠΈ
ΠΊΠΎΡ€ΠΎΡ‡Π΅, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ:

 >>> ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ ΠΊΠ°ΠΊ m
>>> m.pi
3,1415589793
 

Но ΠΏΠΎΡΠ»ΡƒΡˆΠ°ΠΉΡ‚Π΅, с Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ с Π°Π²Ρ‚ΠΎΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ быстрыми ΠΏΠ°Π»ΡŒΡ†Π°ΠΌΠΈ,
это нСбольшая Ρ†Π΅Π½Π°!

НаконСц, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° этот случай:

 ΠΎΠ±Π»Π°ΡΡ‚ΡŒ опрСдСлСния (радиус):
    импортная ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°
    Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ math.pi * radius * radius

Ρ… = ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°.sqrt (10) # Π’Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ
 

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ, Π½ΠΎ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π΅Π΅ Π² локальноС пространство ΠΈΠΌΠ΅Π½ области.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, имя ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚Π΅Π»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ Π½Π΅ Π²ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΌ скриптС,
ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² глобальноС пространство ΠΈΠΌΠ΅Π½.

12.9. ΠŸΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚Π΅ тСстСр вашСго устройства Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ

Π‘Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ Π³Π»Π°Π²Ρ‹ 6 (ΠŸΠ»ΠΎΠ΄ΠΎΡ‚Π²ΠΎΡ€Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ) ΠΌΡ‹ прСдставили ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС ΠΈ наш собствСнный тСст.
Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈ Π²Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹
написал тСсты.Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π΅Π³ΠΎ
собствСнный, скаТСм unit_tester.py, ΠΈ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ вмСсто этого ΠΎΠ΄Π½Ρƒ строку Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΌ скриптС:

 ΠΈΠ· тСста ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° unit_tester
 

12.10. Глоссарий

Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚
ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ, опрСдСлСнная Π²Π½ΡƒΡ‚Ρ€ΠΈ модуля (ΠΈΠ»ΠΈ класса ΠΈΠ»ΠΈ экзСмпляра - ΠΊΠ°ΠΊ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ
ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅). Доступ ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ модуля осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΡ‡ΠΊΠΈ
ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€
(.).
ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚ΠΎΡ‡ΠΊΠΈ
ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚ΠΎΡ‡ΠΊΠΈ (.) Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ доступ ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ ΠΈ функциям
ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (ΠΈΠ»ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса ΠΈΠ»ΠΈ экзСмпляра - ΠΊΠ°ΠΊ ΠΌΡ‹
Π²ΠΈΠ΄Π΅Π» Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС).
полноС имя
Имя, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π΅ΡΡ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° пространства ΠΈΠΌΠ΅Π½ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΈΠ»ΠΈ
с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°-экзСмпляра, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ math.sqrt ΠΈΠ»ΠΈ tess.forward (10).
импортная Π²Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒ

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, содСрТащиСся Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅, доступными для
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅. Π•ΡΡ‚ΡŒ Π΄Π²Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ для ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°
ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅.ИспользованиС гипотСтичСских ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ mymod1 ΠΈ mymod2
ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ содСрТит
Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ f1 ΠΈ f2, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ v1 ΠΈ v2, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹
ΠΈΠ· этих Π΄Π²ΡƒΡ… Ρ„ΠΎΡ€ΠΌ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ mymod1
ΠΈΠ· mymod2 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ f1, f2, v1, v2
 

Вторая Ρ„ΠΎΡ€ΠΌΠ° пСрСносит ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² пространство ΠΈΠΌΠ΅Π½
ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ пСрвая Ρ„ΠΎΡ€ΠΌΠ° сохраняСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ
пространство ΠΈΠΌΠ΅Π½ для ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ модуля, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅Π΅ доступа ΠΊ mymod1.v1
пСрСмСнная v1 ΠΈΠ· этого модуля.

ΠΌΠ΅Ρ‚ΠΎΠ΄

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ (Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ) Π½Π°
ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚ΠΎΡ‡ΠΊΠΈ. НапримСр:

 >>> s = "это строка."
>>> s.upper ()
«ЭВО БВРОКА».
>>>
 

ΠœΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ upper вызываСтся для строки s.
s - нСявно ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ для upper.

ΠΌΠΎΠ΄ΡƒΠ»ΡŒ
Π€Π°ΠΉΠ», содСрТащий опрСдСлСния ΠΈ инструкции Python, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для использования Π²
Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python.Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ модуля доступно для
другая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°.
пространство ΠΈΠΌΠ΅Π½
БинтаксичСский ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ контСкст для ΠΈΠΌΠ΅Π½, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ
name ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… пространствах ΠΈΠΌΠ΅Π½ Π±Π΅Π· двусмыслСнности. Π’ Python
ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, классы, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ - всС ΠΎΠ½ΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ пространства ΠΈΠΌΠ΅Π½.
коллизия имСн

Битуация, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄Π²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈΠΌΠ΅Π½ Π² Π΄Π°Π½Π½ΠΎΠΌ пространствС ΠΈΠΌΠ΅Π½ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ
ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ

вмСсто

ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΈΠΌΠ΅Π½.

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

12.11. УпраТнСния

  1. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ справку для модуля калСндаря.

    1. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

       ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°
      cal = ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ.TextCalendar () # Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ экзСмпляр
      cal.pryear (2012) # Π§Ρ‚ΠΎ здСсь происходит?
       
    2. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ нСдСля начинаСтся Π² понСдСльник. ΠžΡ‚Π²Π°ΠΆΠ½Ρ‹ΠΉ студСнт CompSci
      считаСт, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ свою нСдСлю с Π½Π°Ρ‡Π°Π»Π° Π½Π΅Π΄Π΅Π»ΠΈ.
      Π§Π΅Ρ‚Π²Π΅Ρ€Π³, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ³Π΄Π° Π΄ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… всСго Π΄Π²Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… дня, ΠΈ
      ΠΊΠ°ΠΆΠ΄ΡƒΡŽ нСдСлю Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π² посСрСдинС. ΠŸΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ для TextCalendar,
      ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π΅ΠΌΡƒ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт Π΅Π³ΠΎ потрСбностям.

    3. НайдитС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³ΠΎ мСсяца, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π² этом Π³ΠΎΠ΄Ρƒ Π²Ρ‹ΠΏΠ°Π΄Π°Π΅Ρ‚ ваш дСнь роТдСния.

    4. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ это:

       d = calendar.LocaleTextCalendar (6, Β«Π˜Π‘ΠŸΠΠΠ‘ΠšΠ˜Π™Β»)
      d.pryear (2012)
       

      ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ нСсколько Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΈ посмотритС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚.

    5. ΠŸΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ с calendar.isleap. Π§Π΅Π³ΠΎ ΠΎΠ½ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΊΠ°ΠΊ
      Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚? Π§Ρ‚ΠΎ ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅? Π§Ρ‚ΠΎ это Π·Π° функция?

    Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ записи ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΈΠ· этих ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ.

  2. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ справку ΠΏΠΎ матСматичСскому ΠΌΠΎΠ΄ΡƒΠ»ΡŽ.

    1. Бколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² матСматичСском ΠΌΠΎΠ΄ΡƒΠ»Π΅?
    2. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ math.ceil? А ΠΊΠ°ΠΊ насчСт math.floor? (Подсказка : ΠΎΠ±Π°
      floor ΠΈ ceil ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.)
    3. ΠžΠΏΠΈΡˆΠΈΡ‚Π΅, ΠΊΠ°ΠΊ ΠΌΡ‹ вычисляли Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ math.sqrt.
      Π±Π΅Π· использования матСматичСского модуля.
    4. КакиС Π΄Π²Π΅ константы Π΄Π°Π½Π½Ρ‹Ρ… Π² матСматичСском ΠΌΠΎΠ΄ΡƒΠ»Π΅?

    Π—Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ записи вашСго расслСдования Π² этом ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ.

  3. ΠžΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ копирования. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ deepcopy
    Π΄Π΅Π»Π°Ρ‚ΡŒ? Π’ ΠΊΠ°ΠΊΠΈΡ… упраТнСниях ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π³Π»Π°Π²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ deepcopy
    ΡƒΠ΄ΠΎΠ±Π½ΠΎ?

  4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ mymodule1.py. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ myage, установлСнныС Π²
    ваш Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ возраст ΠΈ Π³ΠΎΠ΄, установлСнный Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π³ΠΎΠ΄. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½
    ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ mymodule2.py. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ myage, Ρ€Π°Π²Π½Ρ‹Π΅ 0, ΠΈ
    Π“ΠΎΠ΄ установлСн Π½Π° Π³ΠΎΠ΄ вашСго роТдСния. Π’Π΅ΠΏΠ΅Ρ€ΡŒ создайтС Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ
    namespace_test.py. Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΎΠ±Π° модуля Π²Ρ‹ΡˆΠ΅ ΠΈ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅
    ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ выписка:

     ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ((mymodule2.myage - mymodule1.myage) ==
           (mymodule2.year - mymodule1.year))
     

    Когда Π²Ρ‹ запуститС namespace_test.py, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π»ΠΈΠ±ΠΎ True, Π»ΠΈΠ±ΠΎ
    Π›ΠΎΠΆΡŒ Π² качСствС Π²Ρ‹Π²ΠΎΠ΄Π° Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π±Ρ‹Π»ΠΈ Π»ΠΈ Ρƒ вас ΡƒΠΆΠ΅
    дСнь роТдСния Π² этом Π³ΠΎΠ΄Ρƒ.

    Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ
    Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ myage ΠΈ Π³ΠΎΠ΄. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ находятся Π² Ρ€Π°Π·Π½Ρ‹Ρ… пространствах ΠΈΠΌΠ΅Π½,
    ΠΎΠ½ΠΈ Π½Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Когда ΠΌΡ‹ пишСм namespace_test.py, ΠΌΡ‹
    ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Π³ΠΎΠ΄ ΠΈΠ»ΠΈ ΠΌΠΎΠΉ возраст ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π² Π²ΠΈΠ΄Ρƒ.

  5. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π² mymodule1.py, mymodule2.py ΠΈ
    namespace_test.py ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ упраТнСния:

     print («МСня Π·ΠΎΠ²ΡƒΡ‚Β», __name__)
     

    ЗапуститС namespace_test.py. Π§Ρ‚ΠΎ происходит? ΠŸΠΎΡ‡Π΅ΠΌΡƒ? Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π²
    Π²Π½ΠΈΠ·Ρƒ mymodule1.py:

     Ссли __name__ == "__main__":
        print ("Π­Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ссли я ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½.")
     

    ЗапуститС mymodule1.py ΠΈ снова namespace_test.py. Π’ ΠΊΠ°ΠΊΠΎΠΌ случаС Ρ‚Ρ‹
    ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ?

  6. Π’ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ Python / ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

    Π§Ρ‚ΠΎ Π’ΠΈΠΌ ΠŸΠ΅Ρ‚Π΅Ρ€Ρ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ пространствах ΠΈΠΌΠ΅Π½?

  7. Π”Π°ΠΉΡ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠ·
    нСпрСрывная сСссия ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ°:

     >>> s = "Если Π±Ρ‹ ΠΌΡ‹ Π²Ρ‹Π½ΡƒΠ»ΠΈ кости, ΠΎΠ½ΠΈ Π½Π΅ Π±Ρ‹Π»ΠΈ Π±Ρ‹ хрустящими, Π½Π΅ Ρ‚Π°ΠΊ Π»ΠΈ?"
    >>> с.Ρ€Π°ΡΠΊΠΎΠ»ΠΎΡ‚ΡŒ()
    >>> Ρ‚ΠΈΠΏ (s.split ())
    >>> s.split ("ΠΎ")
    >>> s.split ("i")
    >>> "0" .join (s.split ("o"))
     

    Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ
    научился Π·Π°ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚Π΅Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½ΠΈΠΆΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ
    ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ соСдинСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² str:

     def myreplace (старый, Π½ΠΎΠ²Ρ‹ΠΉ, s):
        "" "Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС вхоТдСния старого Π½Π° Π½ΠΎΠ²ΠΎΠ΅ Π² s." ""
        ...
    
    
    test (myreplace (",", ";", "Ρ‚ΠΎ, Ρ‚ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅") ==
                             "это; Ρ‚ΠΎ; ΠΈ Π΅Ρ‰Π΅ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ")
    test (myreplace ("", "**",
                     "Π‘Π»ΠΎΠ²Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π·Π²Π΅Π·Π΄Π°ΠΌΠΈ.") ==
                     Β«Π‘Π»ΠΎΠ²Π° ** Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ** Π±ΡƒΠ΄ΡƒΡ‚ ** Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒΡΡ ** ** Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ°ΠΌΠΈΒ»)
     

    Π’Π°ΡˆΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ тСсты.

  8. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ wordtools.py с нашими тСстовыми каркасами Π½Π° мСстС.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊ этим тСстам:

     тСст (чистоС слово ("Ρ‡Ρ‚ΠΎ?") == "Ρ‡Ρ‚ΠΎ")
    test (cleanword ("'сСйчас!'") == "сСйчас")
    test (cleanword ("? + = 'w-o-r-d!, @ $ ()'") == "word")
    
    test (has_dashdash ("расстояниС - Π½ΠΎ"))
    тСст (Π½Π΅ has_dashdash ("нСсколько"))
    тСст (has_dashdash ("Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»--"))
    test (has_dashdash ("расстояниС - Π½ΠΎ"))
    тСст (Π½Π΅ has_dashdash ("- ΠΉΠΎ-ΠΉΠΎ-"))
    
    test (extract_words ("БСйчас врСмя! 'БСйчас', врСмя? Π”Π°, сСйчас.") ==
          ['сСйчас', 'Π΅ΡΡ‚ΡŒ', 'Ρ‚ΠΎ', 'врСмя', 'сСйчас', 'Π΅ΡΡ‚ΡŒ', 'Ρ‚ΠΎ', 'врСмя', 'Π΄Π°', 'сСйчас'])
    test (extract_words ("ΠΎΠ½Π° ΠΏΡ‹Ρ‚Π°Π»Π°ΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ рСвСранс, ΠΏΠΎΠΊΠ° Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»Π° - ΠΏΡ€ΠΈΡ‡ΡƒΠ΄Π»ΠΈΠ²ΠΎ") ==
          ['ΠΎΠ½Π°', 'ΠΏΡ‹Ρ‚Π°Π»Π°ΡΡŒ', 'ΠΊ', 'рСвСранс', 'ΠΊΠ°ΠΊ', 'ΠΎΠ½Π°', 'Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»Π°', 'ΠΏΡ€ΠΈΡ‡ΡƒΠ΄Π»ΠΈΠ²ΠΎ'])
    
    test (wordcount («сСйчас», [«сСйчас», Β«Π΅ΡΡ‚ΡŒΒ», «врСмя», Β«Π΅ΡΡ‚ΡŒΒ», «сСйчас», Β«Π΅ΡΡ‚ΡŒΒ», Β«Π΅ΡΡ‚ΡŒΒ»]) == 2)
    test (wordcount ("is", ["now", "is", "time", "is", "now", "the", "is"]) == 3)
    test (wordcount («врСмя», [«сСйчас», Β«Π΅ΡΡ‚ΡŒΒ», «врСмя», Β«Π΅ΡΡ‚ΡŒΒ», «сСйчас», Β«Π΅ΡΡ‚ΡŒΒ», Β«Π΅ΡΡ‚ΡŒΒ»]) == 1)
    test (wordcount (Β«Π»ΡΠ³ΡƒΡˆΠΊΠ°Β», [«сСйчас», Β«Π΅ΡΡ‚ΡŒΒ», «врСмя», Β«Π΅ΡΡ‚ΡŒΒ», «сСйчас», Β«Π΅ΡΡ‚ΡŒΒ», Β«Π΅ΡΡ‚ΡŒΒ»]) == 0)
    
    test (wordset ([«сСйчас», Β«Π΅ΡΡ‚ΡŒΒ», «врСмя», Β«Π΅ΡΡ‚ΡŒΒ», «сСйчас», Β«Π΅ΡΡ‚ΡŒΒ», Β«Π΅ΡΡ‚ΡŒΒ»]) ==
          [Β«Π΅ΡΡ‚ΡŒΒ», «сСйчас», «врСмя»])
    test (wordset (["Π―", "a", "a", "is", "a", "is", "I", "am"]) ==
          [Β«Π―Β», Β«Π°Β», Β«Π΅ΡΡ‚ΡŒΒ», Β«Π΅ΡΡ‚ΡŒΒ»])
    test (wordset (["or", "a", "am", "is", "are", "be", "but", "am"]) ==
          [Β«Π°Β», «я», Β«Π΅ΡΡ‚ΡŒΒ», Β«Π±Ρ‹Ρ‚ΡŒΒ», Β«Π½ΠΎΒ», Β«Π΅ΡΡ‚ΡŒΒ», Β«ΠΈΠ»ΠΈΒ»])
    
    тСст (Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ слово (["Π°", "яблоко", "Π³Ρ€ΡƒΡˆΠ°", "Π²ΠΈΠ½ΠΎΠ³Ρ€Π°Π΄"]) == 5)
    test (longestword (["a", "am", "I", "be"]) == 2)
    test (longestword (["это", "supercalifragilisticexpialidocious"]) == 34)
    тСст (Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ слово ([]) == 0)
     

    Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ этот ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ содСрТащиСся Π² Π½Π΅ΠΌ инструмСнты Π² Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ….

ВсС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ - настоящий Python

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ всС ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Python math . ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ вычислСния - Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ Python. НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Π½Π°Π΄ Π½Π°ΡƒΡ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Π½Π°Π΄ финансовым ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π½Π°Π΄ Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π²ΠΈΠ΄ΠΎΠΌ программирования, Π²Π°ΠΌ просто Π½Π΅ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ.

Для простых матСматичСских вычислСний Π² Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ , Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ слоТСниС ( + ), Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ (–), Π΄Π΅Π»Π΅Π½ΠΈΠ΅ (/) ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ( * ). .Но Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅, логарифмичСскиС, тригономСтричСскиС ΠΈΠ»ΠΈ стСпСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ встроСны. ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π»ΠΈ это, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с нуля?

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Π½Π΅Ρ‚. Python прСдоставляСт ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ для матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ высокого уровня: ΠΌΠΎΠ΄ΡƒΠ»ΡŒ math .

К ΠΊΠΎΠ½Ρ†Ρƒ этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅:

  • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Python math
  • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля math для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡
  • КакиС константы модуля math , Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΈ, Ρ‚Π°Ρƒ ΠΈ число Π­ΠΉΠ»Π΅Ρ€Π°
  • Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ встроСнными функциями ΠΈ функциями math
  • Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ math , cmath ΠΈ NumPy:

Π—Π΄Π΅ΡΡŒ Π²Π°ΠΌ пригодится матСматичСский ΠΎΠΏΡ‹Ρ‚, Π½ΠΎ Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡ‚Π΅ΡΡŒ, Ссли ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° Π½Π΅ ваша сильная сторона.Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ основы всСго, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ.

Π˜Ρ‚Π°ΠΊ, приступим!

Знакомство с Python

math ΠœΠΎΠ΄ΡƒΠ»ΡŒ

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Python math - ваТная функция, прСдназначСнная для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с матСматичСскими опСрациями. Он поставляСтся Π² стандартной вСрсии Python ΠΈ Π±Ρ‹Π» Ρ‚Π°ΠΌ с самого Π½Π°Ρ‡Π°Π»Π°. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ модуля math ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ‚ΠΎΠ½ΠΊΠΈΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ матСматичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ C.ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΅Π³ΠΎ основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ написаны Π½Π° CPython, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ math эффСктивСн ΠΈ соотвСтствуСт стандарту C.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Python math ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ матСматичСскиС вычислСния Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π’ΠΎΡ‚ нСсколько практичСских ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ модуля math :

  • ВычислСниС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ ΠΈ пСрСстановок с использованиСм Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»ΠΎΠ²
  • РасчСт высоты столба с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ тригономСтричСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
  • РасчСт Ρ€Π°Π΄ΠΈΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ распада с использованиСм ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  • РасчСт ΠΊΡ€ΠΈΠ²ΠΎΠΉ подвСсного моста с использованиСм гипСрболичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
  • РСшСниС ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ
  • ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ пСриодичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Π΅ ΠΈ свСтовыС Π²ΠΎΠ»Π½Ρ‹, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ тригономСтричСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ math Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав вСрсии Python, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.ИспользованиС - это просто ΠΈΠΌΠΏΠΎΡ€Ρ‚ модуля:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Python math , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. ПослС ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сразу ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ модуля

math

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

  • Пи
  • Π’Π°Ρƒ
  • Число Π­ΠΉΠ»Π΅Ρ€Π°
  • Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ
  • НС число (NaN)

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ константах ΠΈ ​​о Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅ Python.

Пи

Пи (Ο€) - это ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ окруТности ( c ) ΠΊ Π΅Π΅ Π΄ΠΈΠ°ΠΌΠ΅Ρ‚Ρ€Ρƒ ( d ):

Ο€ = с / Π΄

Π­Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ всСгда ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ для любого ΠΊΡ€ΡƒΠ³Π°.

Пи - это ΠΈΡ€Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ число , Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ нСльзя Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ простой Π΄Ρ€ΠΎΠ±ΡŒΡŽ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρƒ ΠΏΠΈ бСсконСчноС количСство дСсятичных Π·Π½Π°ΠΊΠΎΠ², Π½ΠΎ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π²Π½ΠΎ 22/7 ΠΈΠ»ΠΈ 3,141.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚: Пи - самая признанная ΠΈ извСстная матСматичСская константа Π² ΠΌΠΈΡ€Π΅. Π£ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ своя собствСнная Π΄Π°Ρ‚Π° празднования, называСмая Π”Π½Π΅ΠΌ Пи, которая приходится Π½Π° 14 ΠΌΠ°Ρ€Ρ‚Π° (3/14).

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ pi ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

>>>

  >>> ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚.Пи
3,1415589793
  

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, число ΠΏΠΈ Π² Python даСтся с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ пятнадцати дСсятичных Π·Π½Π°ΠΊΠΎΠ². ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ прСдоставлСнных Ρ†ΠΈΡ„Ρ€ зависит ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ компилятора C. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Python ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚ΡŒ Ρ†ΠΈΡ„Ρ€, Π° math.pi всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.

Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊΠΎΠ²Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· способов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π΅Π½? Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ окруТности, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ 2Ο€ r , Π³Π΄Π΅ r - радиус окруТности:

>>>

  >>> r = 3
>>> ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ = 2 * ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°.ΠΏΠΈ * Ρ€
>>> f "ΠžΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΡ€ΡƒΠ³Π° = 2 * {math.pi: .4} * {r} = {ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ: .4}"
'ΠžΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΡ€ΡƒΠ³Π° = 2 * 3,142 * 3 = 18,85'
  

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ math.pi для вычислСния Π΄Π»ΠΈΠ½Ρ‹ окруТности. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΊΡ€ΡƒΠ³Π° ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ Ο€ r Β² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

>>>

  >>> r = 5
>>> ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ = math.pi * r * r
>>> f "ΠŸΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΊΡ€ΡƒΠ³Π° = {math.pi: .4} * {r} * {r} = {area: .4}"
'ΠŸΠ»ΠΎΡ‰Π°Π΄ΡŒ ΠΊΡ€ΡƒΠ³Π° = 3.142 * 5 * 5 = 78,54 '
  

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ math.pi для вычислСния ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΈ ΠΈ Π΄Π»ΠΈΠ½Ρ‹ окруТности. Когда Π²Ρ‹ выполняСтС матСматичСскиС вычислСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python ΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ο€, рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΈ, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ math , вмСсто ТСсткого кодирования значСния.

Π’Π°Ρƒ

Π’Π°Ρƒ (Ο„) - ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ окруТности ΠΊ Π΅Π΅ радиусу. Π­Ρ‚Π° константа Ρ€Π°Π²Π½Π° 2Ο€, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 6,28. Как ΠΈ ΠΏΠΈ, Ρ‚Π°Ρƒ - ΠΈΡ€Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ число, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ просто ΠΏΠΈ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π½Π° Π΄Π²Π°.

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… матСматичСских выраТСниях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 2Ο€, ΠΈ использованиС Ρ‚Π°Ρƒ вмСсто этого ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ваши уравнСния. НапримСр, вмСсто вычислСния Π΄Π»ΠΈΠ½Ρ‹ окруТности с 2Ο€ r ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ tau ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ простоС ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ο„ r .

Однако использованиС Ρ‚Π°Ρƒ Π² качСствС постоянной окруТности всС Π΅Ρ‰Π΅ обсуТдаСтся. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ свободно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 2Ο€ ΠΈΠ»ΠΈ Ο„ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Ρƒ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

>>>

  >>> ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚.Ρ‚Π°Ρƒ
6,283185307179586
  

Как ΠΈ math.pi , math.tau Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚ΡŒ Ρ†ΠΈΡ„Ρ€ ΠΈ являСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Ρƒ для вычислСния Π΄Π»ΠΈΠ½Ρ‹ окруТности с Ο„ r , Π³Π΄Π΅ r - радиус, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

>>>

  >>> r = 3
>>> ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ = math.tau * r
>>> f "ΠžΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΡ€ΡƒΠ³Π° = {math.tau: .4} * {r} = {ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ: .4}"
'ΠžΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΡ€ΡƒΠ³Π° = 6,283 * 3 = 18,85'
  

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ math.tau вмСсто 2 * math.pi , Ρ‡Ρ‚ΠΎΠ±Ρ‹ привСсти Π² порядок уравнСния, содСрТащиС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ 2Ο€.

Число Π­ΠΉΠ»Π΅Ρ€Π°

Число Π­ΠΉΠ»Π΅Ρ€Π° ( e ) - это константа, ΡΠ²Π»ΡΡŽΡ‰Π°ΡΡΡ основаниСм Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΠ° , матСматичСской Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для расчСта скорости роста ΠΈΠ»ΠΈ спада. Как ΠΈ Π² случаС с ΠΏΠΈ ΠΈ Ρ‚Π°Ρƒ, число Π­ΠΉΠ»Π΅Ρ€Π° - ΠΈΡ€Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ число с бСсконСчным числом дСсятичных Π·Π½Π°ΠΊΠΎΠ². Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ e часто ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π²Π½ΠΎ 2,718.

Число Π­ΠΉΠ»Π΅Ρ€Π°

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

>>>

  >>> math.e
2,718281828459045
  

Как ΠΈ math.pi ΠΈ math.tau , Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ math.e даСтся с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ пятнадцати дСсятичных Π·Π½Π°ΠΊΠΎΠ² ΠΈ возвращаСтся ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.

Π‘Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ

Π‘Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° числом. Π‘ΠΊΠΎΡ€Π΅Π΅, это матСматичСская концСпция, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ бСсконСчноС ΠΈΠ»ΠΈ Π±Π΅Π·Π³Ρ€Π°Π½ΠΈΡ‡Π½ΠΎΠ΅.Π‘Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ΄Ρ‚ΠΈ Π² любом Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ, ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ , ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. ЗначСния ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ бСсконСчности Π² Python ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

>>>

  >>> f "ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ = {math.inf}"
'ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ = Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ'
>>> f "ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ = {-math.inf}"
'ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ = -inf'
  

Π‘Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ Π½Π΅ являСтся числовым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.ВмСсто этого ΠΎΠ½ опрСдСляСтся ΠΊΠ°ΠΊ math.inf . Python прСдставил эту константу Π² вСрсии 3.5 ΠΊΠ°ΠΊ эквивалСнт float ("inf") :

.
>>>

  >>> float ("inf") == math.inf
ΠŸΡ€Π°Π²Π΄Π°
  

И float ("inf") , ΠΈ math.inf ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ бСсконСчности, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ math.inf большС любого числового значСния:

>>>

  >>> x = 1e308
>>> math.inf> x
ΠŸΡ€Π°Π²Π΄Π°
  

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ math.inf большС, Ρ‡Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x , 10 308 (ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся числом с Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ -math.inf мСньшС любого значСния:

>>>

  >>> y = -1e308
>>> y> -math.inf
ΠŸΡ€Π°Π²Π΄Π°
  

ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ мСньшС значСния y , Ρ‡Ρ‚ΠΎ составляСт -10 308 . НикакоС число Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ большС ΠΈΠ»ΠΈ мСньшС ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ бСсконСчности.Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с math.inf Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ бСсконСчности:

>>>

  >>> math.inf + 1e308
ΠΈΠ½Ρ„
>>> math.inf / 1e308
ΠΈΠ½Ρ„
  

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π½ΠΈ слоТСниС, Π½ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ math.inf .

НС число (NaN)

НС число ΠΈΠ»ΠΈ NaN, Π½Π° самом Π΄Π΅Π»Π΅, Π½Π΅ являСтся матСматичСским понятиСм. Он Π²ΠΎΠ·Π½ΠΈΠΊ Π² области ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΊΠ°ΠΊ ссылка Π½Π° значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ числовыми.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NaN ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано с нСдопустимыми Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ пСрСмСнная, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ числовым, Π±Ρ‹Π»Π° ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½Π° тСкстовыми символами ΠΈΠ»ΠΈ символами.

ВсСгда рСкомСндуСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, являСтся Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NaN. Если это Ρ‚Π°ΠΊ, Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ нСдопустимым значСниям Π² вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Python прСдставил константу NaN Π² вСрсии 3.5.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ math.nan Π½ΠΈΠΆΠ΅:

NaN Π½Π΅ являСтся числовым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ math.nan - это nan , Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ float ("nan") .

АрифмСтичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ВСория чисСл - это Ρ€Π°Π·Π΄Π΅Π» чистой ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹Π΅ числа. ВСория чисСл ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ с ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈΠ»ΠΈ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Python math прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ чисСл, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ прСдставлСний , связанной области. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ряд Π²Π°ΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

  • Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Ρ‹ числа
  • Наибольший ΠΎΠ±Ρ‰ΠΈΠΉ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ Π΄Π²ΡƒΡ… чисСл
  • Π‘ΡƒΠΌΠΌΠ° ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ

НайдитС Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python

factorial ()

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ встрСчали матСматичСскиС выраТСния Π²Ρ€ΠΎΠ΄Π΅ 7! ΠΈΠ»ΠΈ 4! ΠΏΠ΅Ρ€Π΅Π΄.Π’ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ числа Π²Π·Π²ΠΎΠ»Π½ΠΎΠ²Π°Π½Ρ‹. Π‘ΠΊΠΎΡ€Π΅Π΅, "!" - это Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» , символ . Π€Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ поискС пСрСстановок ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» числа, ΡƒΠΌΠ½ΠΎΠΆΠΈΠ² всС Ρ†Π΅Π»Ρ‹Π΅ числа ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ числа Π΄ΠΎ 1.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ значСния Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π° для 4, 6 ΠΈ 7:

Π‘ΠΈΠΌΠ²ΠΎΠ» Π‘Π»ΠΎΠ²Π°ΠΌΠΈ Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
4! Π§Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π° 4 Ρ… 3 Ρ… 2 Ρ… 1 24
6! Π¨Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»ΠΎΠ² 6 Ρ… 5 Ρ… 4 Ρ… 3 Ρ… 2 Ρ… 1 720
7! БСмь Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» 7 Ρ… 6 Ρ… 5 Ρ… 4 Ρ… 3 Ρ… 2 Ρ… 1 5040

Из Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ 4 !, ΠΈΠ»ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ…Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π», Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 24 ΠΏΡƒΡ‚Π΅ΠΌ умноТСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΎΡ‚ 4 Π΄ΠΎ 1.Аналогично 6! ΠΈ 7! Π΄Π°ΡŽΡ‚ значСния 720 ΠΈ 5040 соотвСтствСнно.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² Python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… инструмСнтов:

  1. для ΠΏΠ΅Ρ‚Π΅Π»ΡŒ
  2. РСкурсивныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  3. math.factorial ()

Π‘Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹ рассмотрим Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ с использованиСм Ρ†ΠΈΠΊΠ»Π° для . Π­Ρ‚ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простой ΠΏΠΎΠ΄Ρ…ΠΎΠ΄:

  def fact_loop (число):
    Ссли число <0:
        Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 0
    Ссли num == 0:
        Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 1

    Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» = 1
    для i в диапазонС (1, num + 1):
        Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» = Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» * я
    Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π°
  

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π».Π­Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТно, Π½ΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ элСгантно, Ρ‡Π΅ΠΌ использованиС Ρ†ΠΈΠΊΠ»Π° для . Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  def fact_recursion (число):
    Ссли число <0:
        Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 0
    Ссли num == 0:
        Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 1

    return num * fact_recursion (число - 1)
  

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’ Python сущСствуСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ рСкурсии, Π½ΠΎ эта Ρ‚Π΅ΠΌΠ° Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Ρ€Π°ΠΌΠΊΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для цикличСских ΠΈ рСкурсивных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ :

>>>

  >>> fact_loop (7)
5040

>>> fact_recursion (7)
5040
  

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹, ΠΈΡ… Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹.

Однако рСализация собствСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для получСния Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π° числа Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ нСэффСктивно. Π›ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ math.factorial () . Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» числа с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ math.factorial () :

.
>>>

  >>> math.factorial (7)
5040
  

Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ объСмом ΠΊΠΎΠ΄Π°.

factorial () ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ†Π΅Π»Ρ‹Π΅ числа.Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ввСсти ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ValueError :

>>>

  >>> math.factorial (-5)
ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "", строка 1, Π² 
ValueError: factorial () Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ для ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
  

Π’Π²ΠΎΠ΄ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС ValueError ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ factorial (), Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ для ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ .

factorial () Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ дСсятичныС числа.Π­Ρ‚ΠΎ даст Π²Π°ΠΌ ValueError :

>>>

  >>> math.factorial (4.3)
ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "", строка 1, Π² 
ValueError: factorial () ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ значСния
  

Π’Π²ΠΎΠ΄ дСсятичного значСния ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкС ValueError ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ factorial () ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Π΅ значСния .

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ врСмя выполнСния для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ timeit () :

>>>

  >>> ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½ΠΎΠ΅ врСмя
>>> timeit.timeit ("fact_loop (10)", globals = globals ())
1,063997201999996

>>> timeit.timeit ("fact_recursion (10)", globals = globals ())
1,815312818999928

>>> timeit.timeit ("math.factorial (10)", setup = "import math")
0,10671788000001925
  

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΡˆΠ΅ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ timeit () для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Ρ„Π°ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

timeit () выполняСт ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ сравниваСтся врСмя выполнСния Ρ‚Ρ€Π΅Ρ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

Π’ΠΈΠΏ Π‘Ρ€ΠΎΠΊ исполнСния
Π‘ пСтлями 1.0640 с
Π‘ рСкурсиСй 1,8153 с
Π‘ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»ΠΎΠΌ () 0,1067 с

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, factorial () быстрСС, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Π­Ρ‚ΠΎ ΠΈΠ·-Π·Π° Π΅Π³ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ C. ΠœΠ΅Ρ‚ΠΎΠ΄, основанный Π½Π° рСкурсии, самый ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ· Ρ‚Ρ€Π΅Ρ…. Π₯отя Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚Π°ΠΉΠΌΠΈΠ½Π³ΠΈ Π² зависимости ΠΎΡ‚ вашСго CPU , порядок Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ.

factorial () Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ быстрСС, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½ΠΎ ΠΈ Π±ΠΎΠ»Π΅Π΅ стабилСн. Когда Π²Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚Π΅ свою ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ явно ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ случаСв бСдствия , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ дСсятичных чисСл. Одна ошибка Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам. Но ΠΏΡ€ΠΈ использовании factorial () Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ случаях катастрофы, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ функция ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡ… всС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ рСкомСндуСтся ΠΏΠΎ возмоТности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ factorial () .

НайдитС максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ

ceil ()

math.ceil () Π²Π΅Ρ€Π½Π΅Ρ‚ наимСньшСС цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ числу. Если число являСтся ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ дСсятичным числом, функция Π²Π΅Ρ€Π½Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

НапримСр, Π²Ρ…ΠΎΠ΄ 5,43 Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 6, Π° Π²Ρ…ΠΎΠ΄ -12,43 Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ -12. math.ceil () ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Когда Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ceil () , ΠΎΠ½ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ число:

>>>

  >>> math.ceil (6)
6
>>> math.ceil (-11)
-11
  

math.ceil () всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ссли Π½Π° Π²Ρ…ΠΎΠ΄Π΅ Π·Π°Π΄Π°Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΡΡ‚ΠΈΠ½Π½ΡƒΡŽ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ ceil () , Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ввСсти дСсятичныС значСния:

>>>

  >>> math.ceil (4.23)
5
>>> math.ceil (-11,453)
-11
  

Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ (4.23), функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Ρ†Π΅Π»ΠΎΠ΅ число, большСС значСния (5). Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ (-11,453), функция Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Ρ†Π΅Π»ΠΎΠ΅ число, большСС значСния (-11).

Ѐункция Π²Π΅Ρ€Π½Π΅Ρ‚ TypeError , Ссли Π²Ρ‹ Π²Π²Π΅Π΄Π΅Ρ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ являСтся числом:

>>>

  >>> math.ceil ("x")
ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "", строка 1, Π² 
TypeError: Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число, Π° Π½Π΅ str
  

Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ввСсти число Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ввСсти любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ TypeError .

НайдитС ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ с

этаТом ()

floor () Π²Π΅Ρ€Π½Π΅Ρ‚ блиТайшСС цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ числу. Π­Ρ‚Π° функция Π²Π΅Π΄Π΅Ρ‚ сСбя ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎ ceil () . НапримСр, Π²Π²ΠΎΠ΄ 8,72 Π²Π΅Ρ€Π½Π΅Ρ‚ 8, Π° Π²Π²ΠΎΠ΄ -12,34 Π²Π΅Ρ€Π½Π΅Ρ‚ -13. floor () ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Если ввСсти цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, функция Π²Π΅Ρ€Π½Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

>>>

  >>> math.floor (4)
4
>>> math.floor (-17)
-17
  

Как ΠΈ Π² случаС с ceil () , ΠΊΠΎΠ³Π΄Π° Π²Ρ…ΠΎΠ΄ для floor () являСтся Ρ†Π΅Π»Ρ‹ΠΌ числом, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ΅ число. Π’Ρ‹Π²ΠΎΠ΄ отличаСтся ΠΎΡ‚ Π²Π²ΠΎΠ΄Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ дСсятичных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

>>>

  >>> math.floor (5.532)
5
>>> math.floor (-6.432)
-7
  

Когда Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ дСсятичноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (5.532), ΠΎΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ блиТайшСС Ρ†Π΅Π»ΠΎΠ΅ число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ мСньшС Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ числа (5). Если Π²Ρ‹ Π²Π²Π΅Π΄Π΅Ρ‚Π΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число (-6,432), ΠΎΠ½ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ наимСньшСС цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (-7).

Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ввСсти Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ΡΡ числом, функция Π²Π΅Ρ€Π½Π΅Ρ‚ TypeError :

>>>

  >>> math.floor ("x")
ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "", строка 1, Π² 
TypeError: Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число, Π° Π½Π΅ str
  

Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ нСчисловыС значСния Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для ceil () .Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС TypeError .

Π£ΡΠ΅Ρ‡ΡŒ числа с усСчСниСм

()

Когда Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ число с дСсятичной Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄Π΅ΡΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ. Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ math Π΅ΡΡ‚ΡŒ функция trunc () , которая позволяСт Π²Π°ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ это.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ дСсятичного значСния - это Ρ‚ΠΈΠΏ округлСния. ΠŸΡ€ΠΈ использовании trunc () ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа всСгда ΠΎΠΊΡ€ΡƒΠ³Π»ΡΡŽΡ‚ΡΡ Π² Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ сторону Π΄ΠΎ нуля, Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа всСгда ΠΎΠΊΡ€ΡƒΠ³Π»ΡΡŽΡ‚ΡΡ Π² ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ сторону Π΄ΠΎ нуля.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ функция trunc () округляСт ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа:

>>>

  >>> math.trunc (12.32)
12
>>> math.trunc (-43,24)
-43
  

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, 12,32 округляСтся Π²Π½ΠΈΠ· Π΄ΠΎ 0, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ 12. Π’Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ -43,24 округляСтся Π²Π²Π΅Ρ€Ρ… Π΄ΠΎ 0, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ -43. trunc () всСгда округляСтся Π΄ΠΎ нуля нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ числами trunc () Π²Π΅Π΄Π΅Ρ‚ сСбя Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ floor () :

>>>

  >>> ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚.trunc (12.32) == math.floor (12.32)
ΠŸΡ€Π°Π²Π΄Π°
  

trunc () Π²Π΅Π΄Π΅Ρ‚ сСбя Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ floor () для ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл. Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Π΅ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ числами trunc () Π²Π΅Π΄Π΅Ρ‚ сСбя Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ceil () :

>>>

  >>> math.trunc (-43.24) == math.ceil (-43.24)
ΠŸΡ€Π°Π²Π΄Π°
  

Если число ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, floor () Π²Π΅Π΄Π΅Ρ‚ сСбя Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ceil () .Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния ΠΎΠ±Π΅ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹.

НайдитС Π±Π»ΠΈΠ·ΠΎΡΡ‚ΡŒ чисСл с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python

isclose ()

Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ситуациях - особСнно Π² области Π½Π°ΡƒΠΊΠΈ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… - Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π±Π»ΠΈΠ·ΠΊΠΈ Π»ΠΈ Π΄Π²Π° числа Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ. Но для этого сначала Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π²Π°ΠΆΠ½Ρ‹ΠΉ вопрос: ΠΊΠ°ΠΊ Π±Π»ΠΈΠ·ΠΊΠΎ Ρ€Π°Π²Π½ΠΎ Π±Π»ΠΈΠ·ΠΊΠΎ ? Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΊΠ°ΠΊΠΎΠ²ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ слова Β«Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΒ»?

Π§Ρ‚ΠΎ ΠΆ, ΠœΠ΅Ρ€Ρ€ΠΈΠ°ΠΌ-ВСбстСр скаТСт Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ Π±Π»ΠΈΠ·ΠΎΡΡ‚ΡŒ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«Π±Π»ΠΈΠ·ΠΎΡΡ‚ΡŒ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, пространствС, эффСктС ΠΈΠ»ΠΈ градусС».«НС ΠΎΡ‡Π΅Π½ΡŒ-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΡ€Π°Π²Π΄Π°?

НапримСр, Π²ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ чисСл: 2.32, 2.33 ΠΈ 2.331. Когда Π²Ρ‹ измСряСтС Π±Π»ΠΈΠ·ΠΎΡΡ‚ΡŒ ΠΏΠΎ Π΄Π²ΡƒΠΌ дСсятичным Π·Π½Π°ΠΊΠ°ΠΌ, 2,32 ΠΈ 2,33 Π±Π»ΠΈΠ·ΠΊΠΈ. Но Π½Π° самом Π΄Π΅Π»Π΅ 2.33 ΠΈ 2.331 Π±Π»ΠΈΠΆΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π±Π»ΠΈΠ·ΠΎΡΡ‚ΡŒ - понятиС ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅. НСвозмоТно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±Π»ΠΈΠ·ΠΎΡΡ‚ΡŒ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ ΠΏΠΎΡ€ΠΎΠ³Π°.

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ math прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ isclose () , которая позволяСт Π²Π°ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свой собствСнный ΠΏΠΎΡ€ΠΎΠ³, ΠΈΠ»ΠΈ допуск для близости.Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True , Ссли Π΄Π²Π° числа находятся Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… установлСнного Π²Π°ΠΌΠΈ допуска близости, ΠΈ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ False .

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ Π΄Π²Π° числа, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ допуски ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

  • ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ допуск ΠΈΠ»ΠΈ rel_tol - это максимальная Ρ€Π°Π·Π½ΠΈΡ†Π°, которая считаСтся Β«Π±Π»ΠΈΠ·ΠΊΠΎΠΉΒ» ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ толСрантности. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ - 1e-09 ΠΈΠ»ΠΈ 0,000000001.
  • ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ допуск ΠΈΠ»ΠΈ abs_tol - это максимальная Ρ€Π°Π·Π½ΠΈΡ†Π°, которая считаСтся Β«Π±Π»ΠΈΠ·ΠΊΠΎΠΉΒ», нСзависимо ΠΎΡ‚ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ - 0,0.

isclose () Π²Π΅Ρ€Π½Π΅Ρ‚ True , Ссли выполняСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ условиС:

абс (a-b) <= max (rel_tol * max (abs (a), abs (b)), abs_tol).

isclose ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для опрСдСлСния близости Π΄Π²ΡƒΡ… чисСл. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ свои собствСнныС значСния ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Π±Π»ΠΈΠ·ΠΊΠΈ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄Π²Π° числа.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ случаС 6 ΠΈ 7 Π½Π΅ Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ :

>>>

  >>> ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚.isclose (6, 7)
Π›ΠΎΠΆΡŒ
  

Π¦ΠΈΡ„Ρ€Ρ‹ 6 ΠΈ 7 Π½Π΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π±Π»ΠΈΠ·ΠΊΠΈΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ допуск установлСн для дСвяти дСсятичных Π·Π½Π°ΠΊΠΎΠ². Но Ссли Π²Ρ‹ Π²Π²Π΅Π΄Π΅Ρ‚Π΅ 6.999999999 ΠΈ 7 с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ допуском, Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ Π±Π»ΠΈΠ·ΠΊΠΈΠΌΠΈ:

>>>

  >>> math.isclose (6.999999999, 7)
ΠŸΡ€Π°Π²Π΄Π°
  

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 6.999999999 находится Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… дСвяти дСсятичных Π·Π½Π°ΠΊΠΎΠ² 7. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, исходя ΠΈΠ· ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ допуска ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, 6.999999999 ΠΈ 7 ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π±Π»ΠΈΠ·ΠΊΠΈΠΌΠΈ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ допуск, ΠΊΠ°ΠΊ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… потрСбностСй. Если ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для rel_tol Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0,2, Ρ‚ΠΎ 6 ΠΈ 7 ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π±Π»ΠΈΠ·ΠΊΠΈΠΌΠΈ:

>>>

  >>> math.isclose (6, 7, rel_tol = 0.2)
ΠŸΡ€Π°Π²Π΄Π°
  

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ 6 ΠΈ 7 ΡƒΠΆΠ΅ Π±Π»ΠΈΠ·ΠΊΠΈ. Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ находятся Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… 20% Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°.

Как ΠΈ Π² случаС с rel_tol , Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ abs_tol Π² соотвСтствии с вашими потрСбностями. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ Π±Π»ΠΈΠ·ΠΊΠΈΠΌΠΈ, Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ значСниями Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ допуска.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ abs_tol ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

>>>

  >>> math.isclose (6, 7, abs_tol = 1.0)
ΠŸΡ€Π°Π²Π΄Π°
>>> math.isclose (6, 7, abs_tol = 0,2)
Π›ΠΎΠΆΡŒ
  

Когда Π²Ρ‹ устанавливаСтС Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ допуск Π½Π° 1, числа 6 ΠΈ 7 Π±Π»ΠΈΠ·ΠΊΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Ρ€Π°Π²Π½Π° Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΌΡƒ допуску. Однако Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ 6 ΠΈ 7 Π½Π΅ мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Π° установлСнному Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΌΡƒ допуску 0,2.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ abs_tol для ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

>>>

  >>> ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚.isclose (1, 1.0000001, abs_tol = 1e-08)
Π›ΠΎΠΆΡŒ
>>> math.isclose (1, 1.00000001, abs_tol = 1e-08)
ΠŸΡ€Π°Π²Π΄Π°
  

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±Π»ΠΈΠ·ΠΎΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… чисСл с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ isclose . НСсколько особых случаСв, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΡ…ΡΡ близости, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с использованиСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ nan ΠΈ inf :

>>>

  >>> math.isclose (math.nan, 1e308)
Π›ΠΎΠΆΡŒ
>>> math.isclose (math.nan, math.nan)
Π›ΠΎΠΆΡŒ

>>> math.isclose (math.inf, 1e308)
Π›ΠΎΠΆΡŒ
>>> math.isclose (math.inf, math.inf)
ΠŸΡ€Π°Π²Π΄Π°
  

Из ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ nan Π½Π΅ Π±Π»ΠΈΠ·ΠΊΠΎ Π½ΠΈ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, Π΄Π°ΠΆΠ΅ самому сСбС. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, inf Π½Π΅ Π±Π»ΠΈΠ·ΠΎΠΊ Π½ΠΈ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ числовым значСниям, Π΄Π°ΠΆΠ΅ ΠΊ ΠΎΡ‡Π΅Π½ΡŒ большим, Π° Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ сСбС .

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ питания

Ѐункция мощности ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ любоС число x Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ x Π΄ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стСпСни n ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ x n Π² качСствС Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….ΠœΠΎΠ΄ΡƒΠ»ΡŒ Python math прСдоставляСт нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, связанных с ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ. Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ стСпСнных функциях, ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… функциях ΠΈ функциях извлСчСния ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня.

Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ числа с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ

pow ()

Π‘Ρ‚Π΅ΠΏΠ΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ, Π³Π΄Π΅ пСрСмСнная x - это основаниС , пСрСмСнная n - это ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ , Π° a ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой константой :

БтСпСнная функция

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ основания x Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΎ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ n .

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ math.pow () , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ числа. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ встроСнная функция pow () , которая отличаСтся ΠΎΡ‚ math.pow () . Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΏΠΎΠ·ΠΆΠ΅ Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅.

math.pow () ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°:

>>>

  >>> math.pow (2, 5)
32,0
>>> math.pow (5, 2.4)
47,5
46789696

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ - это Π±Π°Π·ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ - это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ мощности.Π’ качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ†Π΅Π»ΠΎΠ΅ ΠΈΠ»ΠΈ дСсятичноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ функция всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой. Π•ΡΡ‚ΡŒ нСсколько особых случаСв, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π² math.pow () .

Когда основаниС 1 возводится Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ любого числа n, это Π΄Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ 1.0:

>>>

  >>> math.pow (1.0, 3)
1.0
  

Когда Π²Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚Π΅ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1 Π΄ΠΎ любого значСния мощности, Π²Ρ‹ всСгда ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ 1,0 Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅. Аналогично, любоС Π±Π°Π·ΠΎΠ²ΠΎΠ΅ число, Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ 0, Π΄Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ 1.0:

>>>

  >>> math.pow (4, 0.0)
1.0
>>> math.pow (-4, 0,0)
1.0
  

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, любоС число, Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ 0, даст Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ 1.0. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ этот Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Π΄Π°ΠΆΠ΅ Ссли Π±Π°Π·Π° Ρ€Π°Π²Π½Π° Π½Π°Π½ :

>>>

  >>> math.pow (math.nan, 0,0)
1.0
  

Π’ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ нуля Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ любого ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ числа даст Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ 0,0:

>>>

  >>> math.pow (0.0, 2)
0,0
>>> math.pow (0,0, 2,3)
0,0
  

Но Ссли Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ возвСсти 0,0 Π² ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ValueError :

>>>

  >>> math.pow (0,0, -2)
ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "", строка 1, Π² 
ValueError: ошибка матСматичСского Π΄ΠΎΠΌΠ΅Π½Π°
  

ValueError Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° основаниС Ρ€Π°Π²Π½ΠΎ 0. Если основаниС - любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ число, ΠΊΡ€ΠΎΠΌΠ΅ 0, Ρ‚ΠΎΠ³Π΄Π° функция Π²Π΅Ρ€Π½Π΅Ρ‚ допустимоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ мощности.

Помимо math.pow () , Π² Python Π΅ΡΡ‚ΡŒ Π΄Π²Π° встроСнных способа опрСдСлСния стСпСни числа:

  1. Ρ… ** Ρƒ
  2. pow ()

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ прост. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΡƒΠΆΠ΅ использовали Π΅Π³ΠΎ Ρ€Π°Π· ΠΈΠ»ΠΈ Π΄Π²Π°. Π’ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния опрСдСляСтся Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ:

>>>

  >>> 3 ** 2
9
>>> 2 ** 3,3
9,84

06759329

Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ†Π΅Π»Ρ‹Π΅ числа, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ цСлочислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ дСсятичныС значСния, Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния измСняСтся Π½Π° дСсятичноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ - ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ встроСнная функция. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ. ВстроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ pow () ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°:

  1. Π‘Π°Π·Π° Π½ΠΎΠΌΠ΅Ρ€
  2. ΠœΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€
  3. ΠœΠΎΠ΄ΡƒΠ»ΡŒ упругости Π½ΠΎΠΌΠ΅Ρ€

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Π° Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ - Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти Ρ†Π΅Π»Ρ‹Π΅ ΠΈΠ»ΠΈ дСсятичныС числа, ΠΈ функция Π²Π΅Ρ€Π½Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° основС Π²Π²ΠΎΠ΄Π°:

>>>

  >>> pow (3, 2)
9
>>> pow (2, 3.3)
9,84

06759329

ВстроСнная функция pow () ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ base ΠΈ power Π² синтаксисС x ** y . pow () Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ: ΠΌΠΎΠ΄ΡƒΠ»ΡŒ . Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ. ВстроСнный pow () с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ модуля эквивалСнтСн ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ (x ** y)% z . Бинтаксис Python выглядит Ρ‚Π°ΠΊ:

>>>

  >>> pow (32, 6, 5)
4
>>> (32 ** 6)% 5 == pow (32, 6, 5)
ΠŸΡ€Π°Π²Π΄Π°
  

pow () Π²ΠΎΠ·Π²ΠΎΠ΄ΠΈΡ‚ основаниС (32) Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ (6), Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ дСлится ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ Π½Π° число модуля (5).Π’ этом случаС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π²Π΅Π½ 4. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ свои собствСнныС значСния ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈ pow () , ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π΄Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ всС Ρ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° расчСта мощности Π΄Π΅Π»Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅, ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ различия Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ВрСмя выполнСния для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

>>>

  >>> timeit.timeit ("10 ** 308")
1,0078728999942541

>>> timeit.timeit ("pow (10, 308)")
1.047615700008464

>>> timeit.timeit ("math.pow (10, 308)", setup = "import math")
0,1837239999877056
  

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ сравниваСтся врСмя выполнСния Ρ‚Ρ€Π΅Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ timeit () :

.

Π’ΠΈΠΏ Π‘Ρ€ΠΎΠΊ исполнСния
x ** y 1.0079 с
pow (x, y) 1.0476 с
math.pow (x, y) 0.1837 с

Из Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ math.pow () быстрСС, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π° встроСнный pow () - самый ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° эффСктивности math.pow () Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² способС Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Он полагаСтся Π½Π° Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ язык C. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, pow () ΠΈ x ** y ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π²Π²ΠΎΠ΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ** . Однако math.pow () Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ комплСксныС числа (Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ объяснСно Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅), Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ pow () ΠΈ ** ΠΌΠΎΠ³ΡƒΡ‚.

НайдитС Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΡƒΡŽ экспонСнту с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ

exp ()

Π’Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΎ силовых функциях Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅. Π‘ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ функциями Π΄Π΅Π»ΠΎ обстоит Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°Ρ‡Π΅. ВмСсто основания, ΡΠ²Π»ΡΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ становится ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ. Выглядит это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

ΠžΠ±Ρ‰Π°Ρ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция

Π—Π΄Π΅ΡΡŒ a ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любой константой, Π° x , ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ мощности, становится ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ особСнного Π² ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… функциях? Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ быстро растСт ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ увСличСния значСния x .Если основаниС большС 1, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ увСличиваСтся ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ увСличСния x . ОсобоС свойство ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΊΠ»ΠΎΠ½ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ увСличиваСтся ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ увСличСния x .

Π’Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΎ числС Π­ΠΉΠ»Π΅Ρ€Π° Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅. Π­Ρ‚ΠΎ основаниС Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΠ°. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ³Ρ€Π°Π΅Ρ‚ Ρ€ΠΎΠ»ΡŒ с ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ. Когда число Π­ΠΉΠ»Π΅Ρ€Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΎΠ½ΠΎ становится СстСствСнной ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ :

ЕстСствСнная ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция

Π­Ρ‚Π° функция ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹Ρ… ситуациях.Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π΅ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ рост , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ роста чСловСчСской популяции ΠΈΠ»ΠΈ скорости Ρ€Π°Π΄ΠΈΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ распада. Оба ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ вычислСны с использованиСм СстСствСнной ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Python math прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ exp () , которая позволяСт Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΡƒΡŽ экспонСнту числа. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

>>>

  >>> math.exp (21)
1318815734,4832146
>>> ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°.Π΅Ρ…Ρ€ (-1,2)
0,301194211
214

Π’Ρ…ΠΎΠ΄Π½ΠΎΠ΅ число ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, ΠΈ функция всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой. Если число Π½Π΅ являСтся числовым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ TypeError :

.
>>>

  >>> math.exp ("x")
ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "", строка 1, Π² 
TypeError: Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число, Π° Π½Π΅ str
  

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ссли Π²Π²ΠΎΠ΄ являСтся строковым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, Ρ‚ΠΎΠ³Π΄Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ TypeError , Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ числом, Π° Π½Π΅ str .

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСпСни, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ math.e ** x ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ pow (math.e, x) . ВрСмя выполнСния этих Ρ‚Ρ€Π΅Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

>>>

  >>> timeit.timeit ("math.e ** 308", setup = "import math")
0,17853009998701513

>>> timeit.timeit ("pow (math.e, 308)", setup = "import math")
0,21040189999621361

>>> timeit.timeit ("math.exp (308)", setup = "import math")
0,125878200007719
  

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ сравниваСтся врСмя выполнСния Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ timeit () :

.

Π’ΠΈΠΏ Π‘Ρ€ΠΎΠΊ исполнСния
e ** x 0.1785 с
pow (e, x) 0,2104 с
math.exp (x) 0,1259 с

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ math.exp () быстрСС, Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π° pow (e, x) - самый ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ. Π­Ρ‚ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ·-Π·Π° Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ C модуля math .

Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ e ** x ΠΈ pow (e, x) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ значСния, Π½ΠΎ exp () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.Π­Ρ‚ΠΎ связано с различиями Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Python отмСчаСтся, Ρ‡Ρ‚ΠΎ exp () Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π΅Π½, Ρ‡Π΅ΠΌ Π΄Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с

exp ()

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

Π£Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π΄ΠΈΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ распада

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ для расчСта ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π³ΠΎΡΡ количСства Ρ€Π°Π΄ΠΈΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ элСмСнта Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство Π»Π΅Ρ‚.ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

  • N (0) - Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ количСство вСщСства.
  • N (Ρ‚) - это количСство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΅Ρ‰Π΅ остаСтся ΠΈ Π΅Ρ‰Π΅ Π½Π΅ Ρ€Π°Π·Π»ΠΎΠΆΠΈΠ»ΠΎΡΡŒ ΠΏΠΎ ΠΏΡ€ΠΎΡˆΠ΅ΡΡ‚Π²ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ( Ρ‚ ).
  • T - ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ полураспада Ρ€Π°ΡΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ количСства.
  • e - число Π­ΠΉΠ»Π΅Ρ€Π°.

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

Π Π°Π΄ΠΈΠΎΠΈΠ·ΠΎΡ‚ΠΎΠΏ стронций-90 ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ полураспада 38,1 Π³ΠΎΠ΄Π°. Π’ ΠΏΡ€ΠΎΠ±Π΅ содСрТится 100 ΠΌΠ³ Sr-90. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ ΠΌΠΈΠ»Π»ΠΈΠ³Ρ€Π°ΠΌΠΌΡ‹ Sr-90 Ρ‡Π΅Ρ€Π΅Π· 100 Π»Π΅Ρ‚:

>>>

  >>> half_life = 38,1
>>> Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ = 100
>>> врСмя = 100
>>> ΠΎΡΡ‚Π°Π²ΡˆΠΈΠΉΡΡ = Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ * math.exp (-0,693 * врСмя / ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ полураспада)
>>> f "ΠžΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ количСство Sr-90: {ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ}"
Β«ΠžΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ количСство Sr-90: 16.22044604811303 '
  

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ полураспада установлСн Π½Π° 38,1, Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ установлСна ​​на 100 Π»Π΅Ρ‚. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ math.exp , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅. ΠŸΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡ значСния Π² ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‡Π΅Ρ€Π΅Π· 100 Π»Π΅Ρ‚ остаСтся 16,22 ΠΌΠ³ Sr-90.

ЛогарифмичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ЛогарифмичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ инвСрсиСй ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Они ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΠ΅:

ΠžΠ±Ρ‰Π°Ρ логарифмичСская функция

Π—Π΄Π΅ΡΡŒ a - основаниС Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ числом.Π’Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΎΠ± ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… функциях Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅. Π­ΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π² Π²ΠΈΠ΄Π΅ логарифмичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

Python Natural Log с

ΠΆΡƒΡ€Π½Π°Π»ΠΎΠΌ ()

ΠΠ°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ числа - это Π΅Π³ΠΎ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ ΠΏΠΎ основанию матСматичСской константы e , ΠΈΠ»ΠΈ числа Π­ΠΉΠ»Π΅Ρ€Π°:

ΠΠ°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Π°Ρ логарифмичСская функция

Как ΠΈ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция, Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ константу e . ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это обозначаСтся ΠΊΠ°ΠΊ f (x) = ln (x), Π³Π΄Π΅ e нСявно.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для расчСта Ρ‚Π°ΠΊΠΈΡ… Π²Π΅Π»ΠΈΡ‡ΠΈΠ½, ΠΊΠ°ΠΊ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ роста насСлСния ΠΈΠ»ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π΄ΠΈΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ распада элСмСнтов.

log () ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ - Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Π‘ ΠΎΠ΄Π½ΠΈΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ (с основаниСм e ) Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ числа:

>>>

  >>> math.log (4)
1,3862943611198906
>>> ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°.ΠΆΡƒΡ€Π½Π°Π» (3.4)
1,2237754316221157
  

Однако функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ValueError , Ссли Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π΅ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число:

>>>

  >>> math.log (-3)
ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ (послСдний Π²Ρ‹Π·ΠΎΠ² послСдний):
  Π€Π°ΠΉΠ» "", строка 1, Π² 
ValueError: ошибка матСматичСского Π΄ΠΎΠΌΠ΅Π½Π°
  

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π² log () нСльзя ввСсти ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ значСния ΠΆΡƒΡ€Π½Π°Π»Π° Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ для ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл ΠΈ нуля.

Π‘ двумя Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΠΎ основанию Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°:

>>>

  >>> ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚.ΠΆΡƒΡ€Π½Π°Π» (math.pi, 2)
1.651496129472319
>>> math.log (math.pi, 5)
0,711260668712669
  

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ измСняСтся ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π±Π°Π·Ρ‹ ΠΆΡƒΡ€Π½Π°Π»Π°.

ΠžΠ±Ρ‰ΠΈΠ΅ свСдСния ΠΎ

log2 () ΠΈ log10 ()

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Python math Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт Π΄Π²Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ значСния ΠΆΡƒΡ€Π½Π°Π»Π° с основаниСм 2 ΠΈ 10:

.

  1. log2 () ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для вычислСния значСния ΠΆΡƒΡ€Π½Π°Π»Π° ΠΏΠΎ основанию 2.
  2. log10 () ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для вычислСния значСния ΠΆΡƒΡ€Π½Π°Π»Π° ΠΏΠΎ основанию 10.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ log2 () Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π° с основаниСм 2:

>>>

  >>> math.log2 (math.pi)
1.6514961294723187
>>> math.log (math.pi, 2)
1.651496129472319
  

ОбС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Ρ†Π΅Π»ΡŒ, Π½ΠΎ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Python отмСчаСтся, Ρ‡Ρ‚ΠΎ log2 () Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π΅Π½, Ρ‡Π΅ΠΌ использованиС log (x, 2) .

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ логарифмичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа ΠΏΠΎ основанию 10 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ log10 () :

>>>

  >>> ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚.log10 (math.pi)
0,4971498726941338
>>> math.log (math.pi, 10)
0,4971498726941338
  

Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Python Ρ‚Π°ΠΊΠΆΠ΅ упоминаСтся, Ρ‡Ρ‚ΠΎ log10 () Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π΅Π½, Ρ‡Π΅ΠΌ log (x, 10) , хотя ΠΎΠ±Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Ρ†Π΅Π»ΡŒ.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΌ Π±Ρ€Π΅Π²Π½ΠΎΠΌ

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ math.exp () для вычислСния ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π³ΠΎΡΡ количСства Ρ€Π°Π΄ΠΈΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ элСмСнта Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π‘ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚.log () , Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ полураспада нСизвСстного Ρ€Π°Π΄ΠΈΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ элСмСнта, ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΠ² массу Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π». Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для расчСта ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° полураспада Ρ€Π°Π΄ΠΈΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ элСмСнта:

Π£Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π΄ΠΈΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ распада

ИзмСняя Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ Ρ€Π°Π΄ΠΈΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ распада, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ полураспада ( T ) ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

  • T - ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ полураспада Ρ€Π°ΡΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ количСства.
  • N (0) - исходноС количСство вСщСства.
  • N (Ρ‚) - это количСство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ остаСтся ΠΈ Π΅Ρ‰Π΅ Π½Π΅ Ρ€Π°Π·Π»ΠΎΠΆΠΈΠ»ΠΎΡΡŒ ΠΏΠΎ ΠΏΡ€ΠΎΡˆΠ΅ΡΡ‚Π²ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ( Ρ‚ ).
  • ln - Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ΅ Π±Ρ€Π΅Π²Π½ΠΎ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ извСстныС значСния Π² ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ для расчСта ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° полураспада Ρ€Π°Π΄ΠΈΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ вСщСства.

НапримСр, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΠ·ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Π·Π΅Ρ† Π½Π΅ΠΎΠΏΠΎΠ·Π½Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π΄ΠΈΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ элСмСнта.Когда это Π±Ρ‹Π»ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ 100 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π·Ρ†Π° составлял 100 ΠΌΠ³. ПослС 100 Π»Π΅Ρ‚ распада ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ всСго 16,22 ΠΌΠ³. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ Π²Ρ‹ΡˆΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ полураспада этого нСизвСстного элСмСнта:

>>>

  >>> Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ = 100
>>> ΠžΡΡ‚Π°Π»ΠΎΡΡŒ = 16,22
>>> врСмя = 100
>>> half_life = (-0,693 * врСмя) / math.log (ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ / Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅)
>>> f "ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ полураспада нСизвСстного элСмСнта: {half_life}"
'ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ полураспада нСизвСстного элСмСнта: 38.09942398335152'
  

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, нСизвСстный элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ полураспада ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 38.1 Π³ΠΎΠ΄. ΠžΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСизвСстный элСмСнт ΠΊΠ°ΠΊ стронций-90.

ΠŸΡ€ΠΎΡ‡ΠΈΠ΅ Π²Π°ΠΆΠ½Ρ‹Π΅

math Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Python math ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для матСматичСских вычислСний, ΠΈ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…. Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ Π²Ρ‹ ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°ΠΆΠ½Ρ‹Ρ… функциях, доступных Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ math .

Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ наибольший ΠΎΠ±Ρ‰ΠΈΠΉ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ

Наибольший ΠΎΠ±Ρ‰ΠΈΠΉ Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ (ΠΠžΠ”) Π΄Π²ΡƒΡ… ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл - это наибольшСС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Π΅Π»ΠΈΡ‚ ΠΎΠ±Π° числа Π±Π΅Π· остатка.

НапримСр, ΠΠžΠ” 15 ΠΈ 25 Ρ€Π°Π²Π½ΠΎ 5. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ 15 ΠΈ 25 Π½Π° 5 Π±Π΅Π· остатка. НСт большСго числа, Π΄Π΅Π»Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΎ ΠΆΠ΅ самоС. Если Π²Π·ΡΡ‚ΡŒ 15 ΠΈ 30, Ρ‚ΠΎ ΠΠžΠ” Π±ΡƒΠ΄Π΅Ρ‚ 15, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈ 15, ΠΈ 30 ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° 15 Π±Π΅Π· остатка.

Для расчСта GCD Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ собствСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Python math прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ math.gcd () , которая позволяСт Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΠžΠ” Π΄Π²ΡƒΡ… чисСл.Π’ качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа, ΠΈ ΠΎΠ½ Π²Π΅Ρ€Π½Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΠžΠ”. Однако Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти дСсятичноС число.

Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ сумму ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ

Если Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ сумму Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π±Π΅Π· использования Ρ†ΠΈΠΊΠ»Π°, Ρ‚ΠΎ math.fsum () , вСроятно, Π±ΡƒΠ΄Π΅Ρ‚ самым простым способом ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это. Π’ качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ массивы, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈΠ»ΠΈ списки, ΠΈ функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сумму Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ВстроСнная функция sum () Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ сумму ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, Π½ΠΎ fsum () Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Π°, Ρ‡Π΅ΠΌ sum () .ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этом ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ

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

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡƒΠ³Π»ΠΎΠ²

Π’ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… сцСнариях, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅, Π²Ρ‹ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ со случаями, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ ΡƒΠ³Π»Ρ‹ для выполнСния вычислСний.Π£Π³Π»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ Π² градусах ΠΈΠ»ΠΈ Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ…. Иногда приходится ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ градусы Π² Ρ€Π°Π΄ΠΈΠ°Π½Ρ‹ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. ΠœΠΎΠ΄ΡƒΠ»ΡŒ math прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ это Π΄Π΅Π»Π°Ρ‚ΡŒ.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ градусы Π² Ρ€Π°Π΄ΠΈΠ°Π½Ρ‹, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ math.radians () . Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ градуса Π² Ρ€Π°Π΄ΠΈΠ°Π½Π°Ρ…. Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π΄ΠΈΠ°Π½Ρ‹ Π² градусы, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ math.degrees () .

РасчСт тригономСтричСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

ВригономСтрия - это ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ².Он касаСтся ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠ³Π»Π°ΠΌΠΈ ΠΈ сторонами Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. ВригономСтрия Π² основном интСрСсуСт ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ (Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ΄ΠΈΠ½ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΡƒΠ³ΠΎΠ» Ρ€Π°Π²Π΅Π½ 90 градусам), Π½ΠΎ Π΅Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ². ΠœΠΎΠ΄ΡƒΠ»ΡŒ Python math прСдоставляСт ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ тригономСтричСскиС вычислСния.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ синуса ΡƒΠ³Π»Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ math.sin () , Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ косинуса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ math.cos () ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ тангСнса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ math.Π·Π°Π³Π°Ρ€ () . ΠœΠΎΠ΄ΡƒΠ»ΡŒ math Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для вычислСния арксинуса с math.asin () , арккосинуса с math.acos () ΠΈ арктангСнса с math.atan () . НаконСц, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π³ΠΈΠΏΠΎΡ‚Π΅Π½ΡƒΠ·Ρƒ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ math.hypot () .

НовыС дополнСния ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ

math Π² Python 3.8

Π‘ выпуском Python вСрсии 3.8 Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ math Π±Ρ‹Π»ΠΎ внСсСно нСсколько Π½ΠΎΠ²Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.НовыС дополнСния ΠΈ измСнСния Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ:

  • comb (n, k) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство способов Π²Ρ‹Π±ΠΎΡ€Π° k элСмСнтов ΠΈΠ· n элСмСнтов Π±Π΅Π· повторСния ΠΈ Π±Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ порядка .

  • perm (n, k) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство способов Π²Ρ‹Π±ΠΎΡ€Π° k элСмСнтов ΠΈΠ· n элСмСнтов Π±Π΅Π· повторСния ΠΈ с Π·Π°ΠΊΠ°Π·ΠΎΠΌ .

  • isqrt () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ цСлочислСнный ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа.

  • prod () вычисляСт ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ всСх элСмСнтов Π²ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Как ΠΈ fsum () , этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ массивы, списки ΠΈΠ»ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ.

  • dist () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π²ΠΊΠ»ΠΈΠ΄ΠΎΠ²ΠΎ расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ p ΠΈ q , каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Π΄Π°Π½Π° ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (ΠΈΠ»ΠΈ итСрация) ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. Π”Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€.

  • hypot () Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡƒΡ… ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ.Π Π°Π½Π΅Π΅ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» максимум Π΄Π²Π° измСрСния.

cmath ΠΈ math

КомплСксноС число - это комбинация Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ½ΠΈΠΌΠΎΠ³ΠΎ числа. Он ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ a + bi , Π³Π΄Π΅ a - Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число, Π° bi - ΠΌΠ½ΠΈΠΌΠΎΠ΅ число. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΌΠ½ΠΈΠΌΡ‹Π΅ числа ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число - это Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ любоС число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ.
  • МнимоС число - это число, Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ Π΄Π°Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ числом ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ любоС число. НапримСр, 12, 4,3, -19,0 ​​- всС Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ числа. ΠœΠ½ΠΈΠΌΡ‹Π΅ числа ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ i . На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ комплСксного числа:

.
КомплСксноС число

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 7 - Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число, Π° 3i - ΠΌΠ½ΠΈΠΌΠΎΠ΅ число. ΠšΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½Ρ‹Π΅ числа Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, исчислСнии, Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… расчСтах ΠΈ ​​особСнно Π² элСктроникС.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля Python math Π½Π΅ приспособлСны для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ комплСксных чисСл. Однако Python прСдоставляСт Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с комплСксными числами, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ cmath . ΠœΠΎΠ΄ΡƒΠ»ΡŒ Python math дополняСтся ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ cmath , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Ρ‚Π΅Ρ… ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π½ΠΎ для комплСксных чисСл.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ cmath ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ cmath Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΠ°ΠΊΠ΅Ρ‚ Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ math .ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ cmath , Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ комплСксноС число. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ комплСксноС число ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

>>>

  >>> c = 2 + 3j
>>> c
(2 + 3j)

>>> Ρ‚ΠΈΠΏ (c)
<класс 'слоТный'>
  

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ число Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ слоТноС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ type () .

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ мнимая Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ обозначаСтся i . Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… областях Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ j для Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ самого.Π’ Python Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ j для обозначСния ΠΌΠ½ΠΈΠΌΡ‹Ρ… чисСл.

Python Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ complex () , которая позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ комплСксныС числа. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ complex () ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

>>>

  >>> c = комплСкс (2, 3)
>>> c
(2 + 3j)

>>> Ρ‚ΠΈΠΏ (c)
<класс 'слоТный'>
  

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΌΠ΅Ρ‚ΠΎΠ΄ для создания комплСксных чисСл. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ cmath для вычислСния матСматичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для комплСксных чисСл ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

>>>

  >>> cmath.sqrt (с)
(1.8581072140693775 + 0.6727275964137814j)

>>> cmath.log (c)
(1,3622897515267103 + 0,6947382761967031j)

>>> cmath.exp (c)
(-16.0
670844 + 12.02063434789931j)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ, логарифмичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ комплСксного числа. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ cmath .

NumPy ΠΏΡ€ΠΎΡ‚ΠΈΠ²

math

Для матСматичСских вычислСний ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько извСстных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Python.Одна ΠΈΠ· самых извСстных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ - Numerical Python ΠΈΠ»ΠΈ NumPy. Он Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… вычислСниях ΠΈ Π² областях Π½Π°ΡƒΠΊΠΈ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ модуля math , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ стандартной вСрсии Python, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ NumPy для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌ.

Π‘Π΅Ρ€Π΄Ρ†Π΅ NumPy - это Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ структура Π΄Π°Π½Π½Ρ‹Ρ… N -ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ (ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ) массива. Π­Ρ‚ΠΎΡ‚ массив позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ матСматичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со всСм массивом Π±Π΅Π· цикличСского ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° элСмСнтов.ВсС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ N-ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива.

И ΠΌΠΎΠ΄ΡƒΠ»ΡŒ math , ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° NumPy ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для матСматичСских вычислСний. NumPy ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько ΠΎΠ±Ρ‰ΠΈΡ… Ρ‡Π΅Ρ€Ρ‚ с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ math . NumPy ΠΈΠΌΠ΅Π΅Ρ‚ подмноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… функциям модуля math , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π΅Π»ΠΎ с матСматичСскими вычислСниями. И NumPy, ΠΈ math ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π΄Π΅Π»ΠΎ с тригономСтричСскими, ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, логарифмичСскими, гипСрболичСскими ΠΈ арифмСтичСскими вычислСниями.

Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ нСсколько Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ math ΠΈ NumPy. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Python math большС ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ со скалярными значСниями, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ NumPy Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с массивами, Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со скалярными значСниями Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля math ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ быстрСС, Ρ‡Π΅ΠΌ ΠΈΡ… Π°Π½Π°Π»ΠΎΠ³ΠΈ Π² NumPy. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ NumPy ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ значСния Π² массивы ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π°Π΄ Π½ΠΈΠΌΠΈ вычислСния.NumPy Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ€Π°Π·ΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами N ΠΈΠ·-Π·Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для Π½ΠΈΡ…. Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ fsum () ΠΈ prod () , Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ модуля math Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ массивы.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Из этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΎ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Python math . ΠœΠΎΠ΄ΡƒΠ»ΡŒ прСдоставляСт ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для выполнСния матСматичСских вычислСний, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ мноТСство практичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Из этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ:

  • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Python math
  • Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ math Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ с практичСскими ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ
  • КакиС константы модуля math , Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΈ, Ρ‚Π°Ρƒ ΠΈ число Π­ΠΉΠ»Π΅Ρ€Π°, Ρ€Π°Π²Π½Ρ‹
  • Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ встроСнными функциями ΠΈ функциями math
  • Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ math , cmath ΠΈ NumPy:

ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ матСматичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ , - это ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг.ΠŸΡ€ΠΈΡˆΠ»ΠΎ врСмя ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ знания Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹Ρ… ситуациях. Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΈΡ… Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π½ΠΈΠΆΠ΅.

ВстроСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Python

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Python ΠΈΠΌΠ΅Π΅Ρ‚ ряд встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Они Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ автоматичСски ΠΏΡ€ΠΈ запускС ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈ всСгда доступны, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ print () ΠΈ input () для Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ прСобразования чисСл int (), float (), complex (), список ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… (), ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (), set () ΠΈ Ρ‚. Π΄.

Помимо встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, большоС количСство ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ‚Π°ΠΊΠΆΠ΅ доступно ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, входящих Π² состав дистрибутивов Python. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² модулях ΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ встроСнными модулями.

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

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ список всСх доступных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² консоли Python:

  >>> help ('ΠΌΠΎΠ΄ΡƒΠ»ΠΈ')

Π‘Π΅ΠΊΡ€Π΅Ρ‚Ρ‹ IPython _weakrefset heapq
__future__ _winapi hmac Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅
_abc abc html-сСлСкторы
_ast aifc http setuptools
_asyncio antigravity idlelib ΠΏΠΎΠ»ΠΊΠ°
_bisect argparse imaplib shlex
_blake2 массив imghdr shutil
_bootlocale ast imp signal
_bz2 asynchat importlib simplegeneric
_codecs asyncio ind сайт
_codecs_cn asyncore ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡˆΠ΅ΡΡ‚ΡŒ
_codecs_hk atexit io smtpd
_codecs_iso2022 audioop ipaddress smtplib
_codecs_jp Π°Π²Ρ‚ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ipython_genutils sndhdr
_codecs_kr backcall сокСт itertools
_codecs_tw base64 jedi socketserver
_collections bdb json sqlite3
_collections_abc ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово binascii sre_compile
_compat_pickle binhex lib2to3 sre_constants
_compression bisect linecache sre_parse
_contextvars встроСнная локаль ssl
_csv bz2 logging stat
_ctypes cProfile статистика lzma
_ctypes_test ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ macpath storemagic
_datetime строка ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎ ящика cgi
_decimal cgitb mailcap stringprep
_distutils_findvs структура ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ²
_dummy_thread cmath матСматичСский подпроцСсс
_elementtree cmd mimetypes sunau
_functools код символ mmap
_hashlib codecs modulefinder sympyprinting
_heapq codeop msilib symtable
_imp ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ msvcrt sys
_io colorama multiprocessing sysconfig
_json colorsys netrc tabnanny
_locale compileall nntplib tarfile
_lsprof ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ NT telnetlib
_lzma configparser Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ntpath
_markupbase contextlib тСст nturl2path
_md5 contextvars числа тСсты
_msi copy opcode textwrap
_multibytecodec copyreg ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ это
_multiprocessing crypt optparse threading
_opcode csv os врСмя
_operator ctypes синтаксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ timeit
_osx_support curses parso tkinter
_overlapped cythonmagic pathlib token
_pickle dataclasses pdb tokenize
_py_abc datetime трассировка рассола
_pydecimal dbm pickleshare traceback
_pyio decimal инструмСнты для маринования tracemalloc
_queue Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ pip traitlets
_random difflib pipe tty
_sha1 dis pkg_resources Ρ‡Π΅Ρ€Π΅ΠΏΠ°Ρ…Π°
_sha256 distutils pkgutil turtledemo
_sha3 doctest Ρ‚ΠΈΠΏΡ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ
_sha512 dummy_threading plistlib typing
_signal easy_install poplib unicodedata
_sitebuiltin элСктронная ΠΏΠΎΡ‡Ρ‚Π° posixpath unittest
_socket ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ pprint urllib
_sqlite3 surepip profile uu
_sre enum prompt_toolkit uuid
_ssl errno pstats venv
_stat faulthandler pty прСдупрСТдСния
_string filecmp py_compile wave
_strptime fileinput pyclbr wcwidth
_struct fnmatch pydoc weakref
_symtable formatter pydoc_data webbrowser
_testbuffer Ρ„Ρ€Π°ΠΊΡ†ΠΈΠΈ pyexpat winreg
_testcapi ftplib pygments winsound
_testconsole functools queue wsgiref
_testimportmultiple gc quopri xdrlib
_testmultiphase genericpath random xml
_thread getopt re xmlrpc
_threading_local getpass reprlib xxsubtype
_tkinter gettext rlcompleter zipapp
_tracemalloc glob rmagic zip-Ρ„Π°ΠΉΠ»
_warnings gzip runpy zipimport
_weakref hashlib sched zlib

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ любоС имя модуля, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠΌΠΎΡ‰ΡŒ.Или Π²Π²Π΅Π΄ΠΈΡ‚Π΅ "ΠΌΠΎΠ΄ΡƒΠ»ΠΈ спама" для поиска
для ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ Ρ€Π΅Π·ΡŽΠΌΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТится строка «спам».
  

Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… встроСнных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π³Π»Π°Π²Π°Ρ….

ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ встроСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π² Python?

ΠœΠΎΠ΄ΡƒΠ»ΠΈ

относятся ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, содСрТащСму ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ опрСдСлСния Python.

Π€Π°ΠΉΠ», содСрТащий ΠΊΠΎΠ΄ Python, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: example.py , называСтся ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ, ΠΈ Π΅Π³ΠΎ имя модуля Π±ΡƒΠ΄Π΅Ρ‚ , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ .

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ большиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° нСбольшиС управляСмыС ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠ΄Π°.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ наши Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… опрСдСлСния Π² Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΈ сохранитС Π΅Π³ΠΎ ΠΊΠ°ΠΊ example.py .

  # ΠŸΡ€ΠΈΠΌΠ΅Ρ€ модуля Python

def add (a, b):
   "" "Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° добавляСт Π΄Π²Π°
   числа ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ "" "

   Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = a + b
   Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚  

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ add () Π²Π½ΡƒΡ‚Ρ€ΠΈ модуля с ΠΈΠΌΠ΅Π½Π΅ΠΌ example .Ѐункция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° числа ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ… сумму.


Как ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π² Python?

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ опрСдСлСния Π²Π½ΡƒΡ‚Ρ€ΠΈ модуля Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ»ΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π² Python.

Для этого ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово import . Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ наш Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ , ΠΏΡ€ΠΈΠΌΠ΅Ρ€ , ΠΌΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Python.

  >>> ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°  

ΠŸΡ€ΠΈ этом ΠΈΠΌΠ΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ , Π½Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ нСпосрСдствСнно Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ символов.Он ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΡƒΠ΄Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя модуля , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, .

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ имя модуля, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚ΠΎΡ‡ΠΊΡƒ . ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€. НапримСр:

  >>> example.add (4,5.5)
9,5  

Python ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство стандартных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΏΠΎΠ»Π½Ρ‹ΠΌ списком стандартных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Python ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΈΡ… использования. Π­Ρ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ находятся Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Lib Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚ΠΎΠ³ΠΎ мСста, Π³Π΄Π΅ Π²Ρ‹ установили Python.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ

ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ наши ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

Π•ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ способы ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Они пСрСчислСны Π½ΠΈΠΆΠ΅ ..


ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Python

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° import ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ опрСдСлСниям Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΊΠ°ΠΊ описано Π²Ρ‹ΡˆΠ΅. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

  # ΠΏΡ€ΠΈΠΌΠ΅Ρ€ инструкции ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°
# для ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ стандартного модуля

импортная ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°
print (Β«Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа ΠΏΠΈΒ», math.pi)  

ΠŸΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚:

  Число Пи Ρ€Π°Π²Π½ΠΎ 3.1415589793  

Π˜ΠΌΠΏΠΎΡ€Ρ‚ с ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π² Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  # ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π² Π΅Π³ΠΎ

ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΡƒ ΠΊΠ°ΠΊ m
print (Β«Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа ΠΏΠΈΒ», m.pi)  

ΠœΡ‹ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ math Π² m . Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях это ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Π½Π°ΠΌ врСмя Π½Π° Π½Π°Π±ΠΎΡ€ тСкста.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ имя math Π½Π΅ распознаСтся Π² нашСй области. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, math.pi нСдСйствитСлСн, Π° m.pi - ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ рСализация.


Python from ... ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΈΠ· модуля, Π½Π΅ импортируя ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² Ρ†Π΅Π»ΠΎΠΌ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

  # ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΈ ΠΈΠ· матСматичСского модуля

ΠΈΠ· матСматичСского ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Пи
print (Β«Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа Пи Ρ€Π°Π²Π½ΠΎΒ», Пи)  

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ pi ΠΈΠ· модуля math .

Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΌΡ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚ΠΎΡ‡ΠΊΠΈ. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  >>> ΠΈΠ· матСматичСского ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° pi, e
>>> ΠΏΠΈ
3.1415589793
>>> Π΅
2,718281828459045  

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΈΠΌΠ΅Π½Π°

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΈΠΌΠ΅Π½Π° (опрСдСлСния) ΠΈΠ· модуля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

  # ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΈΠΌΠ΅Π½Π° ΠΈΠ· стандартного модуля math

ΠΈΠ· матСматичСского ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° *
print (Β«Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа Пи Ρ€Π°Π²Π½ΠΎΒ», Пи)  

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ всС опрСдСлСния ΠΈΠ· матСматичСского модуля. Бюда входят всС ΠΈΠΌΠ΅Π½Π°, Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ Π² нашСй области видимости, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚Π΅Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с подчСркивания (частныС опрСдСлСния).

Π˜ΠΌΠΏΠΎΡ€Ρ‚ всСго, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΎΠΉ (*), Π½Π΅ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ программирования. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ затрудняСт Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ нашСго ΠΊΠΎΠ΄Π°.


ΠŸΡƒΡ‚ΡŒ поиска модуля Python

ΠŸΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ модуля Python просматриваСт нСсколько мСст. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ сначала ΠΈΡ‰Π΅Ρ‚ встроСнный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π—Π°Ρ‚Π΅ΠΌ (Ссли встроСнный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½) Python просматриваСт список ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π² sys.path . Поиск вСдСтся Π² Ρ‚Π°ΠΊΠΎΠΌ порядкС.

  • Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.
  • PYTHONPATH (пСрСмСнная срСды со списком ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²).
  • Зависящий ΠΎΡ‚ установки ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
>>> import sys
>>> sys.path
['',
'C: \ Python33 \ Lib \ idlelib',
'C: \ Windows \ system32 \ python33.zip',
'C: \ Python33 \ DLLs',
'C: \ Python33 \ lib',
'C: \\ Python33',
'C: \\ Python33 \\ lib \\ site-packages'] 

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ этот список, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ свой собствСнный ΠΏΡƒΡ‚ΡŒ.


ΠŸΠ΅Ρ€Π΅Π·Π°Ρ€ΡΠ΄ΠΊΠ° модуля

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π·Π° сСанс. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π²Π΅Ρ‰ΠΈ Π±ΠΎΠ»Π΅Π΅ эффСктивными. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ my_module .

  # Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ эффСкт
# мноТСствСнный ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°

print (Β«Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π±Ρ‹Π» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Β»)  

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ эффСкт ΠΎΡ‚ мноТСствСнного ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°.

  >>> ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ my_module
Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π±Ρ‹Π» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½
>>> ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ my_module
>>> import my_module  

ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ наш ΠΊΠΎΠ΄ Π±Ρ‹Π» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ наш ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π±Ρ‹Π» ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли наш ΠΌΠΎΠ΄ΡƒΠ»ΡŒ измСнился Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ. Один ΠΈΠ· способов ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это - ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€. Но это ΠΌΠ°Π»ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚.

Python прСдоставляСт Π±ΠΎΠ»Π΅Π΅ эффСктивный способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ reload () Π²Π½ΡƒΡ‚Ρ€ΠΈ модуля imp для ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ модуля. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ способами:

  >>> ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ ΠΈΠΌΠΏ
>>> ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ my_module
Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π±Ρ‹Π» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½
>>> ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ my_module
>>> ΠΈΠΌΠΏ.ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ (my_module)
Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π±Ρ‹Π» Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½
<ΠΌΠΎΠ΄ΡƒΠ»ΡŒ 'my_module' ΠΈΠ· '. \\ my_module.py'>  

ВстроСнная функция dir ()

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ dir () , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ модуля.

НапримСр, ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ add () Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ example , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρƒ нас Π±Ρ‹Π» Π² Π½Π°Ρ‡Π°Π»Π΅.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ dir Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ , ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  >>> dir (ΠΏΡ€ΠΈΠΌΠ΅Ρ€)
['__builtins__',
'__cached__',
'__doc__',
'__Ρ„Π°ΠΉΠ»__',
'__initializing__',
'__loader__',
'__Π½Π°Π·Π²Π°Π½ΠΈΠ΅__',
'__ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠ°__',
'Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ']  

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ отсортированный список ΠΈΠΌΠ΅Π½ (вмСстС с добавляСм ).ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с подчСркивания, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ Python ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, связанными с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ (Π½Π΅ опрСдСляСмыми ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ).

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

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