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

Π―Π·Ρ‹ΠΊ программирования Python: для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½, ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы

  • Π˜ΡΡ‚ΠΎΡ€ΠΈΡ создания языка Python
  • Насколько Python популярСн
  • ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°: Ρ‡Π΅ΠΌ Ρ…ΠΎΡ€ΠΎΡˆ Python
  • НСдостатки Python
  • Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Python

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ создания языка Python

Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ языка PythonΒ β€” нидСрландский программист Π“Π²ΠΈΠ΄ΠΎ Π²Π°Π½ Россум. ΠžΠ½Β Π±Ρ‹Π» участником ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° по написанию ABC, языка для обучСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Π’Β ΠΊΠΎΠ½Ρ†Π΅ 1989 Π³ΠΎΠ΄Π° Π“Π²ΠΈΠ΄ΠΎ приступил ΠΊΒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ языка ΠΈΒ Π·Π°Π΄ΡƒΠΌΠ°Π» Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ° ABC, способного ΠΊΒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈΒ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ с опСрационной систСмой Amoeba. Π’Π°ΠΊ и получился Python.

ΠžΡ‚ΠΊΡƒΠ΄Π° Ρ‚Π°ΠΊΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅? МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ язык Π½Π°Π·Π²Π°Π½ Π²Β Ρ‡Π΅ΡΡ‚ΡŒ сСмСйства Π·ΠΌΠ΅ΠΉ, но это Π½Π΅Β Ρ‚Π°ΠΊ. Когда Π“Π²ΠΈΠ΄ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, он любил ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠ΅ ΡˆΠΎΡƒ Β«Π›Π΅Ρ‚Π°ΡŽΡ‰ΠΈΠΉ Ρ†ΠΈΡ€ΠΊ ΠœΠΎΠ½Ρ‚ΠΈ ΠŸΠ°ΠΉΡ‚ΠΎΠ½Π°Β», поэтому ΠΈΒ Π½Π°Ρ€Ρ‘ΠΊ своё Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠ΅ Π²Β Ρ‡Π΅ΡΡ‚ΡŒ британской ΠΊΠΎΠΌΠΈΠΊ-Π³Ρ€ΡƒΠΏΠΏΡ‹. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π½ΠΎΡΠΈΡ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ языка ΠΊΠ°ΠΊ Β«ΠŸΠ°ΠΉΡ‚ΠΎΠ½Β».

Python свободно распространялся Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ и со врСмСнСм ΡƒΒ Π½Π΅Π³ΠΎ появились послСдоватСли — люди, заинтСрСсованныС Π²Β Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ этого языка программирования. ΠŸΠ΅Ρ€Π²Π°Ρ публикация Python ΡΠΎΡΡ‚ΠΎΡΠ»Π°ΡΡŒ Π²Β Ρ„Π΅Π²Ρ€Π°Π»Π΅ 1991 Π³ΠΎΠ΄Π°Β β€” это Π±Ρ‹Π»Π° вСрсия 0.9.0. Π’Β 1994 Π³ΠΎΠ΄Ρƒ Π“Π²ΠΈΠ΄ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» Python 1.0, Π°Β ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΠ΄Π½Π° Π·Π°Β Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΠ»ΠΈΡΡŒ ΠΈΒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ вСрсии: Π΄ΠΎΒ 2.0 язык обновился в октябрС 2000, Π΄ΠΎΒ 3.0Β β€” Π²Β Π΄Π΅ΠΊΠ°Π±Ρ€Π΅ 2008. В октябрС 2021 ΠΌΠΈΡ€ ΡƒΠ²ΠΈΠ΄Π΅Π»Π° самая свСТая вСрсия — Python 3.10.0.

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΠΎΒ Ρ‚Π΅ΠΌΠ΅:

Π‘Π΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΉ язык для backend: Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Python ΠΈ ΠΊΠ°ΠΊ ΡΡ‚Π°Ρ‚ΡŒ Python-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ

Насколько Python популярСн

По Π΄Π°Π½Π½Ρ‹ΠΌ GitHub Π½Π° июнь 2021 Π³ΠΎΠ΄Π°, Python Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ‚ΠΎΠΏ-5 самых популярных языков, уступая Ρ‚ΠΎΠ»ΡŒΠΊΠΎ JSX, JavaScript ΠΈ Java.

Π’ΠΎΠΏ популярных языков программирования Π»Π΅Ρ‚ΠΎΠΌ 2021

Π’Β Ρ‡Ρ‘ΠΌ сСкрСт Ρ‚Π°ΠΊΠΎΠΉ популярности в использовании языка? Python ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ ΠΊΡ€ΡƒΠ³Π° Π·Π°Π΄Π°Ρ‡ и примСняСтся на всСх популярных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Росту популярности Python способствовала ΠΈΒ Π΅Π³ΠΎ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π²Β ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ…ΡΡ сфСрах Machine Learning ΠΈΒ Data Science.

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Β β€” тСхничСская. Π‘Β Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ»ΠΈΡΡŒ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ мощности ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² и сСрвСров, ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Β β€” вырос спрос Π½Π°Β ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ языки программирования, Π²Β Ρ‚ΠΎΠΌ числС и на использованиС Python. Π”Π΅Π»ΠΎ Π²Β Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Β Ρ‚Π°ΠΊΠΈΡ… языках ΠΏΠΎΠΌΠΈΠΌΠΎ запуска самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π΅Ρ‰Ρ‘ запуск ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°, а это Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов. РаньшС с этим Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π½ΠΎΒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ΠΈ Ρ€Π΅ΡˆΠ΅Π½Ρ‹.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ сСбя Π²Β Ρ€ΠΎΠ»ΠΈ Python‑разработчика

