python мСню в консоли

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ мСню Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΌ запросС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список доступных ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «Exit», ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ.
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «1», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ Π²Π²ΠΎΠ΄ строки ΠΈ вносит Π΅Ρ‘ Π² список строк.
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «2», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ Π²Π²ΠΎΠ΄ числа ΠΈ вносит Π΅Π³ΠΎ Π² список чисСл.
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «3», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: «ΠΏΡ€ΡΠΌΠΎΠΉ», «ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ» ΠΈΠ»ΠΈ «Π½Π°Π·Π°Π΄».
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΠΏΡ€ΡΠΌΠΎΠΉ», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ тСкст, сформированный ΠΈΠ· строк ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка Π² порядкС ΠΈΡ… Π²Π²ΠΎΠ΄Π°.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строки ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка Π² порядкС, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядку ΠΈΡ… Π²Π²ΠΎΠ΄Π°.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «Π½Π°Π·Π°Π΄», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΅ΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ (Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ) ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· списка ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «4», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: «ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ», «ΡΡƒΠΌΠΌΠ°», «ΡΡ€Π΅Π΄Π½Π΅Π΅» ΠΈΠ»ΠΈ «Π½Π°Π·Π°Π΄».
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ количСство чисСл Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΡΡƒΠΌΠΌΠ°», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ считаСт сумму чисСл Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΡΡ€Π΅Π΄Π½Π΅Π΅», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ считаСт срСднСС арифмСтичСскоС чисСл Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «Π½Π°Π·Π°Π΄», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΅ΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ (Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ) ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· списка ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ трСбования.
1. Π’ случаС Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²Ρ‘Π» Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ увСдомляСт Π΅Π³ΠΎ ΠΎΠ± этом ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ввСсти ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ.
2. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΎ тСкстовыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² любом рСгистрС (Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π·Π°Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, строчными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹ΠΌ рСгистром).

Π‘ΡƒΠ΄Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΎΡ‡Π΅Π½ΡŒ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ Π·Π° ΡΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ консоль, ΠΎΡ‡Π΅Π½ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π² ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ сроки.

МСню Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
Π΅ΡΡ‚ΡŒ ошибки Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ #include #include #include #include.

python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ python мСню Π² консоли. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ python мСню Π² консоли. Π€ΠΎΡ‚ΠΎ python мСню Π² консолиМСню Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
Π•ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π—Π°Π΄Π°ΡŽ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ вопрос: Dim key As String Console.WriteLine(«Π‘ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.

python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ python мСню Π² консоли. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ python мСню Π² консоли. Π€ΠΎΡ‚ΠΎ python мСню Π² консолиМСню Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
Π”ΠΎΠ±Ρ€ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ суток. Π’ΠΎΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ интСрфСйс Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π― Π΅Π³ΠΎ сдСлал с.

РСшСниС

НуТно Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ ΡΠ΄Π΅Π»Π°Π½Π½ΡƒΡŽ консоль, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ список ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, я Π²Π²ΠΎΠΆΡƒ «1», консоль Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ «Π²Π²Π΅Π΄ΠΈΡ‚Π΅ строку:» я Π²Π²ΠΎΠΆΡƒ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ «2», ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° «2» вносит Π² список строк.
Π”ΡƒΠΌΠ°ΡŽ смысл понятСн)) НуТны Π² ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ сроки, ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π±ΡƒΠ΄Ρƒ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ Π½Π° ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅.))
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «1», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ Π²Π²ΠΎΠ΄ строки ΠΈ вносит Π΅Ρ‘ Π² список строк.
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «2», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ Π²Π²ΠΎΠ΄ числа ΠΈ вносит Π΅Π³ΠΎ Π² список чисСл.
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «3», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: «ΠΏΡ€ΡΠΌΠΎΠΉ», «ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ» ΠΈΠ»ΠΈ «Π½Π°Π·Π°Π΄».
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΠΏΡ€ΡΠΌΠΎΠΉ», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ тСкст, сформированный ΠΈΠ· строк ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка Π² порядкС ΠΈΡ… Π²Π²ΠΎΠ΄Π°.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строки ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ списка Π² порядкС, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядку ΠΈΡ… Π²Π²ΠΎΠ΄Π°.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «Π½Π°Π·Π°Π΄», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΅ΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ (Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ) ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· списка ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.
— Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²ΠΎΠ΄ΠΈΡ‚ «4», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ Π½Π΅Π³ΠΎ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ: «ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ», «ΡΡƒΠΌΠΌΠ°», «ΡΡ€Π΅Π΄Π½Π΅Π΅» ΠΈΠ»ΠΈ «Π½Π°Π·Π°Π΄».
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ количСство чисСл Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΡΡƒΠΌΠΌΠ°», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ считаСт сумму чисСл Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «ΡΡ€Π΅Π΄Π½Π΅Π΅», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ считаСт срСднСС арифмСтичСскоС чисСл Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ спискС.
Β· Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Π°Π» «Π½Π°Π·Π°Π΄», Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΅ΠΌΡƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ (Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ) ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· списка ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.