ΠžΡΠ²ΠΎΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΡŽ с нуля ΠΈ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ 6 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ: сайты, API ΠΈ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-Π±ΠΎΡ‚. НачнитС с бСсплатной Π²Π²ΠΎΠ΄Π½ΠΎΠΉ части курса Β«Python-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ».

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°: Ρ‡Π΅ΠΌ Ρ…ΠΎΡ€ΠΎΡˆ Python

БпСциалисты Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ массу прСимущСств PythonΒ β€” остановимся Π½Π°Β ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΈΠ·Β Π½ΠΈΡ….

ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° синтаксиса, Π°Β Π·Π½Π°Ρ‡ΠΈΡ‚Β β€” Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΠΎΡ€ΠΎΠ³ вхоТдСния. Код языка чистый и понятный, Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… символов ΠΈΒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅ количСства строчСк ΠΊΠΎΠ΄Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для Π²Ρ‹Π²ΠΎΠ΄Π° Ρ„Ρ€Π°Π·Ρ‹ Β«Hello, world!Β» Π½Π° языках C, C++, Java ΠΈ Python β€” ΠΈ всё ΠΏΠΎΠΉΠΌΠ΅Ρ‚Π΅

Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈΒ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ. НС зря ΠΎΠ΄ΠΈΠ½ из слоганов языка — это Β«Just Import!Β» Python ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ для взаимодСйствия с другими ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ систСмами ΠΈΠ»ΠΈ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²Β ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ в качСствС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. ΠžΠ½Β ΠΎΡ‡Π΅Π½ΡŒ ΠΈΒ ΠΎΡ‡Π΅Π½ΡŒ Π³ΠΈΠ±ΠΊΠΈΠΉ. Π­Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ большС возмоТностСй для использования языка Π²Β Ρ€Π°Π·Π½Ρ‹Ρ… сфСрах.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ ΠΈΒ ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python Π΅ΡΡ‚ΡŒ для всСх популярных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈΒ ΠΏΠΎΒ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π²Β Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ дистрибутивов Linux.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ. Π£Β Python Π΅ΡΡ‚ΡŒ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ стандарт для написания ΠΊΠΎΠ΄Π°Β β€” Python Enhancement Proposal ΠΈΠ»ΠΈ PEP, благодаря Ρ‡Π΅ΠΌΡƒ язык остаётся Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΎΡ‚Β ΠΎΠ΄Π½ΠΎΠ³ΠΎ программиста ΠΊΒ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ.

Open Source. Π£Β ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠΎΠ΄, Ρ‚ΠΎΒ Π΅ΡΡ‚ΡŒ любой, ΠΊΡ‚ΠΎ заинтСрСсован Π²Β Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ языка, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π²Β Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΒ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΈ.

БильноС ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ ΠΈΒ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ. Π’ΠΎΠΊΡ€ΡƒΠ³ Python ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»ΠΎΡΡŒ друТСствСнноС ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ Π½Π°Β ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ ΠΈΠ»ΠΈ ΡƒΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΈΒ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π²Β Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅.

Во всём ΠΌΠΈΡ€Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ мСроприятий, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с коллСгами ΠΈΒ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠŸΠ°ΠΉΡ‚ΠΎΠ½Π°.

Π¨ΠΈΡ€ΠΎΡ‚Π° примСнСния. НаиболСС ΡˆΠΈΡ€ΠΎΠΊΠΎ Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Β web-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Ρ€Π°Π±ΠΎΡ‚Π΅ с данными, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ бизнСс-процСссов ΠΈΒ Π³Π΅ΠΉΠΌΠ΄Π΅Π²Π΅.

Π’ΠΎΡΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π½Π°Β Ρ€Ρ‹Π½ΠΊΠ΅ Ρ‚Ρ€ΡƒΠ΄Π° ΠΈΒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π³ΠΈΠ³Π°Π½Ρ‚Π°ΠΌΠΈ IT-сфСры. Python-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ вострСбованы Π²ΠΎΒ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… и им нСслоТно Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π°Β Python Π²Π΅Π΄ΡƒΡ‚ Π²Β Google, Facebook, Dropbox, Spotify, Quora, Netflix, Microsoft Intel, а в России — «ЯндСкс», Β«Π’ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π΅Β» ΠΈΒ Β«Π‘Π±Π΅Ρ€Π±Π°Π½ΠΊΒ». Π­Ρ‚ΠΎ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ влияСт на статус языка.

НСдостатки Python

Π£Β Python, ΠΊΠ°ΠΊ ΠΈΒ ΡƒΒ Π»ΡŽΠ±ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ языка, Π΅ΡΡ‚ΡŒ Π½Π΅Β Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ»ΡŽΡΡ‹, но и минусы, а срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²Β β€” Π½Π΅Β Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°Π½Π°Ρ‚Ρ‹, Π½ΠΎΒ ΠΈΒ Ρ…Π΅ΠΉΡ‚Π΅Ρ€Ρ‹. Π’ΠΎΡ‚ Π²Β Ρ‡Ρ‘ΠΌ ΠΎΠ±Π²ΠΈΠ½ΡΡŽΡ‚ этот язык:

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

ДинамичСская типизация. Python относится к языкам с динамичСской Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ нСвСроятно Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Но при этом он потрСбляСт ΠΌΠ½ΠΎΠ³ΠΎ рСсурсов ΠΈΒ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠ·ΠΊΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° (GIL). Π­Ρ‚ΠΎ способ синхронизации ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Β Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языках программирования, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Β Python ΠΈΒ Ruby. Π₯отя GIL являСтся самым простым способом ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΊΒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΒ Ρ‚Π΅ΠΌΒ ΠΆΠ΅ участкам памяти, ΡƒΒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ нСдостаток — ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ вычислСний. Π’Π°ΠΊΠΆΠ΅ он нС позволяСт Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ высокой эффСктивности вычислСний ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ на многоядСрных ΠΈΒ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π½Ρ‹Ρ… систСмах.

Бинтаксис и сСмантика.

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

Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Python

ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎ возмоТности Python Π²Β ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Oн примСняСтся Π²ΠΎΒ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… и в качСствС основного языка, и для создания Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΈΒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. А Сщё Π½Π°Β Python ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π’Ρ€ΠΈ основныС сфСры использования языка — это Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Big Data ΠΈΒ Machine Learning и написаниС скриптов:

Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. БСгодня Python Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Β Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ наряду с такими языками, ΠΊΠ°ΠΊ PHP, JavaScript, Java ΠΈΒ Π‘#. БущСствСнный плюс Python состоит Π²Β Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Β ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… бизнСсов, ΡƒΒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°Β 50 Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΈΒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСслоТныС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΒ Π½Π΅ΠΌΡƒ стали всС Ρ‡Π°Ρ‰Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° использования Python для бэкСнда ΠΏΠΎΒ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с PHPΒ β€” простота обучСния, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Π°Ρ структура, лСгкодоступныС инструмСнты для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ языка, ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ друТСствСнного ΠΊΠΎΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ.

Для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°Β Python понадобится Π·Π½Π°Π½ΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ². НаиболСС популярныС — Django ΠΈΒ Flask.

Data Science ΠΈΒ Machine Learning. ГорячиС сСгодня сфСры, Π²Β ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ и для Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΒ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ML-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ и в аналитичСских прилоТСниях. Π‘Ρ€Π΅Π΄ΠΈ популярных Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΈΒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для ML программисты Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ scikit-learn ΠΈΒ TensorFlow.

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

Помимо этого, Python примСняСтся для написания ΠΈΒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΈΒ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, во встроСнных систСмах, систСмном администрировании ΠΈΒ Π΄Π°ΠΆΠ΅ Π²Β Π³Π΅ΠΉΠΌΠ΄Π΅Π²Π΅Β β€” Π΅ΡΡ‚ΡŒ ΠΈΠ·Β Ρ‡Π΅Π³ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, Ссли Π²Ρ‹Β Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒ Python-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ.

Π‘Ρ‚Π°Ρ‚ΡŒΡŽ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ:

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅:

Всё, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ ΠΎ Java

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡΡ‚Π°Ρ‚ΡŒΡŽ

Π’ΠΎΠΏ языков программирования: ΠΏΠ»ΡŽΡΡ‹ ΠΈ минусы — ΠΊΠ°ΠΊΠΎΠΉ язык Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ для изучСния

ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² ΡΡ‚Π°Ρ‚ΡŒΡŽ

Π›Π΅Ρ‚ΠΎ ― самоС врСмя Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΡŽ, Π½Π΅ спСша ΠΏΡ€ΠΎΠΉΡ‚ΠΈ бСсплатный курс ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ Π² IT.

Π―Π·Ρ‹ΠΊ Python β€” для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ΅Π½ ΠΈ Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ?

upd:

АлСксандр Попов

2.8K

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅:Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ

Python β€” ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΎΠ² ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ. Достаточно ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ любой Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ популярных ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… языков (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ ΠΎΡ‚ TIOBE) ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ «ΠŸΠΈΡ‚ΠΎΠ½» ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ находится Π² Ρ‚Ρ€ΠΎΠΉΠΊΠ΅ Π»ΠΈΠ΄Π΅Ρ€ΠΎΠ² списка.

Python Π½Π° 1-ΠΌ мСстС Π² Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π΅ tiobe.com (ΠΎΠΊΡ‚ΡΠ±Ρ€ΡŒ 2021).

Π§Ρ‚ΠΎ ΡƒΠΆ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ β€” амСриканскиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π³ΡƒΠ³Π»ΠΈΠ»ΠΈ слово «Python» Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ «ΠšΠΈΠΌ ΠšΠ°Ρ€Π΄Π°ΡˆΡŒΡΠ½», Π° российскиС ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-сСрфСры искали «Π·ΠΌΠ΅ΡŽ» Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ «Π’ΠΈΠΌΠ°Ρ‚ΠΈ».

На ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ повлияли Π΄Π²Π΅ ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… стороны Python β€” простота ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ. Бинтаксис β€” Π½Π΅ Ρ‚Π°ΠΊΠΎΠΉ Π·ΡƒΠ±ΠΎΠ΄Ρ€ΠΎΠ±ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, ΠΊΠ°ΠΊ Ρƒ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π‘ ΠΈΠ»ΠΈ Π‘++. Π‘ΠΎ «Π·ΠΌΠ΅ΠΈΠ½Ρ‹ΠΌ языком» смогут ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ школьники.

Python β€” это ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ совмСщСниС простоты ΠΈ ΠΌΠΎΡ‰ΠΈ

Π’Π°ΠΊΠΎΠ΅ способСн ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ инструмСнт для программирования.

Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ язык Python

ΠœΠΈΡ€ΠΎΠ²ΠΎΠΉ Ρ€Π°Π·ΠΌΠ°Ρ… примСнСния обусловлСн Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ синтаксисом ΠΈ ΠΌΠΎΡ‰ΡŒΡŽ, Π½ΠΎ ΠΈ философиСй языка. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Python доступны ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ β€” достаточно ввСсти Π² любом ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅ ΠΊΠΎΠ΄