Π‘Π°ΠΌ Π½Π°ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ сдСланная консоль:

python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ python мСню Π² консоли. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ python мСню Π² консоли. Π€ΠΎΡ‚ΠΎ python мСню Π² консолиБозданиС мСню Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
ЗдравствуйтС! НСдавно почувствовал ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… знаниях C#. РСшил ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΡƒΡŽ.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ мСню Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈ навигация ΠΏΠΎ Π½Π΅ΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ клавиш
Π£ мСня стоит такая Π·Π°Π΄Π°Ρ‡Π°, допустим Π΅ΡΡ‚ΡŒ Π² консолС такая мСнюшка: Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ дСйствиС: 1) ΠΏΠ΅Ρ€Π²ΠΎΠ΅.

ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ контСкстноС мСню ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ мишки Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ с++
Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ мишки ΠΌΠ΅Π½ΡΡ‚ΡŒ полоТСния корабля, Π½ΠΎ Π²Ρ‹Π»Π°Π·ΠΈΡ‚ это ΠΎΠΊΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π΅Π³ΠΎ.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ класс TStud
Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² консольном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ класс TStud, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ поля: имя, фамилия, Π³Ρ€ΡƒΠΏΠΏΠ°, рост, вСс. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹.

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

МСню ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° python

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽ Вас, ΠΊΠΎΠ»Π»Π΅Π³ΠΈ. МСня Π·ΠΎΠ²ΡƒΡ‚ Рустам, я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π² нСбольшой ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, которая занимаСтся web-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ сайтов.

ΠžΡ‡Π΅Π½ΡŒ часто Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Π²ΠΎΠ΄Π° Π² консоль Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, пСрСсборка Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π°, запуск/остановка Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ окруТСния Π½Π° Π½ΠΎΠ²ΠΎΠΌ дСвСлопСрском ΠΊΠΎΠΌΠΏΠ΅ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ.

Π­Ρ‚ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ΠΌ Ρ‚ΠΎ Π½Π΅ слоТно, Π½ΠΎ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ вСсьма рСгулярно, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ повторСния, ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ Π² Ρ€ΡƒΡ‚ΠΈΠ½Ρƒ.

И Π²ΠΎΡ‚, собствСнно, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° идСя ΠΊΠ°ΠΊ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° это Π²ΠΎΡ‚ всС, максимально упростив процСсс, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π² Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½Π°Π±ΠΎΡ€Ρ‹ часто ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… дСйствий Π² ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ мСню Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π² консоль.

Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠΈΠ» Π½Π° Python Ρ‚.ΠΊ. ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ ΠΎΠ½ установлСн Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ дистрибутивах линукс, ΠΈ для использования Π½Π΅ потрСбуСтся установки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π½Π΅Ρ‡Ρ‚ΠΎ вСсьма ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ доступноС для клонирования c Π³ΠΈΡ‚Ρ…Π°Π±.