import this ΠΈ ΡƒΠ·Π½Π°Ρ‚ΡŒ основныС полоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅ΠΆΠ°Ρ‚ Π² основС «ΠŸΠΈΡ‚ΠΎΠ½Π°».

ВозмоТности Python ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π½Ρ‹ дСсятками ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ.

Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΌΠΈΡ€ΠΎΠ²Ρ‹Π΅ Π±Ρ€Π΅Π½Π΄Ρ‹

ΠœΠΎΡ‰ΡŒ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ языка Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠΈΡ€ΠΎΠ²Ρ‹Ρ… Π±Ρ€Π΅Π½Π΄ΠΎΠ²:

  • Google β€” скраппинг поиска ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ YouTube;
  • Netflix β€” Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сСрвСрной сторонС, Π°Π»Π»Π΅Ρ€Ρ‚ΠΈΠ½Π³;
  • BitTorrent β€” рСализация сСтСй peer-to-peer;
  • Pixar, Industrial Light & Magic, Disney β€” Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„ΠΈΠ»ΡŒΠΌΡ‹;
  • Intel, Cisco, IBM β€” тСстированиС;
  • JPMorgan, UBS, Citadel β€” ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ финансовых Ρ€Ρ‹Π½ΠΊΠΎΠ²;
  • iRobot β€” созданиС Ρ€ΠΎΠ±ΠΎΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… устройств.

Как Π²ΠΈΠ΄Π½ΠΎ, возмоТности Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ разносторонних Π·Π°Π΄Π°Ρ‡. РядовыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ВсСмирной сСти ΠΎΠ±ΠΎΠΆΠ°ΡŽΡ‚ YouTube, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ частично написан Π½Π° языкС Python, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π³ΠΈΠ³Π°Π½Ρ‚Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Intel ΠΈΠ»ΠΈ IBM Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ «Π·ΠΌΠ΅ΡŽ» для тСстирования ΠΈ исслСдований.

Помимо ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Python Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π±Ρ€Π΅Π½Π΄Π°Ρ…:

  • Instagram;
  • Facebook;
  • Yahoo.

ВозмоТности Python Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π²Π½Π΅Π΄Ρ€ΡΡŽΡ‚ΡΡ ΠΈ Π² отСчСствСнныС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Mail.ru ΠΈ ЯндСкс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ написаны Π½Π° Π΄Π°Π½Π½ΠΎΠΌ языкС программирования.

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ Π±Ρ€Π΅Π½Π΄Ρ‹ β€” лишь Π²Π΅Ρ€ΡˆΠΈΠ½Π° айсбСрга. Достаточно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Python β€” это основной инструмСнт для ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ€Π°Π±ΠΎΡ‚ Π² NASA. Для ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… космичСских ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² трСбовался ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ ΠΈ простой язык программирования с большим Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠΌ, ΠΈ «ΠŸΠΈΡ‚ΠΎΠ½» стал Π»ΡŽΠ±ΠΈΠΌΡ†Π΅ΠΌ спСциалистов.

Π§Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Python

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

  • дСвопс;
  • тСстированиС;
  • скраппинг;
  • машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Data Science;
  • Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°;
  • Π³Π΅ΠΉΠΌΠ΄Π΅Π².

Π’ 2021 Π³ΠΎΠ΄Ρƒ, компания JetBrains ΠΏΡ€ΠΎΠ²Π΅Π»Π° опрос β€” для ΠΊΠ°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ программисты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Python? Π›ΠΈΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ мСста Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ β€” Π²Π΅Π± Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ…, машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ скрапСров ΠΈ систСмноС администрированиС.

ΠžΠΏΡ€ΠΎΡ ΠΎΡ‚ JetBrains β€” для ΠΊΠ°ΠΊΠΈΡ… сфСр Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ программисты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Python (Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° 2021 Π³ΠΎΠ΄).

ВозмоТности языка ΠΎΡ‚Π½ΡŽΠ΄ΡŒ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ пСрСчислСнными сфСрами. ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ программистам ΠΈ рядовым ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π½Π΅Ρ‚ Π½ΡƒΠΆΠ΄Ρ‹ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ машинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² пользС Python.

Π’Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ любой Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ Π½Π° Python:

  • автоматизация Ρ€ΡƒΡ‚ΠΈΠ½Ρ‹;
  • наблюдСниС Π·Π° курсом Π²Π°Π»ΡŽΡ‚;
  • Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°;
  • ΠΌΠΈΠΊΡ€ΠΎΠ±Π»ΠΎΠ³;
  • Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€Ρ‹.

ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎΠ΅ созданиС ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ элСктронных Ρ‚Π°Π±Π»ΠΈΡ† β€” ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ скучной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ застрахован. «ΠŸΠΈΡ‚ΠΎΠ½» ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ всС процСссы Π·Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, оставляя послСднСму Ρ‚ΠΎΠ»ΡŒΠΊΠΎ чистоС творчСство.

Для школьников Π±ΡƒΠ΄Π΅Ρ‚ интСрСсным ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ возмоТности Python Π² ΠΌΠΈΡ€Π΅ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€. На основС языка ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Π΅ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ смогут ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ люди. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° PyGame ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π°Ρ€ΠΊΠ°Π΄, ΠΏΠ°Π·Π·Π»ΠΎΠ² ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… RPG. Π§Ρ‚ΠΎ ΡƒΠΆ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ β€” Π΅ΡΡ‚ΡŒ ΠΊΠ½ΠΈΠ³Π°, которая позволяСт ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Python, управляя ΠΌΠΈΡ€ΠΎΠΌ Minecraft.

ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ области использования языка Python стоит Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅. Π―Π²Π½ΠΎΠ΅ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ нСявноС.

ДСвопс

DevOps β€” тСхнология взаимодСйствия спСциалистов ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ со спСциалистами ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎ-тСхнологичСскому ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΡŽ + взаимная интСграция ΠΈΡ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов. Около 30% всСх вакансий ΠΏΠΎ Development and Operations Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ знания «ΠŸΠΈΡ‚ΠΎΠ½Π°». «Π—ΠΌΠ΅ΠΈΠ½Ρ‹ΠΉ язык» смСстил Perl ΠΈ стал Π»ΠΈΠ΄Π΅Ρ€ΠΎΠΌ Π² отрасли. ДСвопс Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‡Π΅Ρ‚ΠΊΠΎΠ³ΠΎ сцСнария, ΠΈ язык программирования Python β€” ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт для Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

ВСстированиС

ΠšΠΎΡ€ΠΎΠ»Π΅ΠΌ тСстирования остаСтся Java, Π½ΠΎ Python постСпСнно Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС большС ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ пространства. АдСкватный спСциалист Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π»Π°Π΄Π΅Ρ‚ΡŒ ΠΎΠ±ΠΎΠΈΠΌΠΈ инструмСнтами для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΈ всСстороннСй Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ тСстирования. Π”Π°Π½Π½ΡƒΡŽ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ прСкрасно ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ Google, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Python Π² своСй Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π‘ΠΊΡ€Π°ΠΏΠΏΠΈΠ½Π³

«ΠŸΠΈΡ‚ΠΎΠ½» оснащСн всСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ для Π²Π΅Π±-скрапинга: Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Requests, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ Scrapy ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ АПИ для Selenium. ВозмоТности языка ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ любого Π²Π΅Π±-сайта. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» позволяСт Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΎΡ‚Π·Ρ‹Π²ΠΎΠ², спам-ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ скрипты для парсинга.

МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ Π°ΠΊΡ†Π΅Π½Ρ‚ Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°. МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ β€” это ΠΠ»ΡŒΡ„Π° ΠΈ ОмСга Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ИИ. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ «Π·ΠΌΠ΅ΠΈΠ½ΠΎΠ³ΠΎ языка» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Ρ‹ ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π½Π°ΡƒΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…:

  • Pandas;
  • NumPy;
  • ScyPi;
  • Scikit-Learn.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, распознаваниС Ρ€Π΅Ρ‡ΠΈ ΠΈ Π»ΠΈΡ†Π° β€” всС это доступно с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнтария, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт Python. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² области машинного обучСния трСбуСтся Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт, Π½ΠΎ ΠΈ умная Π³ΠΎΠ»ΠΎΠ²Π°. ΠžΡ‚ спСциалиста Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ доскональноС Π·Π½Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ ΠΈ статистики.

Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

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

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π’Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ:

  • Django;
  • Twisted;
  • Tornado;
  • Flask.

ΠœΠΎΡ‰ΡŒ Python β€” Π² быстрой ΠΈ качСствСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ слоТных Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. АрсСнал «ΠŸΠΈΡ‚ΠΎΠ½Π°» Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ мноТСство ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ подходят для статистики ΠΈ аналитичСских исслСдований. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ внимания заслуТиваСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π“Π˜Π‘-сСрвисы, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Python прСдоставляСт всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Π΅ΠΎΠ΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° остаСтся пСрспСктивным Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ для Python. ΠΠ°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ спСциалистам ΠΈΠΌΠ΅Π΅Ρ‚ смысл Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ стандартныС PHP/CSS/JavaScript, Π½ΠΎ ΠΈ ΠΏΡ€ΠΈΠ³Π»ΡΠ½ΡƒΡ‚ΡŒΡΡ ΠΊ возмоТностям «ΠŸΠΈΡ‚ΠΎΠ½Π°».

Π“Π΅ΠΉΠΌΠ΄Π΅Π²

ΠšΡƒΠ΄Π° Π±Π΅Π· индустрии Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€. ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π» Python позволяСт Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ скромныС, Ρ‚Π°ΠΊ ΠΈ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠ±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Π―Ρ€ΠΊΠΈΠ΅ Ρ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ β€” EVE-Online ΠΈ сСрия ΠΈΠ³Ρ€ WarGaming. Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π΄Π²ΠΈΠΆΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° «ΠŸΠΈΡ‚ΠΎΠ½Π΅» β€” Kivy, PyGame, Panda 3D ΠΈ Ren’Py. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ примСняСтся Π² создании Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΌ стартапС Python ΠΌΠΎΠΆΠ΅Ρ‚ принСсти Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠΉ Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ ΠΈ ΡΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ «ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌ» языкам.

Π§Ρ‚ΠΎ Π½Π΅ стоит ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° ΠŸΠΈΡ‚ΠΎΠ½Π΅

НСсмотря Π½Π° ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π», язык слабо ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ряда отраслСй. Π―Ρ€ΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² βž–. ΠžΡ‚Π΅Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Π΅ «ΠΏΠΈΡ‚онисты» ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ дСмонстрировали возмоТности инструмСнта MicroPython, Π½ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ список ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ «ΠŸΠΈΡ‚ΠΎΠ½» β€” практичСски Π½ΡƒΠ»Π΅Π²ΠΎΠΉ.