ВсС настройки (Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ) хранятся Π² Ρ„Π°ΠΉΠ»Π΅ menu.yml.
Π€Π°ΠΉΠ» настроСк ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ снабТСн всСми Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ комСнтариями, Π½ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС стало Π΅Ρ‰Π΅ понятнСй Π΅ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±Π΅ (https://github.com/hrustbb2/env-example).

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ состоящСС ΠΈΠ· Ρ‚Ρ€Π΅Ρ… docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² (php, mysql, nginx) с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°ΠΌΠΈ для Π΄Π΅Π²Π΅Π»ΠΎΠΏ ΠΈ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ ΠΈ двумя ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ сцСнариями дСплоя Π² этих окруТСниях.

Π Π°Π·Π²Π΅Ρ€Π½Π΅ΠΌ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Π΄Π΅Π²Π΅Π»ΠΎΠΏ-Ρ€Π΅ΠΆΠΈΠΌΠ΅, для этого Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ 1, проваливаСмся Π² подмСню:

Π—Π΄Π΅ΡΡŒ Π²Π½Π°Ρ‡Π°Π»Π΅ создадим наши ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π²Ρ‹Π±Ρ€Π°Π² 1, послС Ρ‡Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΈ ввСсти имя прилоТСния. Π—Π΄Π΅ΡΡŒ Ρ…ΠΎΡ‡Ρƒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π’Π°ΡˆΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для выполнСния Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ввСсти лишь ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π΄Π°Π»Π΅Π΅ ΠΎΠ½ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² env.ini Ρ„Π°ΠΉΠ» ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ запускС Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΡ… Π½Π΅ трСбуСтся. Π—Π°Ρ‚Π΅ΠΌ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Π² ΠΏΠΎΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ созданиС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², запустим скрипт для дСплоя самого прилоТСния, Π²Ρ‹Π±Ρ€Π°Π² 2.

Π’ΠΎΡ‚ ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ всС, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ localhost ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

МнС ΠΈ ΠΌΠΎΠΈΠΌ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ принСс Π½Π΅ΠΌΠ°Π»ΠΎ ΠΏΠΎΠ»ΡŒΠ·Ρ‹, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΠ² ΠΈΠΌ Ρ‚Ρ€ΡƒΠ΄, надСюсь инструмСнт Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΈ Π²Π°ΠΌ.

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

ПишСм инструмСнты ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π½Π° Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Click

ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ

ПишСм инструмСнты ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π½Π° Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Click

python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ python мСню Π² консоли. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ python мСню Π² консоли. Π€ΠΎΡ‚ΠΎ python мСню Π² консоли

Python β€” нСвСроятно Π³ΠΈΠ±ΠΊΠΈΠΉ язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ€ΠΎΡˆΠΎ интСгрируСтся с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. НСмало Python-ΠΊΠΎΠ΄Π° написано Π² Π²ΠΈΠ΄Π΅ скриптов ΠΈ интСрфСйсов ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки (CLI).

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ интСрфСйсы ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки β€” эффСктивная Π²Π΅Ρ‰ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ практичСски всё Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Как слСдствиС, эти интСрфСйсы с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‚Π°Ρ‚ΡŒ довольно слоТными.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ всё начинаСтся с простого скрипта Π½Π° Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚. НапримСр, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ доступ ΠΊ Π²Π΅Π±-API ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² консоль:

Как ΠΈ Π±Ρ‹Π»ΠΎ сказано, довольно простой скрипт.

Но Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° подобная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° растёт ΠΈ становится всё Π±ΠΎΠ»Π΅Π΅ слоТной?

РСшСниСм этого вопроса ΠΌΡ‹ сСгодня ΠΈ займёмся. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎΠ± основах написания интСрфСйсов ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π½Π° Python ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ click позволяСт ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ этот процСсс.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эти знания, ΠΌΡ‹ шаг Π·Π° шагом ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ ΠΎΡ‚ простого скрипта ΠΊ интСрфСйсу ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, опциями ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ инструкциями ΠΏΠΎ использованию. Всё это ΠΌΡ‹ сдСлаСм с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ click.

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

Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всё это с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ количСством шаблонного ΠΊΠΎΠ΄Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ° Код Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ написан Π½Π° Python 3.6, Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ Π½Π° Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½ΠΈΡ… вСрсиях Π½Π΅ гарантируСтся.

Π—Π°Ρ‡Π΅ΠΌ Π²Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты ΠΈ инструмСнты для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π½Π° Python?

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

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

Π—Π΄Π΅ΡΡŒ приходят Π½Π° Π²Ρ‹Ρ€ΡƒΡ‡ΠΊΡƒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠ°ΠΊ optparse ΠΈ argparse, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ Π½Π°ΡˆΡƒ Тизнь Π½Π° порядок ΠΏΡ€ΠΎΡ‰Π΅. Но ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ с Π½ΠΈΠΌΠΈ познакомимся, Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрёмся с Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ.

ΠžΡΠ½ΠΎΠ²Ρ‹ интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки (CLI) начинаСтся с ΠΈΠΌΠ΅Π½ΠΈ исполняСмого Ρ„Π°ΠΉΠ»Π°. Π’Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ имя Π² консоль ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ доступ ΠΊ Π³Π»Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ Π²Ρ…ΠΎΠ΄Π° скрипта, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ pip.

Π’ зависимости ΠΎΡ‚ слоТности CLI ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ скрипту:

Π‘ Π±ΠΎΠ»Π΅Π΅ слоТными CLI, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ pip ΠΈΠ»ΠΈ Heroku CLI, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ доступ ΠΊ Π½Π°Π±ΠΎΡ€Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ собраны ΠΏΠΎΠ΄ Π³Π»Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π²Ρ…ΠΎΠ΄Π°. Они ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ.

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой, доступныС Π² стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Python 3.x

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² ваши скрипты ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡ… Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅, Π½ΠΎ ΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку Π½Π΅ Ρ‚Π°ΠΊ просто, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ. Однако вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Π»ΡƒΡ‡ΡˆΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сдСлали это Π·Π° вас.

Π”Π²Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстных ΠΏΠ°ΠΊΠ΅Ρ‚Π° для этого β€” optparse ΠΈ argparse. Они ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ‚ΡƒΠ΄Π° ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ «всё Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎΒ».

По большСй части ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ схоТим ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ optparse Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ начиная с Python 3.2, ΠΈ argparse считаСтся стандартом для создания CLI Π² Python.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Π½ΠΈΡ… большС Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Python, Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ прСдставлСниС, ΠΊΠ°ΠΊ выглядит скрипт с argparse, посмотритС Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅:

click ΠΏΡ€ΠΎΡ‚ΠΈΠ² argparse: Π»ΡƒΡ‡ΡˆΠ°Ρ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°?

ВСроятно, Π²Ρ‹ смотритС Π½Π° этот ΠΊΠΎΠ΄ ΠΈ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅: Β«Π§Ρ‚ΠΎ это всё Π·Π½Π°Ρ‡ΠΈΡ‚?Β» И это являСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ argparse: ΠΊΠΎΠ΄ с Π½ΠΈΠΌ Π½Π΅ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π΅Π½ ΠΈ слоТночитаСм.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΡ‚ΡŒΡΡ click.

Click Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΈ optparse ΠΈ argparse, Π½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°Ρ‡Π΅. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Ρ‹, поэтому ваши ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ функциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ этими Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ.

Π‘ click Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ CLI с нСбольшим количСством ΠΊΠΎΠ΄Π°. И этот ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ваш CLI вырастСт ΠΈ станСт Π±ΠΎΠ»Π΅Π΅ слоТным.

ПишСм простой CLI Π½Π° Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ click

Π’Π΄ΠΎΠ²ΠΎΠ»ΡŒ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ² ΠΎ CLI ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ…, Π΄Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ простой CLI с click. Как ΠΈ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ создаём простой CLI, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² консоль. Π­Ρ‚ΠΎ нСслоТно:

НС ΠΏΡƒΠ³Π°ΠΉΡ‚Π΅ΡΡŒ послСдних Π΄Π²ΡƒΡ… строк: это Ρ‚ΠΎ, ΠΊΠ°ΠΊ Python запускаСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ main ΠΏΡ€ΠΈ исполнСнии Ρ„Π°ΠΉΠ»Π° ΠΊΠ°ΠΊ скрипта.

Π‘ΠΎΠ»Π΅Π΅ рСалистичный ΠΏΡ€ΠΈΠΌΠ΅Ρ€ CLI Π½Π° Python с использованиСм click

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ click ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ написаниС CLI, Π΄Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° Π±ΠΎΠ»Π΅Π΅ рСалистичный ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠœΡ‹ напишСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая позволяСт Π½Π°ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π²Π΅Π±-API.

API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ дальшС Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, β€” OpenWeatherMap API. Он прСдоставляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ³ΠΎΠ΄Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ· Π½Π° ΠΏΡΡ‚ΡŒ Π΄Π½Π΅ΠΉ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ мСстополоТСния. ΠœΡ‹ Π½Π°Ρ‡Π½Ρ‘ΠΌ с тСстового API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΠ³ΠΎΠ΄Ρƒ для мСста.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ Π½Π°Ρ‡Π½Ρ‘ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π΄Π°Π²Π°ΠΉΡ‚Π΅ познакомимся с API. Для этого ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСрвис HTTPie, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠ½Π»Π°ΠΉΠ½-Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π».

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, Ρ‡Ρ‚ΠΎ случится, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ обратимся ΠΊ API с Π›ΠΎΠ½Π΄ΠΎΠ½ΠΎΠΌ Π² качСствС мСстополоТСния:

Если Π²Ρ‹ смущСны Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ API-ΠΊΠ»ΡŽΡ‡Π° Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ свСрху, Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅, это тСстовый API-ΠΊΠ»ΡŽΡ‡, прСдоставляСмый сСрвисом.

Π‘ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅ наблюдСниС Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ отправляСм Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° (ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅ΠΌΡ‹Π΅ == ΠΏΡ€ΠΈ использовании HTTPie), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΠ³ΠΎΠ΄Ρƒ:

Π­Ρ‚ΠΎ позволяСт Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° Python с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ requests (опустим ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… запросов для простоты):

Π­Ρ‚Π° функция Π΄Π΅Π»Π°Π΅Ρ‚ простой запрос ΠΊ API, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. Π’ качСствС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΎΠ½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ location (мСстополоТСниС), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ строкой. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ API-ΠΊΠ»ΡŽΡ‡, пСрСдавая ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ api_key ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ тСстовый ΠΊΠ»ΡŽΡ‡.

И Π²ΠΎΡ‚ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΠ³ΠΎΠ΄Ρƒ Π² Python REPL:

ΠŸΠ°Ρ€ΡΠΈΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ с click

ΠŸΡ€ΠΎΡΡ‚Π°Ρ функция current_weather позволяСт Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ CLI с мСстополоТСниСм, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Как Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, догадались, мСстополоТСниС β€” это Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΎ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ для нашСго ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎΠ³ΠΎ CLI.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²ΠΎΠ·ΡŒΠΌΡ‘ΠΌ наш ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ слСгка ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π΅Π³ΠΎ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ location :

Если этот print выглядит для вас странно, Π½Π΅ Π²ΠΎΠ»Π½ΡƒΠΉΡ‚Π΅ΡΡŒ β€” это Π½ΠΎΠ²Ρ‹ΠΉ способ форматирования строк Π² Python 3.6+, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся f-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

Как Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, всё, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ ΠΊ нашСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ main ΠΈ Π΄Π°Ρ‚ΡŒ Π΅ΠΌΡƒ имя. Click ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ имя Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ‘Ρ€Π½ΡƒΡ‚ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊΠ° Имя Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ΅ click, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π² объявлСнии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

РСализация main просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π½Π°ΡˆΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ current_weather для получСния ΠΏΠΎΠ³ΠΎΠ΄Ρ‹ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ мСстС. И Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ print Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ.

ΠŸΠ°Ρ€ΡΠΈΠΌ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ с click

Как Π²Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, догадались, тСстовый API ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ нас Π² возмоТностях. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ, Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ настоящий API-ΠΊΠ»ΡŽΡ‡.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, β€” URL, ΠΎΡ‚ΠΊΡƒΠ΄Π° бСрутся Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ³ΠΎΠ΄Π΅. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ url Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ current_weather Π½Π° URL, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ OpenWeatherMap:

ΠŸΡ€ΠΎΡ‰Π΅ простого. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ ΠΊ нашСй ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅:

ΠœΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ свой собствСнный ΠΊΠ»ΡŽΡ‡ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΏΠΎΠ³ΠΎΠ΄Ρƒ Π² любом мСстС:

ДобавляСм автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ инструкции ΠΏΠΎ использованию

ΠœΠΎΠΆΠ΅Ρ‚Π΅ сСбя ΠΏΠΎΡ…Π²Π°Π»ΠΈΡ‚ΡŒ, Π²Ρ‹ создали ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ нСбольшой CLI ΠΏΠΎΡ‡Ρ‚ΠΈ Π±Π΅Π· шаблонного ΠΊΠΎΠ΄Π°. Однако ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΎΡ‚Π΄ΠΎΡ…Π½ΡƒΡ‚ΡŒ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ убСдимся, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ нашим CLI, ΠΏΡƒΡ‚Ρ‘ΠΌ добавлСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. НС Π±ΠΎΠΉΡ‚Π΅ΡΡŒ, всё Π±ΡƒΠ΄Π΅Ρ‚ просто.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, это Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ описаниС для нашСй ΠΎΠΏΡ†ΠΈΠΈ с API-ΠΊΠ»ΡŽΡ‡ΠΎΠΌ. Всё, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ для этого Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, – Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ справочный тСкст Π² Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ @click.option :

Π‘Π»ΠΎΠΆΠΈΠ² всё вмСстС, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄ для нашСго инструмСнта:

Подводим ΠΈΡ‚ΠΎΠ³ΠΈ

Π˜Ρ‚Π°ΠΊ, Π² этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ рассмотрСли ΠΌΠ½ΠΎΠ³ΠΎ всСго. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π³ΠΎΡ€Π΄ΠΈΡ‚ΡŒΡΡ собой, Π²Ρ‹ написали свой собствСнный CLI, ΠΈ всё это с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ количСством шаблонного ΠΊΠΎΠ΄Π°! Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅ Π΄ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ это. НС ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для собствСнных экспСримСнтов:

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

БозданиС мСню / tkinter 10

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

Tkinter ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ мСню, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΈ ΠΎΡ‰ΡƒΡ‰Π°ΡŽΡ‚ΡΡ Π² соотвСтствии с ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π­Ρ‚ΠΎ позволяСт Π½Π΅ ΡΠΈΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ², вСдь ΠΈΠ·-Π·Π° этого ΠΏΡ€ΠΎΠΏΠ°Π΄Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ встроСнными кроссплатформСнными особСнностями Tkinter.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ мСню Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ со Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ мСню. Π’ Windows 10 это отобраТаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ python мСню Π² консоли. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ python мСню Π² консоли. Π€ΠΎΡ‚ΠΎ python мСню Π² консоли

Если Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ это скрипт, Ρ‚ΠΎ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ элСмСнт Π€Π°ΠΉΠ» ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ мСню, Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π’Ρ‹ΠΉΡ‚ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ созданиС Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ мСню

Π‘Π½Π°Ρ‡Π°Π»Π° создаСм экзСмпляр ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ мСню, указывая Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1 Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° tearoff ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ мСню ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π½Π° Π³Ρ€Π°Π½ΠΈΡ†Π΅. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎ для Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ мСню, Π½ΠΎ Ссли Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, Ρ‚ΠΎ стоит Π·Π°Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 для этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°:

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ мСню ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²: add_command , app_separator ΠΈ add_cascade :

ИспользованиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² мСню

Помимо Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… встроСнных мСню Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Tkinter ΠΊ элСмСнтам мСню.

Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ-Ρ„Π»Π°ΠΆΠΎΠΊ ΠΈ Ρ‚Ρ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ Π² подмСню Β«ΠžΠΏΡ†ΠΈΠΈΒ», Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ² ΠΈΡ… ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Π’Π½ΡƒΡ‚Ρ€ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Tkinter, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сохранят Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ значСния Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… прилоТСния:

python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ python мСню Π² консоли. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ python мСню Π² консоли. Π€ΠΎΡ‚ΠΎ python мСню Π² консоли

Π‘ΡƒΠ΄Π΅ΠΌ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ значСния Π² консоли Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ созданиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² мСню

Π‘Ρ‚ΠΎΠΈΡ‚ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ onvalue ΠΈ offvalue Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Tkinter ΠΊΠ°ΠΊ ΠΈ Π² случаС с Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°ΠΌΠΈ RadioButton ΠΈ Checkbutton :

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ контСкстных мСню

МСню Tkinter Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ располоТСны Π² строкС мСню. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² любом мСстС. Π’Π°ΠΊΠΈΠ΅ мСню Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ контСкстными, ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΠΎ элСмСнту.

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

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ контСкстноС мСню для Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Text, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ распространСнныС дСйствия Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°Ρ… тСкста: Π’Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ, ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈ Π£Π΄Π°Π»ΠΈΡ‚ΡŒ:

python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ python мСню Π² консоли. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ python мСню Π² консоли. Π€ΠΎΡ‚ΠΎ python мСню Π² консоли

ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² элСмСнтах мСню Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ тСкст для получСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ выдСлСния ΠΈΠ»ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ для вставки:

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ интСрфСйсов ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки (CLI) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Fire Π² Python

python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ python мСню Π² консоли. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ python мСню Π² консоли. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ python мСню Π² консоли. Π€ΠΎΡ‚ΠΎ python мСню Π² консоли

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки (CLI), прСдставляСт собой способ взаимодСйствия с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ тСкстовых ΠΊΠΎΠΌΠ°Π½Π΄.

Π­Ρ‚ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π½Π°ΠΌ Π² написании сцСнариСв CLI, прСдоставляя Ρ‚Π°ΠΊΠΈΠ΅ услуги, ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Ρ„Π»Π°Π³ΠΈ, для Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ CLI.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ обсуТдаСтся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python Fire, написанная Google Inc., ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт для создания интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.

ΠžΠ±Ρ‰Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ CLI

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, прСдоставив Π΅ΠΉ список Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π±ΠΎΠ»Π΅Π΅ извСстных ΠΊΠ°ΠΊ Ρ„Π»Π°Π³ΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ„Π»Π°Π³ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ls :

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ ΠΈ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ:

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки прСдоставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ простой способ настройки ΠΈ запуска прилоТСния ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python Fire позволяСт Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² любой ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ скрипт Python.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python Fire.

Установка

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΠΈ установим Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ pip :

Python Fire Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π»ΡŽΠ±Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Python, Ρ‚.Π΅. функциями, классами, словарями, списками ΠΈ Ρ‚. Π΄. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python Fire Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ прилоТСния CLI с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python Fire

Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, создадим сцСнарий fire_cli.py ΠΈ помСстим Π² Π½Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

ΠŸΡ€ΠΈ запускС этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ Python Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚:

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ этот скрипт Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ CLI, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Python Fire:

Π’Ρ‹Π·ΠΎΠ² fire.Fire() ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ‚.Π΅. fire_cli.py Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Fire CLI. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, функция greet_mankind() автоматичСски отобраТаСтся ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ сцСнарий ΠΊΠ°ΠΊ CLI ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ качСствС напоминания Π΄Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся с Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ:

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π΅

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ CLI, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ имя Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ настраиваСмоС привСтствСнноС сообщСниС:

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки:

Установка Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² качСствС Ρ‚ΠΎΡ‡ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π°

Π‘ нСбольшими измСнСниями ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ greetings() Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π΅ ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΡ‹ сСйчас запустим ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π Π°Π·Π±ΠΎΡ€ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΡ‹ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки:

Π’ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ смСщСния 2:

АргумСнты конструктора всСгда ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ с использованиСм синтаксиса Ρ„Π»Π°Π³Π°, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΈΠ»ΠΈ функциям ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ:

Π€Π»Π°Π³ΠΈ Fire

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для тСстирования ΠΊΠΎΠΌΠ°Π½Π΄:

Π’Ρ‹Π²ΠΎΠ΄

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Python Fire, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ простыС интСрфСйсы ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

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

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

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