Другая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ β€” кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ GUI прилоТСния βž–. Π£ Python Π΅ΡΡ‚ΡŒ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

  • PyQt;
  • WxPython;
  • Tkinter;
  • PyGTK.

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ инструмСнт Π½Π΅ позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ нСсостыковки, ошибки ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ «ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ». ΠšΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΠΈΠΉ Desktop β€” это Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° «ΠŸΠΈΡ‚ΠΎΠ½Π΅».

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ особняком стоит Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ βž–. РСальной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² области Mobile Development, которая Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Π½ΠΈΠΉ «ΠŸΠΈΡ‚ΠΎΠ½Π°», Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ Π½Π΅ Π½Π°ΠΉΡ‚ΠΈ. Π›ΡƒΡ‡ΡˆΠ΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ инструмСнты (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” Java).

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

HeadHunter краснорСчиво дСмонстрируСт Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΡƒΡŽ Π²ΠΎΡΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΊ «ΠŸΠΈΡ‚ΠΎΠ½Π°», Ρ‚Π°ΠΊ ΠΈ отраслСй, Π³Π΄Π΅ примСняСтся Π΄Π°Π½Π½Ρ‹ΠΉ язык программирования.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Python (с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ)

Π’ этом руководствС ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ…, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Π½Π΅Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

Π’ΠΈΠ΄Π΅ΠΎ: Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Python

Π’ Python ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Ρ‚Ρ€Π΅Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… областях: локальной, глобальной ΠΈ нСлокальной.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. НапримСр,

 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ add_numbers():
    сумма = 5 + 4 

Π—Π΄Π΅ΡΡŒ пСрСмСнная sum создаСтся Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, поэтому доступ ΠΊ Π½Π΅ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π΅ (локальная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ). Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ называСтся локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’ зависимости ΠΎΡ‚ области видимости ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Python ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ°:

  1. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
  2. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅
  3. ΠΠ΅Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Python

Когда ΠΌΡ‹ объявляСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, эти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости (Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ). ΠœΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ доступ Π²Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π­Ρ‚ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. НапримСр,

 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ привСтствиС():
    # локальная пСрСмСнная
    сообщСниС = 'ΠŸΡ€ΠΈΠ²Π΅Ρ‚'
    
    print('ΠœΠ΅ΡΡ‚Π½Ρ‹ΠΉ', сообщСниС)
ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ()
# пытаСмся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ сообщСния
# Π²Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ привСтствия()
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (сообщСниС) 

Π’Ρ‹Π²ΠΎΠ΄

  ΠœΠ΅ΡΡ‚Π½ΠΎΠ΅ привСтствиС
NameError: имя «сообщСниС» Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ  

Π—Π΄Π΅ΡΡŒ пСрСмСнная message являСтся локальной для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ привСтствия () , поэтому ΠΊ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ сообщСниС ΠΎΠ± ошибкС, ΠΊΠΎΠ³Π΄Π° пытаСмся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ доступ Π²Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ greet() .

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ message глобальной.


Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Python

Π’ Python пСрСмСнная, объявлСнная Π²Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π² глобальной области видимости, называСтся глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ глобальная пСрСмСнная ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ доступна Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΠ»ΠΈ Π²Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создания глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Python.

 # ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ
сообщСниС = 'ΠŸΡ€ΠΈΠ²Π΅Ρ‚'
ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ():
    # ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ
    print('ΠœΠ΅ΡΡ‚Π½Ρ‹ΠΉ', сообщСниС)
ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ()
print('Global', сообщСниС) 

Π’Ρ‹Π²ΠΎΠ΄

  ΠœΠ΅ΡΡ‚Π½ΠΎΠ΅ привСтствиС
Global Hello  

На этот Ρ€Π°Π· ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ message ΠΈΠ·Π²Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Greeting() . Π­Ρ‚ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ создали ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ message Π² качСствС глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

 # ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ
сообщСниС = 'ΠŸΡ€ΠΈΠ²Π΅Ρ‚' 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ сообщСниС Π±ΡƒΠ΄Π΅Ρ‚ доступно ΠΈΠ· любой области (Ρ€Π΅Π³ΠΈΠΎΠ½Π°) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.


ΠΠ΅Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Python

Π’ Python Π½Π΅Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… функциях, локальная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ пСрСмСнная Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½ΠΈ Π² локальной, Π½ΠΈ Π² глобальной области видимости.

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово nonlocal для создания Π½Π΅Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. НапримСр,

 # внСшняя функция
Π·Π°Ρ‰ΠΈΡ‚Π° внСшняя():
    сообщСниС = 'мСстный'
    # влоТСнная функция
    Π·Π°Ρ‰ΠΈΡ‚Π° внутрСнняя():
        # ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π½Π΅Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ
        нСлокальноС сообщСниС
        сообщСниС = 'Π½Π΅Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ'
        print("Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅:", сообщСниС)
    Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ()
    print("внСшний:", сообщСниС)
внСшний() 

Π’Ρ‹Ρ…ΠΎΠ΄

  Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ: Π½Π΅Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ
external: nonlocal  

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π΅ΡΡ‚ΡŒ влоТСнная функция inner() . ΠœΡ‹ использовали ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова nonlocal для создания нСлокальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Ѐункция inner() ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π² области дСйствия Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ external() .

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ : Если ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ нСлокальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, измСнСния отобразятся Π² локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

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

Python Scopes ΠΈ ΠΈΡ… встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π§Π΅ΠΌΡƒ Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ?

  • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ области Π² Python ΠΈ ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹
  • Какой Ρ‚ΠΈΠΏ области ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΠΎΠ³Π΄Π° для написания эффСктивных ΠΊΠΎΠ΄ΠΎΠ²
  • Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ LEGB ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² областях Python
  • Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ области Python
  • Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, связанныС с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ дСйствия

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия Python?

Π’ Python ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ просто нСдоступны ΠΈΠ· класса, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π³Π΄Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ доступ, зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹. Π§Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»Π΅Π³ΠΊΠΎ доступны ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π² Python ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ называСтся ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ дСйствия.

Π’ΠΈΠΏΡ‹ областСй Π² Python:

Π’ Python сущСствуСт Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ‚ΠΈΠΏΠ° областСй, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: Β 

  • Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия Β Β 
  • Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия 
  • Π’ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия 
  • ВстроСнная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия (с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ)

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия относится ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² основном Ρ‚Π΅Π»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Они Π²ΠΈΠ΄Π½Ρ‹ ΠΈ доступны Π½Π° протяТСнии всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π² глобальной области видимости, Π»Π΅Π³ΠΊΠΎ доступны для всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся с глобальной ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π°.

 сообщСниС = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚"
ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ python_developer():
developer = "Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python!"
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (сообщСниС, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ)
ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ имя_Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° (имя):
ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ(сообщСниС, имя)
python_developer()
имя_Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°("ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ!")
Π’Π«Π₯ΠžΠ”:
ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π΄ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python!
Π­ΠΉ, ΠœΠ°Ρ€ΠΊ! 

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

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия

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

 ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ local_test():
Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = 1
# Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ 1
print("ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: ", Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)
Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ_тСст()
Π’Π«Π₯ΠžΠ”:
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ опрСдСляСт:Β 1
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли Π²Ρ‹ запуститС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄.

 ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ local_test():
Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = 1
print("ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ число: ", Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)
Π’Π«Π₯ΠžΠ”:
Traceback (послСдний послСдний Π²Ρ‹Π·ΠΎΠ²):
Π€Π°ΠΉΠ» "C:/Projects/untitled/basic.py", строка 4, Π² 
print("ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: ", Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)
NameError: имя Β«Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β» Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ 

ΠžΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈΠ»ΠΈ нСлокальная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ

ΠžΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ извСстна ΠΊΠ°ΠΊ нСлокальная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ. Они относятся ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΡ€ΠΎΡ‰Π΅ говоря, эти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π½Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π½ΠΈ Π² локальной, Π½ΠΈ Π² глобальной области видимости. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π²ΠΎ внСшнСй области, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово non-local. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся с ΠΎΠ±ΡŠΠ΅ΠΌΠ»ΡŽΡ‰Π΅ΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ дСйствия с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π°.

 ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ parent_nest():
Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅_Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = 5
Π·Π°Ρ‰ΠΈΡ‚Π° child_nest():
ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅_Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = 10
print("Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: ", initial_value)
print("Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: ", next_value)
child_nest()
parent_nest()
Π’Π«Π₯ΠžΠ”:
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:Β 5
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: Β 10 

ВстроСнная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ

Если пСрСмСнная ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ Π² локальной, глобальной ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΌΠ»ΡŽΡ‰Π΅ΠΉ области, Python Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π΅Π΅ Π²ΠΎ встроСнной области. ВстроСнныС области дСйствия β€” ΠΎΠ΄Π½ΠΈ ΠΈΠ· самых ΡˆΠΈΡ€ΠΎΠΊΠΈΡ… областСй дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ всС Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова. Π˜Ρ… Π»Π΅Π³ΠΊΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π² любом мСстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ… использованиСм, Π±Π΅Π· нСобходимости ΠΈΡ… опрСдСлСния.

По ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ продвигаСмся ΠΊ Π±ΠΎΠ»Π΅Π΅ слоТному использованию области дСйствия Π² Python, ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° Python, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ, примСняя эти ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Python.

ИзмСнСниС повСдСния области Python

ПовСдСниС области Python являСтся строгим. Π₯отя python обСспСчиваСт доступ ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΈΠ· любого мСста, ΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ строго ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ области Python. Π”Π²Π° ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слова, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… Π² Python для измСнСния повСдСния области Python:

  1. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово
  2. Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½ΡƒΡŽ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово global. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово global, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π²Ρ‹ проситС Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ глобально ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ вмСсто создания локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся с этой ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠ΅ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠ΄Π°.

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

 сообщСниС = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚"
ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ python_developer():
глобальноС сообщСниС1
message1 = "Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python!"
print("Π’ сообщСнии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: ", сообщСниС)
python_developer()
print("Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ внСшнСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: ", message1)
сообщСниС
print("Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅: ", сообщСниС)
Π’Π«Π₯ΠžΠ”:
Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: "Π­ΠΉ!
Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ внСшнСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: Β«Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python!
Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅: Β«Π­ΠΉ, 

НСлокальноС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово

Подобно ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌΡƒ слову global, Python Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π΅Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ nonlocal, Π° Π·Π°Ρ‚Π΅ΠΌ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠŸΡ€ΠΈ использовании Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π·Π°ΠΏΡΡ‚ΡƒΡŽ. Π”Π°Π²Π°ΠΉΡ‚Π΅ научимся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π°.

 ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ my_message():
message = "Π­ΠΉ, программисты!" # НСлокальная пСрСмСнная
Π·Π°Ρ‰ΠΈΡ‚Π° влоТСнная():
nonlocal message Β # ΠžΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ Π½Π΅Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ
Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ()
Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ (сообщСниС)
ΠΌΠΎΠ΅ сообщСниС()
Π’Π«Π₯ΠžΠ”:
ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹! 

LEGB ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ

LEGB β€” это сокращСниС ΠΎΡ‚ (Local Enclosing Global Built-in), Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°.

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ LEGB Π² Python – это Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Python ΠΈΡ‰Π΅Ρ‚ области Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ порядкС. НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ ссылочноС имя, Python Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ всС области видимости Π² соотвСтствии с ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ LEGB. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия, Π·Π°Ρ‚Π΅ΠΌ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия, Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π³ ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, просмотр встроСнных областСй дСйствия. Если имя отсутствуСт Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… областСй, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС ΠΎΠ± ошибкС.

ИспользованиС встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, связанных с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ дСйствия

ВстроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python относятся ΠΊ области дСйствия ΠΈ пространству ΠΈΠΌΠ΅Π½ Python. НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ области видимости β€” это globals(), locals(), dirs() ΠΈ vars(), ΠΈ это лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± области видимости ΠΈΠ»ΠΈ пространствС ΠΈΠΌΠ΅Π½ Python. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ встроСны, ΠΎΠ½ΠΈ доступны бСсплатно, ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ ΠΈΡ… ΠΈΠ· ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· модуля.

globals()

Ѐункция globals() относится ΠΊ области видимости ΠΈ пространствам ΠΈΠΌΠ΅Π½ Π² Python. Он обновляСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ символов. Когда Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ globals() Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Ρ‹ ΠΈΠΌΠ΅Π½Π°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ доступ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся с globals() с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π°.

 Π±Π°Π»Π»ΠΎΠ² = 23
Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅()['ΠΎΡ†Π΅Π½ΠΊΠ°'] = 10
print('ΠžΡ†Π΅Π½ΠΊΠ°:', ΠΎΡ†Π΅Π½ΠΊΠ°)
Π’Π«Π₯ΠžΠ”:
ΠžΡ†Π΅Π½ΠΊΠ°: 10 

locals()

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° функция β€” locals(), которая связана с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ дСйствия ΠΈ пространствами ΠΈΠΌΠ΅Π½ Π² Python. Он обновляСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ с ΠΊΠΎΠΏΠΈΠ΅ΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния локальной области Python. Когда Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ locals() Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Ρ‹ ΠΈΠΌΠ΅Π½Π°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ локально ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся с locals() с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π°.

 # Π‘Π΅Π· использования Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
Π·Π°Ρ‰ΠΈΡ‚Π° test_1():
print("НСт локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ: ", locals())
# ИспользованиС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…
Π·Π°Ρ‰ΠΈΡ‚Π° test_2():
Π―Π·Ρ‹ΠΊ = "ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python"
print("Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная: ", locals())
тСст_1()
тСст_2()
Π’Π«Π₯ΠžΠ”:
НСт локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ :Β {}
Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная: Β {'Language': 'Python Programming'} 

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π΅Ρ‰Π΅ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ΄:

 def test():
ΠΎΡ†Π΅Π½ΠΊΠ° = 10
мСстныС ΠΆΠΈΡ‚Π΅Π»ΠΈ () ['счСт'] = 200
print('ΠžΡ†Π΅Π½ΠΊΠ°:', ΠΎΡ†Π΅Π½ΠΊΠ°)
тСст()
Π’Π«Π₯ΠžΠ”:
Π‘Ρ‡Π΅Ρ‚: 10 

dir()

ВаТная встроСнная функция dir() относится ΠΊ области видимости ΠΈ пространствам ΠΈΠΌΠ΅Π½ Π² python. Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список допустимых Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ dir() отличаСтся для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° Π½Π°Ρ†Π΅Π»Π΅Π½Π° Π½Π° созданиС Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π° Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся с dir() с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π°.

 Π±Π°Π»Π»ΠΎΠ² = [5, 2, 3]
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Ρ€Π΅ΠΆΠΈΠΌ (Π±Π°Π»Π»Ρ‹))
print('\n Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ значСния ΠΈΠ· пустого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°()')
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (дирСктория ())
Π’Π«Π₯ΠžΠ”:
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__' , ' __gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new __' , '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setItem__', '__sizeof__', '__str__', '__subclasshouk ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ», Β«ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΒ», Β«Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒΒ», Β«ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ», Β«Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΒ», Β«ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒΒ», Β«ΡƒΠ΄Π°Π»ΡΡ‚ΡŒΒ», Β«ΠΏΠ΅Ρ€Π΅Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΒ», Β«ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ»]
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ значСния ΠΈΠ· пустого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°()
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'scores'] 

vars()

Ѐункция vars() β€” Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° встроСнная функция, связанная с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ дСйствия ΠΈ пространствами ΠΈΠΌΠ΅Π½ Π² Python. Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ __dict__ для ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, классов, экзСмпляров ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ __dict__ β€” это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Python для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ пространств ΠΈΠΌΠ΅Π½. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ пропуститС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ vars(), ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ вСсти сСбя ΠΊΠ°ΠΊ locals(). Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся с vars() с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ΄Π°.

 класс Π‘Π°Π»Π»Ρ‹:
def __init__(self, Roll_1 = "Алиса", Roll_2 = "Π‘Π΅Π»Π»Π°", Roll_3 = "Π—ΠΎΠ»ΡƒΡˆΠΊΠ°"):
self.Roll_1 = Roll_1
self.Roll_2 = Roll_2
self.Roll_3 = Roll_2
счСт = Π±Π°Π»Π»Ρ‹ ()
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ (ΠΎΡ†Π΅Π½ΠΊΠ°))
Π’Π«Π₯ΠžΠ”:
{'Roll_1': 'Алиса', 'Roll_2': 'Π‘Π΅Π»Π»Π°', 'Roll_3': 'Π‘Π΅Π»Π»Π°'} 

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅:

ΠžΠ±Π»Π°ΡΡ‚ΠΈ дСйствия Python эффСктивны для написания Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΈ эффСктивного ΠΊΠΎΠ΄Π° самым простым ΠΈ тСхничСски ΠΏΠΎΠ΄ΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΌ способом. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΈ опрСдСляСтся слоТным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибок, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΈΠ·-Π·Π° ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° ΠΈΠΌΠ΅Π½ ΠΈΠ»ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ использования Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½, ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»Π°.

Помимо встроСнной области видимости Π² Python, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости.